From 84b9cbb16b80d7e2b6a59ca929f40429bd8b5c59 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Thu, 21 Jul 2011 22:04:08 -0400 Subject: [PATCH] this is a big one - fixed modal targetting and refactored getText() --- .../src/mage/player/human/HumanPlayer.java | 2 +- Mage.Server/plugins/mage-player-human.jar | Bin 12995 -> 12992 bytes .../mage/sets/alarareborn/FiligreeAngel.java | 5 +- .../mage/sets/alarareborn/IdentityCrisis.java | 7 +- .../sets/alarareborn/VengefulRebirth.java | 6 +- .../mage/sets/apocalypse/DesolationAngel.java | 5 +- .../mage/sets/apocalypse/ManaclesOfDecay.java | 12 +-- .../mage/sets/apocalypse/TranquilPath.java | 6 +- .../championsofkamigawa/AkkiLavarunner.java | 5 +- .../championsofkamigawa/AuraOfDominion.java | 5 +- .../championsofkamigawa/BudokaGardener.java | 7 +- .../sets/championsofkamigawa/CageOfHands.java | 6 +- .../sets/championsofkamigawa/CallToGlory.java | 5 +- .../sets/championsofkamigawa/Cleanfall.java | 5 +- .../championsofkamigawa/DeathcurseOgre.java | 34 +------ .../championsofkamigawa/GhostlyPrison.java | 5 +- .../sets/championsofkamigawa/HanabiBlast.java | 5 +- .../HikariTwilightGuardian.java | 5 +- .../championsofkamigawa/KitsuneHealer.java | 6 +- .../KokushoTheEveningStar.java | 5 +- .../sets/championsofkamigawa/Mindblaze.java | 7 +- .../sets/championsofkamigawa/PartTheVeil.java | 5 +- .../sets/championsofkamigawa/Soilshaper.java | 5 +- .../championsofkamigawa/SoratamiSeer.java | 5 +- .../TakenoSamuraiGeneral.java | 5 +- .../mage/sets/conflux/InfectiousHorror.java | 5 +- .../src/mage/sets/conflux/MartialCoup.java | 6 +- .../src/mage/sets/conflux/PathToExile.java | 6 +- .../src/mage/sets/conflux/QuenchableFire.java | 6 +- .../src/mage/sets/conflux/SoulsMajesty.java | 5 +- .../mage/sets/conflux/WallOfReverence.java | 7 +- .../sets/darksteel/DarksteelColossus.java | 5 +- .../src/mage/sets/darksteel/Soulscour.java | 5 +- .../mage/sets/eventide/DeathbringerLiege.java | 5 +- .../mage/sets/eventide/RecumbentBliss.java | 6 +- .../src/mage/sets/guildpact/AgentOfMasks.java | 5 +- .../sets/guildpact/GhostCouncilOfOrzhova.java | 10 +- .../mage/sets/magic2010/AwakenerDruid.java | 6 +- Mage.Sets/src/mage/sets/magic2010/Duress.java | 6 +- .../src/mage/sets/magic2010/Earthquake.java | 5 +- .../src/mage/sets/magic2010/Fireball.java | 5 +- .../mage/sets/magic2010/HauntingEchoes.java | 5 +- .../mage/sets/magic2010/HowlingBanshee.java | 38 +------ .../src/mage/sets/magic2010/IceCage.java | 6 +- .../src/mage/sets/magic2010/LilianaVess.java | 5 +- .../sets/magic2010/MasterOfTheWildHunt.java | 5 +- .../src/mage/sets/magic2010/MindSpring.java | 5 +- .../src/mage/sets/magic2010/Oakenform.java | 6 +- .../src/mage/sets/magic2010/PalaceGuard.java | 5 +- .../mage/sets/magic2010/PlanarCleansing.java | 5 +- .../src/mage/sets/magic2010/ProteanHydra.java | 12 +-- .../mage/sets/magic2010/RiseFromTheGrave.java | 5 +- .../src/mage/sets/magic2010/Silence.java | 6 +- Mage.Sets/src/mage/sets/magic2010/Sleep.java | 10 +- .../mage/sets/magic2010/TempestOfLight.java | 5 +- .../src/mage/sets/magic2010/TimeWarp.java | 5 +- .../src/mage/sets/magic2010/Weakness.java | 5 +- .../mage/sets/magic2011/AngelicArbiter.java | 12 +-- .../src/mage/sets/magic2011/BloodTithe.java | 6 +- .../sets/magic2011/BloodcrazedGoblin.java | 6 +- .../sets/magic2011/CaptivatingVampire.java | 5 +- .../mage/sets/magic2011/ChandrasOutrage.java | 6 +- .../mage/sets/magic2011/ConundrumSphinx.java | 6 +- .../src/mage/sets/magic2011/Corrupt.java | 6 +- .../src/mage/sets/magic2011/Cultivate.java | 6 +- .../mage/sets/magic2011/CyclopsGladiator.java | 6 +- .../src/mage/sets/magic2011/DarkTutelage.java | 6 +- .../src/mage/sets/magic2011/DryadsFavor.java | 5 +- .../sets/magic2011/ElixirOfImmortality.java | 6 +- .../src/mage/sets/magic2011/FireServant.java | 5 +- Mage.Sets/src/mage/sets/magic2011/Fling.java | 5 +- .../mage/sets/magic2011/GargoyleSentinel.java | 6 +- .../mage/sets/magic2011/HarborSerpent.java | 5 +- .../mage/sets/magic2011/HoardingDragon.java | 5 +- Mage.Sets/src/mage/sets/magic2011/Incite.java | 5 +- .../src/mage/sets/magic2011/JinxedIdol.java | 5 +- .../sets/magic2011/LeylineOfAnticipation.java | 6 +- .../sets/magic2011/LeylineOfPunishment.java | 12 +-- .../mage/sets/magic2011/LeylineOfTheVoid.java | 6 +- .../mage/sets/magic2011/LilianasSpecter.java | 5 +- .../mage/sets/magic2011/MassPolymorph.java | 5 +- .../src/mage/sets/magic2011/MerfolkSpy.java | 5 +- .../mage/sets/magic2011/MystifyingMaze.java | 6 +- .../mage/sets/magic2011/NecroticPlague.java | 10 +- .../mage/sets/magic2011/ObstinateBaloth.java | 5 +- .../sets/magic2011/OverwhelmingStampede.java | 5 +- .../mage/sets/magic2011/PhylacteryLich.java | 5 +- .../mage/sets/magic2011/SerraAscendant.java | 5 +- .../src/mage/sets/magic2011/ShivsEmbrace.java | 5 +- .../sets/magic2011/SorcerersStrongbox.java | 5 +- .../sets/magic2011/StormtideLeviathan.java | 11 +-- .../src/mage/sets/magic2011/TimeReversal.java | 5 +- .../mage/sets/magic2011/VengefulArchon.java | 6 +- .../mage/sets/magic2011/VolcanicStrength.java | 5 +- .../sets/magic2012/GarrukPrimalHunter.java | 5 +- .../mage/sets/magic2012/GideonsAvenger.java | 2 +- .../src/mage/sets/magic2012/TectonicRift.java | 5 +- Mage.Sets/src/mage/sets/mirrodin/Arrest.java | 5 +- .../mage/sets/mirrodin/ClockworkBeetle.java | 5 +- .../mage/sets/mirrodin/ClockworkCondor.java | 5 +- .../mage/sets/mirrodin/ClockworkDragon.java | 5 +- .../mage/sets/mirrodin/ClockworkVorrac.java | 5 +- .../sets/mirrodin/LifesparkSpellbomb.java | 5 +- .../mirrodinbesieged/BlackSunsZenith.java | 5 +- .../mirrodinbesieged/BlightsteelColossus.java | 5 +- .../sets/mirrodinbesieged/BurntheImpure.java | 8 +- .../sets/mirrodinbesieged/CausticHound.java | 38 +------ .../mirrodinbesieged/CreepingCorrosion.java | 3 - .../sets/mirrodinbesieged/Cryptoplasm.java | 5 +- .../sets/mirrodinbesieged/DivineOffering.java | 5 +- .../mirrodinbesieged/GreenSunsZenith.java | 5 +- .../mirrodinbesieged/HeroOfBladehold.java | 5 +- .../sets/mirrodinbesieged/MorbidPlunder.java | 5 +- .../mirrodinbesieged/PhyrexianRebirth.java | 7 +- .../mirrodinbesieged/PhyrexianVatmother.java | 9 +- .../sets/mirrodinbesieged/PistonSledge.java | 5 +- .../sets/mirrodinbesieged/PistusStrike.java | 6 +- .../mirrodinbesieged/PsychosisCrawler.java | 5 +- .../sets/mirrodinbesieged/ShimmerMyr.java | 6 +- .../mage/sets/mirrodinbesieged/Slagstorm.java | 39 +------- .../sets/newphyrexia/ApostlesBlessing.java | 7 +- .../mage/sets/newphyrexia/BeastWithin.java | 5 +- .../sets/newphyrexia/ChainedThroatseeker.java | 5 +- .../src/mage/sets/newphyrexia/Enslave.java | 6 +- .../mage/sets/newphyrexia/EvilPresence.java | 5 +- .../mage/sets/newphyrexia/ForcedWorship.java | 6 +- .../mage/sets/newphyrexia/GitaxianProbe.java | 5 +- .../mage/sets/newphyrexia/GlisteningOil.java | 5 +- .../src/mage/sets/newphyrexia/MortisDogs.java | 5 +- .../src/mage/sets/newphyrexia/NornsAnnex.java | 5 +- .../sets/newphyrexia/PhyrexianMetamorph.java | 6 +- .../sets/newphyrexia/RuthlessInvasion.java | 5 +- .../mage/sets/newphyrexia/SuturePriest.java | 2 +- .../sets/newphyrexia/SwordOfWarAndPeace.java | 5 +- .../src/mage/sets/newphyrexia/WarReport.java | 5 +- .../sets/planechase/AkromasVengeance.java | 5 +- .../src/mage/sets/planechase/SyphonSoul.java | 5 +- .../mage/sets/riseoftheeldrazi/AllIsDust.java | 5 +- .../riseoftheeldrazi/ConsumingVapors.java | 5 +- .../riseoftheeldrazi/DawnglareInvoker.java | 5 +- .../sets/riseoftheeldrazi/FissureVent.java | 72 ++++++++++++++ .../riseoftheeldrazi/FrostwindInvoker.java | 60 +---------- .../sets/riseoftheeldrazi/GideonJura.java | 6 +- .../sets/riseoftheeldrazi/GoblinArsonist.java | 5 +- .../sets/riseoftheeldrazi/HedronMatrix.java | 5 +- .../InquisitionOfKozilek.java | 6 +- .../sets/riseoftheeldrazi/KhalniHydra.java | 7 +- .../KozilekButcherOfTruth.java | 5 +- .../LinvalaKeeperOfSilence.java | 5 +- .../riseoftheeldrazi/PestilenceDemon.java | 5 +- .../sets/riseoftheeldrazi/SarkhanTheMad.java | 15 +-- .../sets/riseoftheeldrazi/SeaGateOracle.java | 6 +- .../mage/sets/riseoftheeldrazi/SeeBeyond.java | 6 +- .../riseoftheeldrazi/TrainingGrounds.java | 5 +- .../sets/riseoftheeldrazi/UnifiedWill.java | 6 +- .../mage/sets/riseoftheeldrazi/Vendetta.java | 5 +- .../mage/sets/scarsofmirrodin/ArcTrail.java | 5 +- .../sets/scarsofmirrodin/ArgentSphinx.java | 5 +- .../mage/sets/scarsofmirrodin/Asceticism.java | 8 +- .../sets/scarsofmirrodin/AuriokReplica.java | 6 +- .../sets/scarsofmirrodin/Blistergrub.java | 8 +- .../sets/scarsofmirrodin/CarnifexDemon.java | 5 +- .../sets/scarsofmirrodin/ContagionEngine.java | 5 +- .../sets/scarsofmirrodin/CullingDais.java | 5 +- .../sets/scarsofmirrodin/DispenseJustice.java | 5 +- .../sets/scarsofmirrodin/ElspethTirel.java | 10 +- .../mage/sets/scarsofmirrodin/Embersmith.java | 5 +- .../scarsofmirrodin/EngulfingSlagwurm.java | 5 +- .../sets/scarsofmirrodin/Exsanguinate.java | 5 +- .../sets/scarsofmirrodin/FleshAllergy.java | 5 +- .../scarsofmirrodin/FulgentDistraction.java | 7 +- .../scarsofmirrodin/GethLordOfTheVault.java | 5 +- .../scarsofmirrodin/GlimmerpointStag.java | 5 +- .../sets/scarsofmirrodin/Glimmerpost.java | 5 +- .../mage/sets/scarsofmirrodin/GlintHawk.java | 5 +- .../mage/sets/scarsofmirrodin/GoldenUrn.java | 5 +- .../sets/scarsofmirrodin/GrandArchitect.java | 5 +- .../mage/sets/scarsofmirrodin/Grindclock.java | 5 +- .../sets/scarsofmirrodin/HeavyArbalest.java | 5 +- .../scarsofmirrodin/HoardSmelterDragon.java | 5 +- .../mage/sets/scarsofmirrodin/IchorRats.java | 5 +- .../sets/scarsofmirrodin/KothOfTheHammer.java | 10 +- .../sets/scarsofmirrodin/LeoninArbiter.java | 5 +- .../mage/sets/scarsofmirrodin/Lifesmith.java | 5 +- .../sets/scarsofmirrodin/MeltTerrain.java | 5 +- .../mage/sets/scarsofmirrodin/Myrsmith.java | 5 +- .../sets/scarsofmirrodin/NihilSpellbomb.java | 5 +- .../QuicksilverGargantuan.java | 6 +- .../sets/scarsofmirrodin/RatchetBomb.java | 5 +- .../sets/scarsofmirrodin/RazorHippogriff.java | 6 +- .../sets/scarsofmirrodin/SpikeshotElder.java | 5 +- .../sets/scarsofmirrodin/StrataScythe.java | 5 +- .../mage/sets/scarsofmirrodin/TurnToSlag.java | 5 +- .../sets/scarsofmirrodin/VigilForTheLost.java | 5 +- .../sets/scarsofmirrodin/VolitionReins.java | 5 +- .../sets/scarsofmirrodin/WingPuncture.java | 7 +- .../shardsofalara/ElspethKnightErrant.java | 6 +- .../sets/shardsofalara/FlameblastDragon.java | 5 +- .../mage/sets/shardsofalara/Godtoucher.java | 5 +- .../src/mage/sets/tempest/Propaganda.java | 5 +- .../src/mage/sets/tempest/StalkingStones.java | 5 +- Mage.Sets/src/mage/sets/tenth/Condemn.java | 6 +- .../src/mage/sets/tenth/LoyalSentry.java | 5 +- Mage.Sets/src/mage/sets/tenth/Pacifism.java | 6 +- .../src/mage/sets/tenth/PlatinumAngel.java | 6 +- .../src/mage/sets/tenth/RelentlessRats.java | 6 +- Mage.Sets/src/mage/sets/tenth/Traumatize.java | 5 +- .../sets/worldwake/AbyssalPersecutor.java | 6 +- .../src/mage/sets/worldwake/BojukaBog.java | 5 +- .../src/mage/sets/worldwake/EyeOfUgin.java | 5 +- .../src/mage/sets/worldwake/Groundswell.java | 5 +- .../mage/sets/worldwake/HalimarDepths.java | 6 +- .../sets/worldwake/JaceTheMindSculptor.java | 19 +--- .../src/mage/sets/worldwake/NaturesClaim.java | 5 +- .../src/mage/sets/worldwake/PulseTracker.java | 5 +- .../src/mage/sets/worldwake/SearingBlaze.java | 5 +- .../src/mage/sets/worldwake/WalkingAtlas.java | 5 +- .../mage/sets/zendikar/ArmamentMaster.java | 5 +- .../sets/zendikar/BeastmasterAscension.java | 5 +- .../mage/sets/zendikar/BraveTheElements.java | 6 +- .../mage/sets/zendikar/EldraziMonument.java | 6 +- .../src/mage/sets/zendikar/GoblinGuide.java | 5 +- .../mage/sets/zendikar/GoblinWarPaint.java | 5 +- .../src/mage/sets/zendikar/KhalniGem.java | 5 +- .../src/mage/sets/zendikar/NimbusWings.java | 5 +- .../src/mage/sets/zendikar/NissaRevane.java | 6 +- .../src/mage/sets/zendikar/NissasChosen.java | 5 +- .../sets/zendikar/OranRiefTheVastwood.java | 6 +- .../src/mage/sets/zendikar/SpreadingSeas.java | 5 +- .../mage/sets/zendikar/VampireHexmage.java | 6 +- .../mage/sets/zendikar/VinesOfVastwood.java | 10 +- Mage/src/mage/abilities/AbilityImpl.java | 2 +- Mage/src/mage/abilities/Modes.java | 14 +-- .../BeginningOfUpkeepTriggeredAbility.java | 6 +- ...TheEndOfCombatDelayedTriggeredAbility.java | 2 +- .../decorator/ConditionalContinousEffect.java | 15 +-- .../decorator/ConditionalOneShotEffect.java | 11 +-- Mage/src/mage/abilities/effects/Effect.java | 3 +- .../mage/abilities/effects/EffectImpl.java | 26 ++--- Mage/src/mage/abilities/effects/Effects.java | 5 +- .../effects/EntersBattlefieldEffect.java | 5 +- .../common/AddManaOfAnyColorEffect.java | 9 +- .../common/AddPoisonCounterTargetEffect.java | 5 +- .../common/AttacksIfAbleSourceEffect.java | 12 +-- .../common/AttacksIfAbleTargetEffect.java | 7 +- .../effects/common/BasicManaEffect.java | 8 +- .../common/CantCounterControlledEffect.java | 6 +- .../common/CantCounterSourceEffect.java | 6 +- .../common/CantTargetControlledEffect.java | 6 +- .../common/CantTargetControllerEffect.java | 6 +- .../common/CantTargetSourceEffect.java | 6 +- .../common/ChooseNewTargetsTargetEffect.java | 5 +- .../abilities/effects/common/CopyEffect.java | 5 +- .../effects/common/CopyTokenEffect.java | 6 +- .../effects/common/CounterTargetEffect.java | 5 +- .../common/CounterUnlessPaysEffect.java | 5 +- .../CreateDelayedTriggeredAbilityEffect.java | 3 +- .../common/CreateSpecialActionEffect.java | 3 +- .../effects/common/CreateTokenEffect.java | 6 +- .../DamageAllControlledTargetEffect.java | 8 +- .../effects/common/DamageAllEffect.java | 6 +- .../common/DamageControllerEffect.java | 6 +- .../common/DamageEverythingEffect.java | 6 +- .../effects/common/DamageMultiEffect.java | 5 +- .../effects/common/DamagePlayersEffect.java | 69 +++++++++++++ .../effects/common/DamageTargetEffect.java | 5 +- .../effects/common/DamageXTargetEffect.java | 5 +- .../DestroyAllControlledTargetEffect.java | 6 +- .../effects/common/DestroyAllEffect.java | 6 +- .../DestroyAllNamedPermanentsEffect.java | 5 +- .../common/DestroyMultiTargetEffect.java | 93 ++++++++++++++++++ .../common/DestroyNoRegenTargetEffect.java | 5 +- .../effects/common/DestroySourceEffect.java | 6 +- .../effects/common/DestroyTargetEffect.java | 12 +-- .../common/DiscardEachPlayerEffect.java | 5 +- .../effects/common/DiscardTargetEffect.java | 6 +- .../effects/common/DoIfCostPaid.java | 7 +- .../effects/common/DrawCardAllEffect.java | 6 +- .../common/DrawCardControllerEffect.java | 6 +- .../effects/common/DrawCardTargetEffect.java | 7 +- .../common/DrawDiscardControllerEffect.java | 7 +- .../effects/common/DynamicManaEffect.java | 5 +- .../common/EntersBattlefieldTappedEffect.java | 57 ----------- .../effects/common/ExileFromGraveEffect.java | 5 +- .../effects/common/ExileSourceEffect.java | 6 +- .../effects/common/ExileSpellEffect.java | 6 +- .../effects/common/ExileTargetEffect.java | 5 +- .../effects/common/FlipSourceEffect.java | 5 +- .../effects/common/GainLifeEffect.java | 6 +- .../effects/common/GainLifeTargetEffect.java | 6 +- .../common/LoseLifeControllerEffect.java | 5 +- .../effects/common/LoseLifePlayersEffect.java | 70 +++++++++++++ .../effects/common/LoseLifeSourceEffect.java | 7 +- .../effects/common/LoseLifeTargetEffect.java | 7 +- .../abilities/effects/common/ManaEffect.java | 3 - .../effects/common/MustBlockSourceEffect.java | 8 +- .../PlayTargetWithoutPayingManaEffect.java | 5 +- .../common/PreventAllCombatDamageEffect.java | 5 +- .../common/PreventAllDamageSourceEffect.java | 6 +- .../common/PreventAllDamageToEffect.java | 7 +- .../common/PreventDamageFromTargetEffect.java | 7 +- .../common/PreventDamageTargetEffect.java | 5 +- .../PutLibraryIntoGraveTargetEffect.java | 5 +- .../common/PutOnLibraryTargetEffect.java | 5 +- .../common/RegenerateSourceEffect.java | 6 +- .../common/RegenerateTargetEffect.java | 7 +- .../RemoveDelayedTriggeredAbilityEffect.java | 7 +- .../effects/common/ReturnFromExileEffect.java | 6 +- ...romGraveyardToBattlefieldTargetEffect.java | 5 +- ...ourceFromGraveyardToBattlefieldEffect.java | 8 +- ...ReturnSourceFromGraveyardToHandEffect.java | 6 +- .../common/ReturnToHandSourceEffect.java | 6 +- .../common/ReturnToHandSpellEffect.java | 6 +- .../common/ReturnToHandTargetEffect.java | 5 +- .../effects/common/SacrificeAllEffect.java | 5 +- .../effects/common/SacrificeEffect.java | 6 +- .../effects/common/SacrificeSourceEffect.java | 7 +- .../SacrificeSourceUnlessPaysEffect.java | 7 +- .../effects/common/SacrificeTargetEffect.java | 9 +- .../abilities/effects/common/ScryEffect.java | 6 +- .../effects/common/ShuffleSpellEffect.java | 6 +- .../common/SkipEnchantedUntapEffect.java | 6 +- .../common/SkipNextUntapTargetEffect.java | 5 +- .../effects/common/TapSourceEffect.java | 6 +- .../effects/common/TapTargetEffect.java | 9 +- .../common/UntapAllLandsControllerEffect.java | 5 +- .../effects/common/UntapSourceEffect.java | 9 +- .../effects/common/UntapTargetEffect.java | 9 +- .../continious/AddCardTypeAttachedEffect.java | 6 +- .../continious/AddCardTypeTargetEffect.java | 5 +- .../BecomesCreatureSourceEOTEffect.java | 8 +- .../common/continious/BoostAllEffect.java | 6 +- .../continious/BoostControlledEffect.java | 6 +- .../continious/BoostEnchantedEffect.java | 6 +- .../continious/BoostEquippedEffect.java | 6 +- .../continious/BoostOpponentsEffect.java | 6 +- .../BoostPowerToughnessXTargetEffect.java | 5 +- .../continious/BoostPowerXSourceEffect.java | 6 +- .../common/continious/BoostSourceEffect.java | 8 +- .../BoostSourceWhileControlsEffect.java | 5 +- .../common/continious/BoostTargetEffect.java | 5 +- .../continious/CanBlockOnlyFlyingEffect.java | 5 +- .../continious/ControlEnchantedEffect.java | 5 +- .../continious/GainAbilityAllEffect.java | 6 +- .../continious/GainAbilityAttachedEffect.java | 6 +- .../GainAbilityControlledEffect.java | 6 +- .../continious/GainAbilitySourceEffect.java | 9 +- .../continious/GainAbilityTargetEffect.java | 5 +- .../continious/GainControlTargetEffect.java | 5 +- .../GainProtectionFromColorTargetEffect.java | 6 +- .../GainProtectionFromTypeTargetEffect.java | 6 +- .../PlayAdditionalLandsControllerEffect.java | 6 +- .../SetPowerToughnessSourceEffect.java | 8 +- .../SetPowerToughnessTargetEffect.java | 5 +- .../SwitchPowerToughnessSourceEffect.java | 9 +- .../SwitchPowerToughnessTargetEffect.java | 5 +- .../common/counter/AddCountersAllEffect.java | 6 +- .../counter/AddCountersControllerEffect.java | 10 +- .../counter/AddCountersSourceEffect.java | 8 +- .../counter/AddCountersTargetEffect.java | 5 +- .../AddPlusOneCountersAttachedEffect.java | 8 +- .../common/counter/ProliferateEffect.java | 5 +- .../counter/RemoveCounterSourceEffect.java | 8 +- .../search/SearchLibraryPutInHandEffect.java | 6 +- .../search/SearchLibraryPutInPlayEffect.java | 6 +- .../SearchLibraryPutOnLibraryEffect.java | 6 +- .../SearchLibraryRevealPutInHandEffect.java | 6 +- .../abilities/keyword/CyclingAbility.java | 6 +- .../mage/abilities/keyword/KickerAbility.java | 4 +- .../abilities/keyword/LandwalkAbility.java | 6 +- .../abilities/keyword/MultikickerAbility.java | 2 +- .../abilities/keyword/ReboundAbility.java | 10 +- .../abilities/keyword/UnearthAbility.java | 5 +- 373 files changed, 912 insertions(+), 1814 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/riseoftheeldrazi/FissureVent.java create mode 100644 Mage/src/mage/abilities/effects/common/DamagePlayersEffect.java create mode 100644 Mage/src/mage/abilities/effects/common/DestroyMultiTargetEffect.java delete mode 100644 Mage/src/mage/abilities/effects/common/EntersBattlefieldTappedEffect.java create mode 100644 Mage/src/mage/abilities/effects/common/LoseLifePlayersEffect.java diff --git a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java index fd4f8ae2f77..561a05fdda4 100644 --- a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java @@ -574,7 +574,7 @@ public class HumanPlayer extends PlayerImpl { MageObject obj = game.getObject(source.getSourceId()); Map modeMap = new HashMap(); for (Mode mode: modes.values()) { - String modeText = mode.getEffects().getText(source); + String modeText = mode.getEffects().getText(mode); if (obj != null) modeText = modeText.replace("{source}", obj.getName()); modeMap.put(mode.getId(), modeText); diff --git a/Mage.Server/plugins/mage-player-human.jar b/Mage.Server/plugins/mage-player-human.jar index 5e53215ca9fc985515216a46fae18c7e9b8fe359..27e0ec6212e5c2a3dc350a98e7b8a7e439e2b510 100644 GIT binary patch delta 9944 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 N#k^#wr(FNF{13mUPH+GK delta 9966 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 Y6jWgVBWofSCwn58lL-ET_20_>0qsv67XSbN diff --git a/Mage.Sets/src/mage/sets/alarareborn/FiligreeAngel.java b/Mage.Sets/src/mage/sets/alarareborn/FiligreeAngel.java index e6ef336c138..cc28fed2b1e 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/FiligreeAngel.java +++ b/Mage.Sets/src/mage/sets/alarareborn/FiligreeAngel.java @@ -84,6 +84,7 @@ class FiligreeAngelEffect extends OneShotEffect { public FiligreeAngelEffect() { super(Constants.Outcome.GainLife); + staticText = "you gain 3 life for each artifact you control"; } public FiligreeAngelEffect(final FiligreeAngelEffect effect) { @@ -105,8 +106,4 @@ class FiligreeAngelEffect extends OneShotEffect { return new FiligreeAngelEffect(this); } - @Override - public String getText(Ability source) { - return "you gain 3 life for each artifact you control"; - } } diff --git a/Mage.Sets/src/mage/sets/alarareborn/IdentityCrisis.java b/Mage.Sets/src/mage/sets/alarareborn/IdentityCrisis.java index 2a1537368cd..4b377b788af 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/IdentityCrisis.java +++ b/Mage.Sets/src/mage/sets/alarareborn/IdentityCrisis.java @@ -70,6 +70,7 @@ public class IdentityCrisis extends CardImpl { class IdentityCrisisEffect extends OneShotEffect { IdentityCrisisEffect() { super(Constants.Outcome.Exile); + staticText = "Exile all cards from target player's hand and graveyard"; } IdentityCrisisEffect(final IdentityCrisisEffect effect) { @@ -102,8 +103,4 @@ class IdentityCrisisEffect extends OneShotEffect { return new IdentityCrisisEffect(this); } - @Override - public String getText(Ability source) { - return "Exile all cards from target player's hand and graveyard"; - } -} \ No newline at end of file + } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java b/Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java index e45933ee1df..a96bf302c7b 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java +++ b/Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java @@ -77,6 +77,7 @@ class VengefulRebirthEffect extends OneShotEffect { public VengefulRebirthEffect() { super(Outcome.DrawCard); + staticText = "Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card's converted mana cost to target creature or player"; } public VengefulRebirthEffect(final VengefulRebirthEffect effect) { @@ -112,9 +113,4 @@ class VengefulRebirthEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card's converted mana cost to target creature or player"; - } - } diff --git a/Mage.Sets/src/mage/sets/apocalypse/DesolationAngel.java b/Mage.Sets/src/mage/sets/apocalypse/DesolationAngel.java index fbaf1b5cc73..0354f698300 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/DesolationAngel.java +++ b/Mage.Sets/src/mage/sets/apocalypse/DesolationAngel.java @@ -97,6 +97,7 @@ class DesolationAngelDummyEffect extends OneShotEffect { DesolationAngelEntersBattlefieldEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "destroy all lands you control. If it was kicked, destroy all lands instead"; } DesolationAngelEntersBattlefieldEffect(final DesolationAngelEntersBattlefieldEffect effect) { @@ -128,8 +129,4 @@ class DesolationAngelEntersBattlefieldEffect extends OneShotEffect { public ManaclesOfDecaySecondEffect() { super(Constants.Duration.EndOfTurn); + staticText = "Enchanted creature can't block until end of turn"; } public ManaclesOfDecaySecondEffect(final ManaclesOfDecaySecondEffect effect) { @@ -140,9 +137,4 @@ class ManaclesOfDecaySecondEffect extends RestrictionEffect { public TranquilPathEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy all enchantments"; } public TranquilPathEffect(final TranquilPathEffect effect) { @@ -96,8 +96,4 @@ class TranquilPathEffect extends OneShotEffect { return new TranquilPathEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy all enchantments"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/AkkiLavarunner.java b/Mage.Sets/src/mage/sets/championsofkamigawa/AkkiLavarunner.java index 61aa1568c2e..d165b503584 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/AkkiLavarunner.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/AkkiLavarunner.java @@ -113,6 +113,7 @@ class TokTokVolcanoBornEffect extends ReplacementEffectImpl { class AuraOfDominionEffect extends OneShotEffect { AuraOfDominionEffect() { super(Constants.Outcome.Untap); + staticText = "untap enchanted creature"; } AuraOfDominionEffect(final AuraOfDominionEffect effect) { @@ -115,8 +116,4 @@ class AuraOfDominionEffect extends OneShotEffect { return new AuraOfDominionEffect(this); } - @Override - public String getText(Ability source) { - return "untap enchanted creature"; - } } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/BudokaGardener.java b/Mage.Sets/src/mage/sets/championsofkamigawa/BudokaGardener.java index 65ad10ffad7..f3517304ee7 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/BudokaGardener.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/BudokaGardener.java @@ -87,6 +87,7 @@ public class BudokaGardener extends CardImpl { class BudokaGardenerEffect extends OneShotEffect { BudokaGardenerEffect() { super(Constants.Outcome.PutLandInPlay); + staticText = "You may put a land card from your hand onto the battlefield. If you control ten or more lands, flip Budoka Gardener."; } BudokaGardenerEffect(final BudokaGardenerEffect effect) { @@ -113,11 +114,7 @@ class BudokaGardenerEffect extends OneShotEffect { return new BudokaGardenerEffect(this); } - @Override - public String getText(Ability source) { - return "You may put a land card from your hand onto the battlefield. If you control ten or more lands, flip Budoka Gardener."; - } -} + } class DokaiWeaverofLife extends Token { DokaiWeaverofLife() { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/CageOfHands.java b/Mage.Sets/src/mage/sets/championsofkamigawa/CageOfHands.java index c964be5acfd..d524fce4241 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/CageOfHands.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/CageOfHands.java @@ -81,6 +81,7 @@ class CageOfHandsEffect extends RestrictionEffect { public CageOfHandsEffect() { super(Constants.Duration.WhileOnBattlefield); + staticText = "Enchanted creature can't attack or block"; } public CageOfHandsEffect(final CageOfHandsEffect effect) { @@ -110,9 +111,4 @@ class CageOfHandsEffect extends RestrictionEffect { return new CageOfHandsEffect(this); } - @Override - public String getText(Ability source) { - return "Enchanted creature can't attack or block"; - } - } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/CallToGlory.java b/Mage.Sets/src/mage/sets/championsofkamigawa/CallToGlory.java index 968b99f15e7..2bc6b0065ea 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/CallToGlory.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/CallToGlory.java @@ -80,6 +80,7 @@ class CalltoGloryFirstEffect extends OneShotEffect { public CalltoGloryFirstEffect() { super(Constants.Outcome.Untap); + staticText = "Untap all creatures you control"; } public CalltoGloryFirstEffect(final CalltoGloryFirstEffect effect) { @@ -103,8 +104,4 @@ class CalltoGloryFirstEffect extends OneShotEffect { return new CalltoGloryFirstEffect(this); } - @Override - public String getText(Ability source) { - return "Untap all creatures you control"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/Cleanfall.java b/Mage.Sets/src/mage/sets/championsofkamigawa/Cleanfall.java index 62afc29544c..e3911e050b0 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/Cleanfall.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/Cleanfall.java @@ -76,6 +76,7 @@ class CleanfallEffect extends OneShotEffect { public CleanfallEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy all enchantments"; } public CleanfallEffect(final CleanfallEffect effect) { @@ -95,8 +96,4 @@ class CleanfallEffect extends OneShotEffect { return new CleanfallEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy all enchantments"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/DeathcurseOgre.java b/Mage.Sets/src/mage/sets/championsofkamigawa/DeathcurseOgre.java index eca27d0b3a7..bec90863e1d 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/DeathcurseOgre.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/DeathcurseOgre.java @@ -37,6 +37,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.LoseLifePlayersEffect; import mage.cards.CardImpl; import mage.game.Game; import mage.players.Player; @@ -55,7 +56,7 @@ public class DeathcurseOgre extends CardImpl { this.color.setBlack(true); this.power = new MageInt(3); this.toughness = new MageInt(3); - this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new DeathcurseOgreEffect())); + this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new LoseLifePlayersEffect(3))); } public DeathcurseOgre (final DeathcurseOgre card) { @@ -68,34 +69,3 @@ public class DeathcurseOgre extends CardImpl { } } - -class DeathcurseOgreEffect extends OneShotEffect { - - public DeathcurseOgreEffect() { - super(Constants.Outcome.Damage); - } - - public DeathcurseOgreEffect(final DeathcurseOgreEffect effect) { - super(effect); - } - - @Override - public DeathcurseOgreEffect copy() { - return new DeathcurseOgreEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - for (Player player: game.getPlayers().values()) { - player.loseLife(3, game); - } - return true; - } - - @Override - public String getText(Ability source) { - return "each player loses 3 life"; - } - - -} diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/GhostlyPrison.java b/Mage.Sets/src/mage/sets/championsofkamigawa/GhostlyPrison.java index e280868cf44..e58183ddd52 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/GhostlyPrison.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/GhostlyPrison.java @@ -72,6 +72,7 @@ class GhostlyPrisonReplacementEffect extends ReplacementEffectImpl { HanabiBlastDiscardEffect () { super(Constants.Outcome.Discard); + staticText = effectText; } HanabiBlastDiscardEffect(HanabiBlastDiscardEffect effect) { @@ -96,9 +97,5 @@ class HanabiBlastDiscardEffect extends OneShotEffect { return new HanabiBlastDiscardEffect(this); } - @Override - public String getText(Ability source) { - return effectText; - } } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/HikariTwilightGuardian.java b/Mage.Sets/src/mage/sets/championsofkamigawa/HikariTwilightGuardian.java index cbde29ec18f..c478f6719e0 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/HikariTwilightGuardian.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/HikariTwilightGuardian.java @@ -89,6 +89,7 @@ class HikariTwilightGuardianEffect extends OneShotEffect { diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/KitsuneHealer.java b/Mage.Sets/src/mage/sets/championsofkamigawa/KitsuneHealer.java index 2dd21301aa6..050244da296 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/KitsuneHealer.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/KitsuneHealer.java @@ -91,6 +91,7 @@ class KitsuneHealerEffect extends PreventionEffectImpl { public KitsuneHealerEffect(Constants.Duration duration) { super(duration); + staticText = "Prevent all damage that would be dealt to target legendary creature " + duration.toString(); } public KitsuneHealerEffect(final PreventAllCombatDamageEffect effect) { @@ -118,9 +119,4 @@ class KitsuneHealerEffect extends PreventionEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Prevent all damage that would be dealt to target legendary creature" + - " " + duration.toString(); - } } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/KokushoTheEveningStar.java b/Mage.Sets/src/mage/sets/championsofkamigawa/KokushoTheEveningStar.java index bd7729934d9..3449ab96a07 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/KokushoTheEveningStar.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/KokushoTheEveningStar.java @@ -73,6 +73,7 @@ public class KokushoTheEveningStar extends CardImpl { class KokushoTheEveningStarEffect extends OneShotEffect { public KokushoTheEveningStarEffect() { super(Constants.Outcome.Damage); + staticText = "each opponent loses 5 life. You gain life equal to the life lost this way"; } public KokushoTheEveningStarEffect(final KokushoTheEveningStarEffect effect) { @@ -95,8 +96,4 @@ class KokushoTheEveningStarEffect extends OneShotEffect { class MindblazeEffect extends OneShotEffect { MindblazeEffect() { super(Constants.Outcome.Damage); + staticText = "Name a nonland card and choose a number greater than 0. Target player reveals his or her library. If that library contains exactly the chosen number of the named card, Mindblaze deals 8 damage to that player. Then that player shuffles his or her library"; } MindblazeEffect(final MindblazeEffect effect) { @@ -121,8 +120,4 @@ class MindblazeEffect extends OneShotEffect { return new MindblazeEffect(this); } - @Override - public String getText(Ability source) { - return "Name a nonland card and choose a number greater than 0. Target player reveals his or her library. If that library contains exactly the chosen number of the named card, Mindblaze deals 8 damage to that player. Then that player shuffles his or her library"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/PartTheVeil.java b/Mage.Sets/src/mage/sets/championsofkamigawa/PartTheVeil.java index ea12baff172..a3ec39c0297 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/PartTheVeil.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/PartTheVeil.java @@ -67,6 +67,7 @@ public class PartTheVeil extends CardImpl { class PartTheVeilEffect extends OneShotEffect { public PartTheVeilEffect() { super(Constants.Outcome.ReturnToHand); + staticText = "Return all creatures you control to their owner's hand."; } public PartTheVeilEffect(final PartTheVeilEffect effect) { @@ -86,8 +87,4 @@ class PartTheVeilEffect extends OneShotEffect { return new PartTheVeilEffect(this); } - @Override - public String getText(Ability source) { - return "Return all creatures you control to their owner's hand."; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/Soilshaper.java b/Mage.Sets/src/mage/sets/championsofkamigawa/Soilshaper.java index c0f9328e853..79a220f8ea4 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/Soilshaper.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/Soilshaper.java @@ -84,6 +84,7 @@ class SoilshaperEffect extends ContinuousEffectImpl { public SoilshaperEffect() { super(Constants.Duration.EndOfTurn, Constants.Outcome.BecomeCreature); + staticText = "target land becomes a 3/3 creature until end of turn. It's still a land"; } public SoilshaperEffect(final SoilshaperEffect effect) { @@ -126,8 +127,4 @@ class SoilshaperEffect extends ContinuousEffectImpl { return layer == Constants.Layer.PTChangingEffects_7 || layer == Constants.Layer.ColorChangingEffects_5 || layer == layer.TypeChangingEffects_4; } - @Override - public String getText(Ability source) { - return "target land becomes a 3/3 creature until end of turn. It's still a land"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/SoratamiSeer.java b/Mage.Sets/src/mage/sets/championsofkamigawa/SoratamiSeer.java index 3274226d1a8..5240f47b501 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/SoratamiSeer.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/SoratamiSeer.java @@ -89,6 +89,7 @@ class SoratamiSeerEffect extends OneShotEffect { public SoratamiSeerEffect() { super(Constants.Outcome.DrawCard); + staticText = "Discard all the cards in your hand, then draw that many cards"; } public SoratamiSeerEffect(final SoratamiSeerEffect effect) { @@ -114,8 +115,4 @@ class SoratamiSeerEffect extends OneShotEffect { return new SoratamiSeerEffect(this); } - @Override - public String getText(Ability source) { - return "Discard all the cards in your hand, then draw that many cards"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/TakenoSamuraiGeneral.java b/Mage.Sets/src/mage/sets/championsofkamigawa/TakenoSamuraiGeneral.java index bb7771d66e0..ebd940c9e94 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/TakenoSamuraiGeneral.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/TakenoSamuraiGeneral.java @@ -83,6 +83,7 @@ class TakenoSamuraiGeneralEffect extends ContinuousEffectImpl { InfectiousHorrorEffect() { super(Constants.Outcome.Damage); + staticText = "each opponent loses 2 life"; } InfectiousHorrorEffect(final InfectiousHorrorEffect effect) { @@ -94,8 +95,4 @@ class InfectiousHorrorEffect extends OneShotEffect { return new InfectiousHorrorEffect(this); } - @Override - public String getText(Ability source) { - return "each opponent loses 2 life"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/conflux/MartialCoup.java b/Mage.Sets/src/mage/sets/conflux/MartialCoup.java index 8c77b74308d..88516265eb4 100644 --- a/Mage.Sets/src/mage/sets/conflux/MartialCoup.java +++ b/Mage.Sets/src/mage/sets/conflux/MartialCoup.java @@ -70,6 +70,7 @@ class MartialCoupEffect extends OneShotEffect { public MartialCoupEffect() { super(Outcome.PutCreatureInPlay); + staticText = "Put X 1/1 white Soldier creature tokens onto the battlefield. If X is 5 or more, destroy all other creatures"; } public MartialCoupEffect(final MartialCoupEffect effect) { @@ -99,9 +100,4 @@ class MartialCoupEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "Put X 1/1 white Soldier creature tokens onto the battlefield. If X is 5 or more, destroy all other creatures"; - } - } diff --git a/Mage.Sets/src/mage/sets/conflux/PathToExile.java b/Mage.Sets/src/mage/sets/conflux/PathToExile.java index 240ce0c0d61..e2772637e22 100644 --- a/Mage.Sets/src/mage/sets/conflux/PathToExile.java +++ b/Mage.Sets/src/mage/sets/conflux/PathToExile.java @@ -73,6 +73,7 @@ class PathToExileEffect extends OneShotEffect { public PathToExileEffect() { super(Outcome.Exile); + staticText = "Exile target creature. Its controller may search his or her library for a basic land card, put that card onto the battlefield tapped, then shuffle his or her library"; } public PathToExileEffect(final PathToExileEffect effect) { @@ -109,9 +110,4 @@ class PathToExileEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "Exile target creature. Its controller may search his or her library for a basic land card, put that card onto the battlefield tapped, then shuffle his or her library"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/conflux/QuenchableFire.java b/Mage.Sets/src/mage/sets/conflux/QuenchableFire.java index 7a4f8992229..631c2aa1ff6 100644 --- a/Mage.Sets/src/mage/sets/conflux/QuenchableFire.java +++ b/Mage.Sets/src/mage/sets/conflux/QuenchableFire.java @@ -76,6 +76,7 @@ class QuenchableFireEffect extends OneShotEffect { public QuenchableFireEffect() { super(Outcome.Damage); + staticText = "{this} deals an additional 3 damage to that player at the beginning of your next upkeep step unless he or she pays {U} before that step"; } public QuenchableFireEffect(final QuenchableFireEffect effect) { @@ -105,11 +106,6 @@ class QuenchableFireEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "{this} deals an additional 3 damage to that player at the beginning of your next upkeep step unless he or she pays {U} before that step"; - } - } class QuenchableFireDelayedTriggeredAbility extends DelayedTriggeredAbility { diff --git a/Mage.Sets/src/mage/sets/conflux/SoulsMajesty.java b/Mage.Sets/src/mage/sets/conflux/SoulsMajesty.java index 349ef724be6..ae37cb2d315 100644 --- a/Mage.Sets/src/mage/sets/conflux/SoulsMajesty.java +++ b/Mage.Sets/src/mage/sets/conflux/SoulsMajesty.java @@ -67,6 +67,7 @@ public class SoulsMajesty extends CardImpl { public SoulsMajestyEffect() { super(Outcome.DrawCard); + staticText = "Draw cards equal to the power of target creature you control"; } public SoulsMajestyEffect(final SoulsMajestyEffect effect) { @@ -89,9 +90,5 @@ public class SoulsMajesty extends CardImpl { return new SoulsMajestyEffect(this); } - @Override - public String getText(Ability source) { - return "Draw cards equal to the power of target creature you control" + super.getText(source); - } } } diff --git a/Mage.Sets/src/mage/sets/conflux/WallOfReverence.java b/Mage.Sets/src/mage/sets/conflux/WallOfReverence.java index 6e9f3e75bfd..b69122c8c86 100644 --- a/Mage.Sets/src/mage/sets/conflux/WallOfReverence.java +++ b/Mage.Sets/src/mage/sets/conflux/WallOfReverence.java @@ -101,13 +101,14 @@ class WallOfReverenceTriggeredAbility extends TriggeredAbilityImpl { WallOfReverenceTriggeredEffect() { super(Outcome.GainLife); + staticText = "you may gain life equal to the power of target creature you control"; } WallOfReverenceTriggeredEffect(WallOfReverenceTriggeredEffect effect) { @@ -130,8 +131,4 @@ class WallOfReverenceTriggeredEffect extends OneShotEffect { class DarksteelColossusEffect extends OneShotEffect { DarksteelColossusEffect() { super(Constants.Outcome.Benefit); + staticText = "reveal Darksteel Colossus and shuffle it into its owner's library instead"; } DarksteelColossusEffect(final DarksteelColossusEffect effect) { @@ -104,8 +105,4 @@ class DarksteelColossusEffect extends OneShotEffect { return new DarksteelColossusEffect(this); } - @Override - public String getText(Ability source) { - return "reveal Darksteel Colossus and shuffle it into its owner's library instead"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/darksteel/Soulscour.java b/Mage.Sets/src/mage/sets/darksteel/Soulscour.java index 93b3b8a9b67..b3802efe3d6 100644 --- a/Mage.Sets/src/mage/sets/darksteel/Soulscour.java +++ b/Mage.Sets/src/mage/sets/darksteel/Soulscour.java @@ -78,6 +78,7 @@ class SoulscourEffect extends OneShotEffect { public SoulscourEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy all nonartifact permanents"; } public SoulscourEffect(final SoulscourEffect effect) { @@ -97,8 +98,4 @@ class SoulscourEffect extends OneShotEffect { return new SoulscourEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy all nonartifact permanents"; - } } diff --git a/Mage.Sets/src/mage/sets/eventide/DeathbringerLiege.java b/Mage.Sets/src/mage/sets/eventide/DeathbringerLiege.java index a85f5ea6da6..e994cf3ba3a 100644 --- a/Mage.Sets/src/mage/sets/eventide/DeathbringerLiege.java +++ b/Mage.Sets/src/mage/sets/eventide/DeathbringerLiege.java @@ -102,6 +102,7 @@ public class DeathbringerLiege extends CardImpl { class DeathbringerLiegeEffect extends OneShotEffect { DeathbringerLiegeEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "destroy target creature if it's tapped"; } DeathbringerLiegeEffect(final DeathbringerLiegeEffect effect) { @@ -122,8 +123,4 @@ class DeathbringerLiegeEffect extends OneShotEffect { return new DeathbringerLiegeEffect(this); } - @Override - public String getText(Ability source) { - return "destroy target creature if it's tapped"; - } } diff --git a/Mage.Sets/src/mage/sets/eventide/RecumbentBliss.java b/Mage.Sets/src/mage/sets/eventide/RecumbentBliss.java index 6a4ccf57f11..8547286bfda 100644 --- a/Mage.Sets/src/mage/sets/eventide/RecumbentBliss.java +++ b/Mage.Sets/src/mage/sets/eventide/RecumbentBliss.java @@ -79,6 +79,7 @@ class RecumbentBlissEffect extends RestrictionEffect { public RecumbentBlissEffect() { super(Constants.Duration.WhileOnBattlefield); + staticText = "Enchanted creature can't attack or block"; } public RecumbentBlissEffect(final RecumbentBlissEffect effect) { @@ -108,10 +109,5 @@ class RecumbentBlissEffect extends RestrictionEffect { return new RecumbentBlissEffect(this); } - @Override - public String getText(Ability source) { - return "Enchanted creature can't attack or block"; - } - } diff --git a/Mage.Sets/src/mage/sets/guildpact/AgentOfMasks.java b/Mage.Sets/src/mage/sets/guildpact/AgentOfMasks.java index 4bcaad64928..2e9d66c7013 100644 --- a/Mage.Sets/src/mage/sets/guildpact/AgentOfMasks.java +++ b/Mage.Sets/src/mage/sets/guildpact/AgentOfMasks.java @@ -69,6 +69,7 @@ public class AgentOfMasks extends CardImpl { class AgentOfMasksEffect extends OneShotEffect { public AgentOfMasksEffect() { super(Constants.Outcome.Damage); + staticText = "each opponent loses 1 life. You gain life equal to the life lost this way"; } public AgentOfMasksEffect(final AgentOfMasksEffect effect) { @@ -91,8 +92,4 @@ class AgentOfMasksEffect extends OneShotEffect { return new AgentOfMasksEffect(this); } - @Override - public String getText(Ability source) { - return "each opponent loses 1 life. You gain life equal to the life lost this way"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/guildpact/GhostCouncilOfOrzhova.java b/Mage.Sets/src/mage/sets/guildpact/GhostCouncilOfOrzhova.java index 8bdaaf8d36d..8a7754e6816 100644 --- a/Mage.Sets/src/mage/sets/guildpact/GhostCouncilOfOrzhova.java +++ b/Mage.Sets/src/mage/sets/guildpact/GhostCouncilOfOrzhova.java @@ -88,6 +88,7 @@ public class GhostCouncilOfOrzhova extends CardImpl { class GhostCouncilOfOrzhovaEffect extends OneShotEffect { GhostCouncilOfOrzhovaEffect() { super(Outcome.Damage); + staticText = "target opponent loses 1 life and you gain 1 life"; } GhostCouncilOfOrzhovaEffect(final GhostCouncilOfOrzhovaEffect effect) { @@ -110,10 +111,6 @@ class GhostCouncilOfOrzhovaEffect extends OneShotEffect { @@ -122,6 +119,7 @@ class GhostCouncilOfOrzhovaRemovingEffect extends OneShotEffect { diff --git a/Mage.Sets/src/mage/sets/magic2010/AwakenerDruid.java b/Mage.Sets/src/mage/sets/magic2010/AwakenerDruid.java index 167011a48fc..5db218cc4f8 100644 --- a/Mage.Sets/src/mage/sets/magic2010/AwakenerDruid.java +++ b/Mage.Sets/src/mage/sets/magic2010/AwakenerDruid.java @@ -88,6 +88,7 @@ class AwakenerDruidEffect extends ContinuousEffectImpl { public AwakenerDruidEffect() { super(Duration.WhileOnBattlefield, Outcome.BecomeCreature); + staticText = "target Forest becomes a 4/5 green Treefolk creature for as long as {this} is on the battlefield. It's still a land."; } public AwakenerDruidEffect(final AwakenerDruidEffect effect) { @@ -135,11 +136,6 @@ class AwakenerDruidEffect extends ContinuousEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "target Forest becomes a 4/5 green Treefolk creature for as long as {this} is on the battlefield. It's still a land."; - } - @Override public boolean hasLayer(Layer layer) { return layer == Layer.PTChangingEffects_7 || layer == Layer.ColorChangingEffects_5 || layer == layer.TypeChangingEffects_4; diff --git a/Mage.Sets/src/mage/sets/magic2010/Duress.java b/Mage.Sets/src/mage/sets/magic2010/Duress.java index 1540e4a568b..e614cedce85 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Duress.java +++ b/Mage.Sets/src/mage/sets/magic2010/Duress.java @@ -79,6 +79,7 @@ class DuressEffect extends OneShotEffect { public DuressEffect() { super(Outcome.Discard); + staticText = "Target opponent reveals his or her hand. You choose a noncreature, nonland card from it. That player discards that card"; } public DuressEffect(final DuressEffect effect) { @@ -109,9 +110,4 @@ class DuressEffect extends OneShotEffect { return new DuressEffect(this); } - @Override - public String getText(Ability source) { - return "Target opponent reveals his or her hand. You choose a noncreature, nonland card from it. That player discards that card"; - } - } diff --git a/Mage.Sets/src/mage/sets/magic2010/Earthquake.java b/Mage.Sets/src/mage/sets/magic2010/Earthquake.java index 8c8ac9f35b9..6475dd278eb 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Earthquake.java +++ b/Mage.Sets/src/mage/sets/magic2010/Earthquake.java @@ -75,6 +75,7 @@ class EarthquakeEffect extends OneShotEffect { public EarthquakeEffect() { super(Outcome.Damage); + staticText = "Earthquake deals X damage to each creature without flying and each player"; } public EarthquakeEffect(final EarthquakeEffect effect) { @@ -101,8 +102,4 @@ class EarthquakeEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "Earthquake deals X damage to each creature without flying and each player"; - } } diff --git a/Mage.Sets/src/mage/sets/magic2010/Fireball.java b/Mage.Sets/src/mage/sets/magic2010/Fireball.java index 10d3e346c85..7c702645dbf 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Fireball.java +++ b/Mage.Sets/src/mage/sets/magic2010/Fireball.java @@ -77,6 +77,7 @@ class FireballEffect extends OneShotEffect { public FireballEffect() { super(Outcome.Damage); + staticText = "Fireball deals X damage divided evenly, rounded down, among any number of target creatures and/or players.\n Fireball costs {1} more to cast for each target beyond the first."; } public FireballEffect(final FireballEffect effect) { @@ -113,8 +114,4 @@ class FireballEffect extends OneShotEffect { return new FireballEffect(this); } - @Override - public String getText(Ability source) { - return "Fireball deals X damage divided evenly, rounded down, among any number of target creatures and/or players.\n Fireball costs {1} more to cast for each target beyond the first."; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java b/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java index 273f4539ea0..7e5b86cce0d 100644 --- a/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java +++ b/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java @@ -76,6 +76,7 @@ class HauntingEchoesEffect extends OneShotEffect { public HauntingEchoesEffect() { super(Outcome.Detriment); + staticText = "Exile all cards from target player's graveyard other than basic land cards. For each card exiled this way, search that player's library for all cards with the same name as that card and exile them. Then that player shuffles his or her library"; } public HauntingEchoesEffect(final HauntingEchoesEffect effect) { @@ -111,8 +112,4 @@ class HauntingEchoesEffect extends OneShotEffect { return new HauntingEchoesEffect(this); } - @Override - public String getText(Ability source) { - return "Exile all cards from target player's graveyard other than basic land cards. For each card exiled this way, search that player's library for all cards with the same name as that card and exile them. Then that player shuffles his or her library"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2010/HowlingBanshee.java b/Mage.Sets/src/mage/sets/magic2010/HowlingBanshee.java index 9c19c8de2d5..cd162edb11f 100644 --- a/Mage.Sets/src/mage/sets/magic2010/HowlingBanshee.java +++ b/Mage.Sets/src/mage/sets/magic2010/HowlingBanshee.java @@ -30,16 +30,12 @@ package mage.sets.magic2010; import java.util.UUID; import mage.Constants.CardType; -import mage.Constants.Outcome; import mage.Constants.Rarity; import mage.MageInt; -import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.LoseLifePlayersEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; -import mage.game.Game; -import mage.players.Player; /** * @@ -56,7 +52,7 @@ public class HowlingBanshee extends CardImpl { this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new EntersBattlefieldTriggeredAbility(new HowlingBansheeEffect(), false)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new LoseLifePlayersEffect(3), false)); } public HowlingBanshee(final HowlingBanshee card) { @@ -70,33 +66,3 @@ public class HowlingBanshee extends CardImpl { } -class HowlingBansheeEffect extends OneShotEffect { - - public HowlingBansheeEffect() { - super(Outcome.Damage); - } - - public HowlingBansheeEffect(final HowlingBansheeEffect effect) { - super(effect); - } - - @Override - public HowlingBansheeEffect copy() { - return new HowlingBansheeEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - for (Player player: game.getPlayers().values()) { - player.loseLife(3, game); - } - return true; - } - - @Override - public String getText(Ability source) { - return "each player loses 3 life"; - } - - -} diff --git a/Mage.Sets/src/mage/sets/magic2010/IceCage.java b/Mage.Sets/src/mage/sets/magic2010/IceCage.java index 2f97a563aae..a88d08f8107 100644 --- a/Mage.Sets/src/mage/sets/magic2010/IceCage.java +++ b/Mage.Sets/src/mage/sets/magic2010/IceCage.java @@ -84,6 +84,7 @@ class IceCageEffect extends ReplacementEffectImpl { public IceCageEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Enchanted creature can't attack or block, and its activated abilities can't be activated"; } public IceCageEffect(final IceCageEffect effect) { @@ -118,11 +119,6 @@ class IceCageEffect extends ReplacementEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Enchanted creature can't attack or block, and its activated abilities can't be activated"; - } - } class IceCageAbility extends TriggeredAbilityImpl { diff --git a/Mage.Sets/src/mage/sets/magic2010/LilianaVess.java b/Mage.Sets/src/mage/sets/magic2010/LilianaVess.java index 2e73c6aeb32..54311e7b55b 100644 --- a/Mage.Sets/src/mage/sets/magic2010/LilianaVess.java +++ b/Mage.Sets/src/mage/sets/magic2010/LilianaVess.java @@ -87,6 +87,7 @@ class LilianaVessEffect extends OneShotEffect { public LilianaVessEffect() { super(Outcome.PutCreatureInPlay); + staticText = "Put all creature cards in all graveyards onto the battlefield under your control"; } public LilianaVessEffect(final LilianaVessEffect effect) { @@ -111,8 +112,4 @@ class LilianaVessEffect extends OneShotEffect { return new LilianaVessEffect(this); } - @Override - public String getText(Ability source) { - return "Put all creature cards in all graveyards onto the battlefield under your control"; - } } diff --git a/Mage.Sets/src/mage/sets/magic2010/MasterOfTheWildHunt.java b/Mage.Sets/src/mage/sets/magic2010/MasterOfTheWildHunt.java index 226868f58a5..a0d85b7a9ee 100644 --- a/Mage.Sets/src/mage/sets/magic2010/MasterOfTheWildHunt.java +++ b/Mage.Sets/src/mage/sets/magic2010/MasterOfTheWildHunt.java @@ -96,6 +96,7 @@ class MasterOfTheWildHuntEffect extends OneShotEffect public MasterOfTheWildHuntEffect() { super(Outcome.Damage); + staticText = "Tap all untapped Wolf creatures you control. Each Wolf tapped this way deals damage equal to its power to target creature. That creature deals damage equal to its power divided as its controller chooses among any number of those Wolves"; } public MasterOfTheWildHuntEffect(final MasterOfTheWildHuntEffect effect) { @@ -124,8 +125,4 @@ class MasterOfTheWildHuntEffect extends OneShotEffect return false; } - @Override - public String getText(Ability source) { - return "Tap all untapped Wolf creatures you control. Each Wolf tapped this way deals damage equal to its power to target creature. That creature deals damage equal to its power divided as its controller chooses among any number of those Wolves"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2010/MindSpring.java b/Mage.Sets/src/mage/sets/magic2010/MindSpring.java index 9b8d5418509..69e1bbb433c 100644 --- a/Mage.Sets/src/mage/sets/magic2010/MindSpring.java +++ b/Mage.Sets/src/mage/sets/magic2010/MindSpring.java @@ -66,6 +66,7 @@ class MindSpringEffect extends OneShotEffect { public MindSpringEffect() { super(Outcome.DrawCard); + staticText = "Draw X cards"; } public MindSpringEffect(final MindSpringEffect effect) { @@ -88,8 +89,4 @@ class MindSpringEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "Draw X cards"; - } } diff --git a/Mage.Sets/src/mage/sets/magic2010/Oakenform.java b/Mage.Sets/src/mage/sets/magic2010/Oakenform.java index d94eb5f95e2..b6d3c4fea13 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Oakenform.java +++ b/Mage.Sets/src/mage/sets/magic2010/Oakenform.java @@ -82,6 +82,7 @@ class OakenformEffect extends ContinuousEffectImpl { public OakenformEffect() { super(Duration.WhileOnBattlefield, Outcome.BoostCreature); + staticText = "Enchanted creature gets +3/+3"; } public OakenformEffect(final OakenformEffect effect) { @@ -118,11 +119,6 @@ class OakenformEffect extends ContinuousEffectImpl { return layer == Layer.PTChangingEffects_7; } - @Override - public String getText(Ability source) { - return "Enchanted creature gets +3/+3"; - } - @Override public OakenformEffect copy() { return new OakenformEffect(this); diff --git a/Mage.Sets/src/mage/sets/magic2010/PalaceGuard.java b/Mage.Sets/src/mage/sets/magic2010/PalaceGuard.java index 0fa5ece59b2..ff9813b4527 100644 --- a/Mage.Sets/src/mage/sets/magic2010/PalaceGuard.java +++ b/Mage.Sets/src/mage/sets/magic2010/PalaceGuard.java @@ -75,6 +75,7 @@ public class PalaceGuard extends CardImpl { public PalaceGuardEffect() { super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "Palace Guard can block any number of creatures"; } public PalaceGuardEffect(final PalaceGuardEffect effect) { @@ -110,10 +111,6 @@ public class PalaceGuard extends CardImpl { return layer == Layer.RulesEffects; } - @Override - public String getText(Ability source) { - return "Palace Guard can block any number of creatures"; - } } } diff --git a/Mage.Sets/src/mage/sets/magic2010/PlanarCleansing.java b/Mage.Sets/src/mage/sets/magic2010/PlanarCleansing.java index be862245b79..80b3b2eb315 100644 --- a/Mage.Sets/src/mage/sets/magic2010/PlanarCleansing.java +++ b/Mage.Sets/src/mage/sets/magic2010/PlanarCleansing.java @@ -76,6 +76,7 @@ class PlanarCleansingEffect extends OneShotEffect { public PlanarCleansingEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy all nonland permanents"; } public PlanarCleansingEffect(final PlanarCleansingEffect effect) { @@ -95,8 +96,4 @@ class PlanarCleansingEffect extends OneShotEffect { return new PlanarCleansingEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy all nonland permanents"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2010/ProteanHydra.java b/Mage.Sets/src/mage/sets/magic2010/ProteanHydra.java index acd8499879a..07c47fa104e 100644 --- a/Mage.Sets/src/mage/sets/magic2010/ProteanHydra.java +++ b/Mage.Sets/src/mage/sets/magic2010/ProteanHydra.java @@ -84,6 +84,7 @@ public class ProteanHydra extends CardImpl { public ProteanHydraEffect1() { super(Outcome.BoostCreature); + staticText = "Protean Hydra enters the battlefield with X +1/+1 counters on it"; } public ProteanHydraEffect1(final ProteanHydraEffect1 effect) { @@ -105,11 +106,6 @@ public class ProteanHydra extends CardImpl { return new ProteanHydraEffect1(this); } - @Override - public String getText(Ability source) { - return "Protean Hydra enters the battlefield with X +1/+1 counters on it"; - } - } class ProteanHydraEffect2 extends PreventionEffectImpl { @@ -120,6 +116,7 @@ public class ProteanHydra extends CardImpl { public ProteanHydraEffect2(final ProteanHydraEffect2 effect) { super(effect); + staticText = "If damage would be dealt to Protean Hydra, prevent that damage and remove that many +1/+1 counters from it"; } @Override @@ -159,11 +156,6 @@ public class ProteanHydra extends CardImpl { return false; } - @Override - public String getText(Ability source) { - return "If damage would be dealt to Protean Hydra, prevent that damage and remove that many +1/+1 counters from it"; - } - } class ProteanHydraAbility extends TriggeredAbilityImpl { diff --git a/Mage.Sets/src/mage/sets/magic2010/RiseFromTheGrave.java b/Mage.Sets/src/mage/sets/magic2010/RiseFromTheGrave.java index 111a4531733..8f3a52e4de7 100644 --- a/Mage.Sets/src/mage/sets/magic2010/RiseFromTheGrave.java +++ b/Mage.Sets/src/mage/sets/magic2010/RiseFromTheGrave.java @@ -75,6 +75,7 @@ class RiseFromTheGraveEffect extends ContinuousEffectImpl { public SilenceEffect() { super(Duration.EndOfTurn, Outcome.Benefit); + staticText = "Your opponents can't cast spells this turn"; } public SilenceEffect(final SilenceEffect effect) { @@ -96,9 +97,4 @@ class SilenceEffect extends ReplacementEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Your opponents can't cast spells this turn"; - } - } diff --git a/Mage.Sets/src/mage/sets/magic2010/Sleep.java b/Mage.Sets/src/mage/sets/magic2010/Sleep.java index 82563a6a8c2..f4b8de9bf39 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Sleep.java +++ b/Mage.Sets/src/mage/sets/magic2010/Sleep.java @@ -74,6 +74,7 @@ class SleepEffect extends OneShotEffect { public SleepEffect() { super(Outcome.Tap); + staticText = "Tap all creatures target player controls. Those creatures don't untap during that player's next untap step"; } public SleepEffect(final SleepEffect effect) { @@ -98,10 +99,6 @@ class SleepEffect extends OneShotEffect { return new SleepEffect(this); } - @Override - public String getText(Ability source) { - return "Tap all creatures target player controls. Those creatures don't untap during that player's next untap step"; - } } class SleepEffect2 extends ReplacementEffectImpl { @@ -144,9 +141,4 @@ class SleepEffect2 extends ReplacementEffectImpl { return false; } - @Override - public String getText(Ability source) { - return ""; - } - } diff --git a/Mage.Sets/src/mage/sets/magic2010/TempestOfLight.java b/Mage.Sets/src/mage/sets/magic2010/TempestOfLight.java index c44ea984a04..f2b2c527405 100644 --- a/Mage.Sets/src/mage/sets/magic2010/TempestOfLight.java +++ b/Mage.Sets/src/mage/sets/magic2010/TempestOfLight.java @@ -74,6 +74,7 @@ class TempestOfLightEffect extends OneShotEffect { public TempestOfLightEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy all enchantments"; } public TempestOfLightEffect(final TempestOfLightEffect effect) { @@ -93,8 +94,4 @@ class TempestOfLightEffect extends OneShotEffect { return new TempestOfLightEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy all enchantments"; - } } diff --git a/Mage.Sets/src/mage/sets/magic2010/TimeWarp.java b/Mage.Sets/src/mage/sets/magic2010/TimeWarp.java index 9ab79951a26..3b3fffe9c73 100644 --- a/Mage.Sets/src/mage/sets/magic2010/TimeWarp.java +++ b/Mage.Sets/src/mage/sets/magic2010/TimeWarp.java @@ -68,6 +68,7 @@ class TimeWarpEffect extends OneShotEffect { public TimeWarpEffect() { super(Outcome.ExtraTurn); + staticText = "Target player takes an extra turn after this one"; } public TimeWarpEffect(final TimeWarpEffect effect) { @@ -85,8 +86,4 @@ class TimeWarpEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "Target player takes an extra turn after this one"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2010/Weakness.java b/Mage.Sets/src/mage/sets/magic2010/Weakness.java index 6615f6523c9..3e1d90d896f 100644 --- a/Mage.Sets/src/mage/sets/magic2010/Weakness.java +++ b/Mage.Sets/src/mage/sets/magic2010/Weakness.java @@ -80,6 +80,7 @@ class WeaknessEffect extends ContinuousEffectImpl { public WeaknessEffect() { super(Duration.WhileOnBattlefield, Outcome.UnboostCreature); + staticText = "Enchanted creature gets -2/-1"; } public WeaknessEffect(final WeaknessEffect effect) { @@ -121,8 +122,4 @@ class WeaknessEffect extends ContinuousEffectImpl { return new WeaknessEffect(this); } - @Override - public String getText(Ability source) { - return "Enchanted creature gets -2/-1"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java b/Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java index 2fa57af4f02..c6c0c8a58ae 100644 --- a/Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java +++ b/Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java @@ -132,6 +132,7 @@ class AngelicArbiterEffect1 extends ReplacementEffectImpl public AngelicArbiterEffect1(final AngelicArbiterEffect1 effect) { super(effect); + staticText = "Each opponent who cast a spell this turn can't attack with creatures"; } @Override @@ -159,17 +160,13 @@ class AngelicArbiterEffect1 extends ReplacementEffectImpl return false; } - @Override - public String getText(Ability source) { - return "Each opponent who cast a spell this turn can't attack with creatures"; - } - } class AngelicArbiterEffect2 extends ReplacementEffectImpl { public AngelicArbiterEffect2() { super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "Each opponent who attacked with a creature this turn can't cast spells"; } public AngelicArbiterEffect2(final AngelicArbiterEffect2 effect) { @@ -201,9 +198,4 @@ class AngelicArbiterEffect2 extends ReplacementEffectImpl return false; } - @Override - public String getText(Ability source) { - return "Each opponent who attacked with a creature this turn can't cast spells"; - } - } diff --git a/Mage.Sets/src/mage/sets/magic2011/BloodTithe.java b/Mage.Sets/src/mage/sets/magic2011/BloodTithe.java index de4338959fb..217f879ffd6 100644 --- a/Mage.Sets/src/mage/sets/magic2011/BloodTithe.java +++ b/Mage.Sets/src/mage/sets/magic2011/BloodTithe.java @@ -66,6 +66,7 @@ class BloodTitheEffect extends OneShotEffect { public BloodTitheEffect() { super(Outcome.Damage); + staticText = "Each opponent loses 3 life. You gain life equal to the life lost this way"; } public BloodTitheEffect(final BloodTitheEffect effect) { @@ -87,9 +88,4 @@ class BloodTitheEffect extends OneShotEffect { return new BloodTitheEffect(this); } - @Override - public String getText(Ability source) { - return "Each opponent loses 3 life. You gain life equal to the life lost this way"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/BloodcrazedGoblin.java b/Mage.Sets/src/mage/sets/magic2011/BloodcrazedGoblin.java index d174c439515..2683791cf0e 100644 --- a/Mage.Sets/src/mage/sets/magic2011/BloodcrazedGoblin.java +++ b/Mage.Sets/src/mage/sets/magic2011/BloodcrazedGoblin.java @@ -102,6 +102,7 @@ class BloodcrazedGoblinEffect extends ReplacementEffectImpl { public ChandrasOutrageEffect() { super(Outcome.Damage); + staticText = "Chandra's Outrage deals 4 damage to target creature and 2 damage to that creature's controller"; } public ChandrasOutrageEffect(final ChandrasOutrageEffect effect) { @@ -94,9 +95,4 @@ class ChandrasOutrageEffect extends OneShotEffect { return new ChandrasOutrageEffect(this); } - @Override - public String getText(Ability source) { - return "Chandra's Outrage deals 4 damage to target creature and 2 damage to that creature's controller"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/ConundrumSphinx.java b/Mage.Sets/src/mage/sets/magic2011/ConundrumSphinx.java index 8e610581dd1..1d4b953e891 100644 --- a/Mage.Sets/src/mage/sets/magic2011/ConundrumSphinx.java +++ b/Mage.Sets/src/mage/sets/magic2011/ConundrumSphinx.java @@ -82,6 +82,7 @@ class ConundrumSphinxEffect extends OneShotEffect { public ConundrumSphinxEffect() { super(Outcome.DrawCard); + staticText = "each player names a card. Then each player reveals the top card of his or her library. If the card a player revealed is the card he or she named, that player puts it into his or her hand. If it's not, that player puts it on the bottom of his or her library"; } public ConundrumSphinxEffect(final ConundrumSphinxEffect effect) { @@ -115,9 +116,4 @@ class ConundrumSphinxEffect extends OneShotEffect { return new ConundrumSphinxEffect(this); } - @Override - public String getText(Ability source) { - return "each player names a card. Then each player reveals the top card of his or her library. If the card a player revealed is the card he or she named, that player puts it into his or her hand. If it's not, that player puts it on the bottom of his or her library"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/Corrupt.java b/Mage.Sets/src/mage/sets/magic2011/Corrupt.java index 02e1fa1ccad..c8f49211457 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Corrupt.java +++ b/Mage.Sets/src/mage/sets/magic2011/Corrupt.java @@ -80,6 +80,7 @@ class CorruptEffect extends OneShotEffect { public CorruptEffect() { super(Outcome.Damage); + staticText = "Corrupt deals damage equal to the number of Swamps you control to target creature or player. You gain life equal to the damage dealt this way"; } public CorruptEffect(final CorruptEffect effect) { @@ -117,9 +118,4 @@ class CorruptEffect extends OneShotEffect { return new CorruptEffect(this); } - @Override - public String getText(Ability source) { - return "Corrupt deals damage equal to the number of Swamps you control to target creature or player. You gain life equal to the damage dealt this way"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/Cultivate.java b/Mage.Sets/src/mage/sets/magic2011/Cultivate.java index d01e2201b86..8c9b720eb5f 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Cultivate.java +++ b/Mage.Sets/src/mage/sets/magic2011/Cultivate.java @@ -79,6 +79,7 @@ class CultivateEffect extends OneShotEffect { public CultivateEffect() { super(Outcome.PutLandInPlay); + staticText = "Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Then shuffle your library"; } public CultivateEffect(final CultivateEffect effect) { @@ -129,9 +130,4 @@ class CultivateEffect extends OneShotEffect { } - @Override - public String getText(Ability source) { - return "Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Then shuffle your library"; - } - } diff --git a/Mage.Sets/src/mage/sets/magic2011/CyclopsGladiator.java b/Mage.Sets/src/mage/sets/magic2011/CyclopsGladiator.java index 33b88c30468..56d162ad5d8 100644 --- a/Mage.Sets/src/mage/sets/magic2011/CyclopsGladiator.java +++ b/Mage.Sets/src/mage/sets/magic2011/CyclopsGladiator.java @@ -77,6 +77,7 @@ class CyclopsGladiatorEffect extends OneShotEffect { public CyclopsGladiatorEffect() { super(Outcome.Damage); + staticText = "you may have it deal damage equal to its power to target creature defending player controls. If you do, that creature deals damage equal to its power to Cyclops Gladiator"; } public CyclopsGladiatorEffect(final CyclopsGladiatorEffect effect) { @@ -108,9 +109,4 @@ class CyclopsGladiatorEffect extends OneShotEffect { return new CyclopsGladiatorEffect(this); } - @Override - public String getText(Ability source) { - return "you may have it deal damage equal to its power to target creature defending player controls. If you do, that creature deals damage equal to its power to Cyclops Gladiator"; - } - } diff --git a/Mage.Sets/src/mage/sets/magic2011/DarkTutelage.java b/Mage.Sets/src/mage/sets/magic2011/DarkTutelage.java index 8b351c41168..96da2926327 100644 --- a/Mage.Sets/src/mage/sets/magic2011/DarkTutelage.java +++ b/Mage.Sets/src/mage/sets/magic2011/DarkTutelage.java @@ -72,6 +72,7 @@ class DarkTutelageEffect extends OneShotEffect { public DarkTutelageEffect() { super(Outcome.DrawCard); + staticText = "reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost"; } public DarkTutelageEffect(final DarkTutelageEffect effect) { @@ -98,9 +99,4 @@ class DarkTutelageEffect extends OneShotEffect { return new DarkTutelageEffect(this); } - @Override - public String getText(Ability source) { - return "reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost"; - } - } diff --git a/Mage.Sets/src/mage/sets/magic2011/DryadsFavor.java b/Mage.Sets/src/mage/sets/magic2011/DryadsFavor.java index 9f69e6ae86f..02d7247ae95 100644 --- a/Mage.Sets/src/mage/sets/magic2011/DryadsFavor.java +++ b/Mage.Sets/src/mage/sets/magic2011/DryadsFavor.java @@ -83,6 +83,7 @@ class DryadsFavorEffect extends ContinuousEffectImpl { public DryadsFavorEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Enchanted creature has forestwalk"; } public DryadsFavorEffect(final DryadsFavorEffect effect) { @@ -123,8 +124,4 @@ class DryadsFavorEffect extends ContinuousEffectImpl { return layer == Layer.AbilityAddingRemovingEffects_6; } - @Override - public String getText(Ability source) { - return "Enchanted creature has forestwalk"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/ElixirOfImmortality.java b/Mage.Sets/src/mage/sets/magic2011/ElixirOfImmortality.java index d47bb10de18..ae3542d7be7 100644 --- a/Mage.Sets/src/mage/sets/magic2011/ElixirOfImmortality.java +++ b/Mage.Sets/src/mage/sets/magic2011/ElixirOfImmortality.java @@ -78,6 +78,7 @@ class ElixerOfImmortalityEffect extends OneShotEffect public ElixerOfImmortalityEffect() { super(Outcome.GainLife); + staticText = "Shuffle Elixir of Immortality and your graveyard into your library"; } public ElixerOfImmortalityEffect(final ElixerOfImmortalityEffect effect) { @@ -104,9 +105,4 @@ class ElixerOfImmortalityEffect extends OneShotEffect return new ElixerOfImmortalityEffect(this); } - @Override - public String getText(Ability source) { - return "Shuffle Elixir of Immortality and your graveyard into your library"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/FireServant.java b/Mage.Sets/src/mage/sets/magic2011/FireServant.java index ecb23298a37..43a2f50f280 100644 --- a/Mage.Sets/src/mage/sets/magic2011/FireServant.java +++ b/Mage.Sets/src/mage/sets/magic2011/FireServant.java @@ -75,6 +75,7 @@ class FireServantEffect extends ReplacementEffectImpl { public FireServantEffect() { super(Duration.WhileOnBattlefield, Outcome.Damage); + staticText = "If a red instant or sorcery spell you control would deal damage, it deals double that damage instead"; } public FireServantEffect(final FireServantEffect effect) { @@ -111,8 +112,4 @@ class FireServantEffect extends ReplacementEffectImpl { return apply(game, source); } - @Override - public String getText(Ability source) { - return "If a red instant or sorcery spell you control would deal damage, it deals double that damage instead"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/Fling.java b/Mage.Sets/src/mage/sets/magic2011/Fling.java index 37e08418cc2..559eff5166c 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Fling.java +++ b/Mage.Sets/src/mage/sets/magic2011/Fling.java @@ -72,6 +72,7 @@ class FlingEffect extends OneShotEffect { public FlingEffect() { super(Outcome.Damage); + staticText = "Fling deals damage equal to the sacrificed creature's power to target creature or player"; } public FlingEffect(final FlingEffect effect) { @@ -107,8 +108,4 @@ class FlingEffect extends OneShotEffect { return new FlingEffect(this); } - @Override - public String getText(Ability source) { - return "Fling deals damage equal to the sacrificed creature's power to target creature or player"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/GargoyleSentinel.java b/Mage.Sets/src/mage/sets/magic2011/GargoyleSentinel.java index f53665dae10..9e7aab2c674 100644 --- a/Mage.Sets/src/mage/sets/magic2011/GargoyleSentinel.java +++ b/Mage.Sets/src/mage/sets/magic2011/GargoyleSentinel.java @@ -80,6 +80,7 @@ class GargoyleSentinelEffect extends ContinuousEffectImpl { public HarborSerpentEffect() { super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "Harbor Serpent can't attack unless there are five or more Islands on the battlefield"; } public HarborSerpentEffect(final HarborSerpentEffect effect) { @@ -117,9 +118,5 @@ class HarborSerpentEffect extends ReplacementEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Harbor Serpent can't attack unless there are five or more Islands on the battlefield"; - } } diff --git a/Mage.Sets/src/mage/sets/magic2011/HoardingDragon.java b/Mage.Sets/src/mage/sets/magic2011/HoardingDragon.java index 739b46f6451..2dd6695a8d8 100644 --- a/Mage.Sets/src/mage/sets/magic2011/HoardingDragon.java +++ b/Mage.Sets/src/mage/sets/magic2011/HoardingDragon.java @@ -92,6 +92,7 @@ class HoardingDragonEffect extends OneShotEffect { super(Outcome.Exile); this.exileId = exileId; target = new TargetCardInLibrary(); + staticText = "When Hoarding Dragon enters the battlefield, you may search your library for an artifact card, exile it, then shuffle your library"; } public HoardingDragonEffect(final HoardingDragonEffect effect) { @@ -119,8 +120,4 @@ class HoardingDragonEffect extends OneShotEffect { return new HoardingDragonEffect(this); } - @Override - public String getText(Ability source) { - return "When Hoarding Dragon enters the battlefield, you may search your library for an artifact card, exile it, then shuffle your library"; - } } diff --git a/Mage.Sets/src/mage/sets/magic2011/Incite.java b/Mage.Sets/src/mage/sets/magic2011/Incite.java index b373c07732f..467ceadfe15 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Incite.java +++ b/Mage.Sets/src/mage/sets/magic2011/Incite.java @@ -72,6 +72,7 @@ class InciteEffect extends ContinuousEffectImpl { public InciteEffect() { super(Duration.EndOfTurn, Layer.ColorChangingEffects_5, SubLayer.NA, Outcome.Detriment); + staticText = "Target creature becomes red until end of turn"; } public InciteEffect(final InciteEffect effect) { @@ -97,8 +98,4 @@ class InciteEffect extends ContinuousEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Target creature becomes red until end of turn"; - } } diff --git a/Mage.Sets/src/mage/sets/magic2011/JinxedIdol.java b/Mage.Sets/src/mage/sets/magic2011/JinxedIdol.java index ed65461993b..c6593a422f6 100644 --- a/Mage.Sets/src/mage/sets/magic2011/JinxedIdol.java +++ b/Mage.Sets/src/mage/sets/magic2011/JinxedIdol.java @@ -79,6 +79,7 @@ class JinxedIdolEffect extends ContinuousEffectImpl { public JinxedIdolEffect() { super(Duration.WhileOnBattlefield, Layer.ControlChangingEffects_2, SubLayer.NA, Outcome.GainControl); + staticText = "Target opponent gains control of Jinxed Idol"; } public JinxedIdolEffect(final JinxedIdolEffect effect) { @@ -99,8 +100,4 @@ class JinxedIdolEffect extends ContinuousEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Target opponent gains control of Jinxed Idol"; - } } diff --git a/Mage.Sets/src/mage/sets/magic2011/LeylineOfAnticipation.java b/Mage.Sets/src/mage/sets/magic2011/LeylineOfAnticipation.java index c9298615754..890344ed107 100644 --- a/Mage.Sets/src/mage/sets/magic2011/LeylineOfAnticipation.java +++ b/Mage.Sets/src/mage/sets/magic2011/LeylineOfAnticipation.java @@ -72,6 +72,7 @@ class LeylineOfAnticipationEffect extends AsThoughEffectImpl { public LeylineOfPunishmentEffect2() { super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "Damage can't be prevented"; } public LeylineOfPunishmentEffect2(final LeylineOfPunishmentEffect2 effect) { @@ -142,9 +139,4 @@ class LeylineOfPunishmentEffect2 extends ReplacementEffectImpl { public LilianasSpecterEffect() { super(Outcome.Discard); + staticText = "each opponent discards a card"; } public LilianasSpecterEffect(final LilianasSpecterEffect effect) { @@ -94,8 +95,4 @@ class LilianasSpecterEffect extends OneShotEffect { return new LilianasSpecterEffect(this); } - @Override - public String getText(Ability source) { - return "each opponent discards a card"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java b/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java index 066d46cd933..9b46181bb1a 100644 --- a/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java +++ b/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java @@ -72,6 +72,7 @@ class MassPolymorphEffect extends OneShotEffect { public MassPolymorphEffect() { super(Outcome.PutCreatureInPlay); + staticText = "Exile all creatures you control, then reveal cards from the top of your library until you reveal that many creature cards. Put all creature cards revealed this way onto the battlefield, then shuffle the rest of the revealed cards into your library"; } public MassPolymorphEffect(final MassPolymorphEffect effect) { @@ -112,8 +113,4 @@ class MassPolymorphEffect extends OneShotEffect { return new MassPolymorphEffect(this); } - @Override - public String getText(Ability source) { - return "Exile all creatures you control, then reveal cards from the top of your library until you reveal that many creature cards. Put all creature cards revealed this way onto the battlefield, then shuffle the rest of the revealed cards into your library"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/MerfolkSpy.java b/Mage.Sets/src/mage/sets/magic2011/MerfolkSpy.java index dc85f6424df..9a00b6a3d65 100644 --- a/Mage.Sets/src/mage/sets/magic2011/MerfolkSpy.java +++ b/Mage.Sets/src/mage/sets/magic2011/MerfolkSpy.java @@ -77,6 +77,7 @@ class MerfolkSpyEffect extends OneShotEffect { public MerfolkSpyEffect() { super(Outcome.Detriment); + staticText = "that player reveals a card at random from his or her hand"; } public MerfolkSpyEffect(final MerfolkSpyEffect effect) { @@ -100,8 +101,4 @@ class MerfolkSpyEffect extends OneShotEffect { return new MerfolkSpyEffect(this); } - @Override - public String getText(Ability source) { - return "that player reveals a card at random from his or her hand"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/MystifyingMaze.java b/Mage.Sets/src/mage/sets/magic2011/MystifyingMaze.java index a322cedc12b..64b3b732484 100644 --- a/Mage.Sets/src/mage/sets/magic2011/MystifyingMaze.java +++ b/Mage.Sets/src/mage/sets/magic2011/MystifyingMaze.java @@ -86,6 +86,7 @@ class MystifyingMazeEffect extends OneShotEffect { public MystifyingMazeEffect() { super(Outcome.Detriment); + staticText = "Exile target attacking creature an opponent controls. At the beginning of the next end step, return it to the battlefield tapped under its owner's control"; } public MystifyingMazeEffect(final MystifyingMazeEffect effect) { @@ -112,11 +113,6 @@ class MystifyingMazeEffect extends OneShotEffect { public MystifyingMazeEffect copy() { return new MystifyingMazeEffect(this); } - - @Override - public String getText(Ability source) { - return "Exile target attacking creature an opponent controls. At the beginning of the next end step, return it to the battlefield tapped under its owner's control"; - } } class MystifyingMazeDelayedTriggeredAbility extends DelayedTriggeredAbility { diff --git a/Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java b/Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java index d79b0309faa..3ac474a81a9 100644 --- a/Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java +++ b/Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java @@ -91,6 +91,7 @@ class NecroticPlagueEffect extends ContinuousEffectImpl { public NecroticPlagueEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature.\" When enchanted creature is put into a graveyard, its controller chooses target creature one of his or her opponents controls. Return Necrotic Plague from its owner's graveyard to the battlefield attached to that creature."; } public NecroticPlagueEffect(final NecroticPlagueEffect effect) { @@ -132,10 +133,6 @@ class NecroticPlagueEffect extends ContinuousEffectImpl { return layer == Layer.AbilityAddingRemovingEffects_6; } - @Override - public String getText(Ability source) { - return "Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature.\" When enchanted creature is put into a graveyard, its controller chooses target creature one of his or her opponents controls. Return Necrotic Plague from its owner's graveyard to the battlefield attached to that creature."; - } } class NecroticPlagueEffect2 extends OneShotEffect { @@ -151,6 +148,7 @@ class NecroticPlagueEffect2 extends OneShotEffect { public NecroticPlagueEffect2(UUID cardId) { super(Outcome.PutCardInPlay); this.cardId = cardId; + staticText = "its controller chooses target creature one of his or her opponents controls. Return Necrotic Plague from its owner's graveyard to the battlefield attached to that creature."; } public NecroticPlagueEffect2(final NecroticPlagueEffect2 effect) { @@ -184,9 +182,5 @@ class NecroticPlagueEffect2 extends OneShotEffect { return new NecroticPlagueEffect2(this); } - @Override - public String getText(Ability source) { - return "its controller chooses target creature one of his or her opponents controls. Return Necrotic Plague from its owner's graveyard to the battlefield attached to that creature."; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/ObstinateBaloth.java b/Mage.Sets/src/mage/sets/magic2011/ObstinateBaloth.java index d3baa017306..a3ea2eb9517 100644 --- a/Mage.Sets/src/mage/sets/magic2011/ObstinateBaloth.java +++ b/Mage.Sets/src/mage/sets/magic2011/ObstinateBaloth.java @@ -82,6 +82,7 @@ class ObstinateBalothEffect extends ReplacementEffectImpl public ObstinateBalothEffect() { super(Duration.EndOfGame, Outcome.PutCardInPlay); + staticText = "If a spell or ability an opponent controls causes you to discard Obstinate Baloth, put it onto the battlefield instead of putting it into your graveyard"; } public ObstinateBalothEffect(final ObstinateBalothEffect effect) { @@ -127,8 +128,4 @@ class ObstinateBalothEffect extends ReplacementEffectImpl return apply(game, source); } - @Override - public String getText(Ability source) { - return "If a spell or ability an opponent controls causes you to discard Obstinate Baloth, put it onto the battlefield instead of putting it into your graveyard"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/OverwhelmingStampede.java b/Mage.Sets/src/mage/sets/magic2011/OverwhelmingStampede.java index b4da7ec0262..c666c321c1f 100644 --- a/Mage.Sets/src/mage/sets/magic2011/OverwhelmingStampede.java +++ b/Mage.Sets/src/mage/sets/magic2011/OverwhelmingStampede.java @@ -70,6 +70,7 @@ class OverwhelmingStampedeEffect extends ContinuousEffectImpl { public PhylacteryLichEffect() { super(Outcome.Neutral); + staticText = "put a phylactery counter on an artifact you control"; } public PhylacteryLichEffect(final PhylacteryLichEffect effect) { @@ -152,8 +153,4 @@ class PhylacteryLichEffect extends OneShotEffect { return new PhylacteryLichEffect(this); } - @Override - public String getText(Ability source) { - return "put a phylactery counter on an artifact you control"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/SerraAscendant.java b/Mage.Sets/src/mage/sets/magic2011/SerraAscendant.java index f028d6152d6..99f0a61f40b 100644 --- a/Mage.Sets/src/mage/sets/magic2011/SerraAscendant.java +++ b/Mage.Sets/src/mage/sets/magic2011/SerraAscendant.java @@ -81,6 +81,7 @@ class SerraAscendantEffect extends ContinuousEffectImpl { public SerraAscendantEffect() { super(Duration.WhileOnBattlefield, Outcome.BoostCreature); + staticText = "As long as you have 30 or more life, Serra Ascendant gets +5/+5 and has flying"; } public SerraAscendantEffect(final SerraAscendantEffect effect) { @@ -127,8 +128,4 @@ class SerraAscendantEffect extends ContinuousEffectImpl { return layer == Layer.AbilityAddingRemovingEffects_6 || layer == layer.PTChangingEffects_7; } - @Override - public String getText(Ability source) { - return "As long as you have 30 or more life, Serra Ascendant gets +5/+5 and has flying"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/ShivsEmbrace.java b/Mage.Sets/src/mage/sets/magic2011/ShivsEmbrace.java index 34f5ec3f984..d8c04ac3a68 100644 --- a/Mage.Sets/src/mage/sets/magic2011/ShivsEmbrace.java +++ b/Mage.Sets/src/mage/sets/magic2011/ShivsEmbrace.java @@ -87,6 +87,7 @@ class ShivsEmbraceEffect extends ContinuousEffectImpl { public ShivsEmbraceEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Enchanted creature gets +2/+2 and has flying"; } public ShivsEmbraceEffect(final ShivsEmbraceEffect effect) { @@ -133,8 +134,4 @@ class ShivsEmbraceEffect extends ContinuousEffectImpl { return layer == Layer.AbilityAddingRemovingEffects_6 || layer == layer.PTChangingEffects_7; } - @Override - public String getText(Ability source) { - return "Enchanted creature gets +2/+2 and has flying"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/SorcerersStrongbox.java b/Mage.Sets/src/mage/sets/magic2011/SorcerersStrongbox.java index aa0dd42201d..bbf4411b7d7 100644 --- a/Mage.Sets/src/mage/sets/magic2011/SorcerersStrongbox.java +++ b/Mage.Sets/src/mage/sets/magic2011/SorcerersStrongbox.java @@ -76,6 +76,7 @@ class SorcerersStrongboxEffect extends OneShotEffect { public SorcerersStrongboxEffect() { super(Outcome.DrawCard); + staticText = "Flip a coin. If you win the flip, sacrifice Sorcerer's Strongbox and draw three cards"; } public SorcerersStrongboxEffect(final SorcerersStrongboxEffect effect) { @@ -103,8 +104,4 @@ class SorcerersStrongboxEffect extends OneShotEffect { return new SorcerersStrongboxEffect(this); } - @Override - public String getText(Ability source) { - return "Flip a coin. If you win the flip, sacrifice Sorcerer's Strongbox and draw three cards"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/StormtideLeviathan.java b/Mage.Sets/src/mage/sets/magic2011/StormtideLeviathan.java index d1fb1306a24..d165adf9be3 100644 --- a/Mage.Sets/src/mage/sets/magic2011/StormtideLeviathan.java +++ b/Mage.Sets/src/mage/sets/magic2011/StormtideLeviathan.java @@ -86,6 +86,7 @@ class StormtideLeviathanEffect extends ContinuousEffectImpl { @@ -118,6 +115,7 @@ class StormtideLeviathanEffect2 extends ReplacementEffectImpl { public TimeReversalEffect() { super(Outcome.Neutral); + staticText = "Each player shuffles his or her hand and graveyard into his or her library, then draws seven cards"; } public TimeReversalEffect(final TimeReversalEffect effect) { @@ -95,8 +96,4 @@ class TimeReversalEffect extends OneShotEffect { return new TimeReversalEffect(this); } - @Override - public String getText(Ability source) { - return "Each player shuffles his or her hand and graveyard into his or her library, then draws seven cards"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2011/VengefulArchon.java b/Mage.Sets/src/mage/sets/magic2011/VengefulArchon.java index 5c9091e8424..85834028cf0 100644 --- a/Mage.Sets/src/mage/sets/magic2011/VengefulArchon.java +++ b/Mage.Sets/src/mage/sets/magic2011/VengefulArchon.java @@ -82,6 +82,7 @@ class VengefulArchonEffect extends PreventionEffectImpl { public VengefulArchonEffect() { super(Duration.EndOfTurn); + staticText = "Prevent the next X damage that would be dealt to you this turn. If damage is prevented this way, Vengeful Archon deals that much damage to target player"; } public VengefulArchonEffect(final VengefulArchonEffect effect) { @@ -138,9 +139,4 @@ class VengefulArchonEffect extends PreventionEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Prevent the next X damage that would be dealt to you this turn. If damage is prevented this way, Vengeful Archon deals that much damage to target player"; - } - } diff --git a/Mage.Sets/src/mage/sets/magic2011/VolcanicStrength.java b/Mage.Sets/src/mage/sets/magic2011/VolcanicStrength.java index bebf3b45efb..3a081e3917f 100644 --- a/Mage.Sets/src/mage/sets/magic2011/VolcanicStrength.java +++ b/Mage.Sets/src/mage/sets/magic2011/VolcanicStrength.java @@ -83,6 +83,7 @@ class VolcanicStrengthEffect extends ContinuousEffectImpl { class GarrukPrimalHunterEffect extends OneShotEffect { GarrukPrimalHunterEffect() { super(Constants.Outcome.DrawCard); + staticText = "Draw cards equal to the greatest power among creatures you control"; } GarrukPrimalHunterEffect(final GarrukPrimalHunterEffect effect) { @@ -117,10 +118,6 @@ class GarrukPrimalHunterEffect extends OneShotEffect { return new GarrukPrimalHunterEffect(this); } - @Override - public String getText(Ability source) { - return "Draw cards equal to the greatest power among creatures you control"; - } } class WurmToken extends Token { diff --git a/Mage.Sets/src/mage/sets/magic2012/GideonsAvenger.java b/Mage.Sets/src/mage/sets/magic2012/GideonsAvenger.java index 4e2f46767c2..d953b14916e 100644 --- a/Mage.Sets/src/mage/sets/magic2012/GideonsAvenger.java +++ b/Mage.Sets/src/mage/sets/magic2012/GideonsAvenger.java @@ -97,6 +97,6 @@ class GideonsAvengerTriggeredAbility extends TriggeredAbilityImpl { TectonicRiftEffect() { super(Duration.EndOfTurn); + staticText = "Creatures without flying can't block this turn"; } TectonicRiftEffect(final TectonicRiftEffect effect) { @@ -95,8 +96,4 @@ class TectonicRiftEffect extends RestrictionEffect { return false; } - @Override - public String getText(Ability source) { - return "Creatures without flying can't block this turn"; - } } diff --git a/Mage.Sets/src/mage/sets/mirrodin/Arrest.java b/Mage.Sets/src/mage/sets/mirrodin/Arrest.java index 8e1e76d5e40..c2d836d9c7a 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/Arrest.java +++ b/Mage.Sets/src/mage/sets/mirrodin/Arrest.java @@ -81,6 +81,7 @@ class ArrestEffect extends ReplacementEffectImpl { public ArrestEffect() { super(Duration.WhileOnBattlefield, Constants.Outcome.Detriment); + staticText = "Enchanted creature can't attack or block, and its activated abilities can't be activated"; } public ArrestEffect(final ArrestEffect effect) { @@ -117,8 +118,4 @@ class ArrestEffect extends ReplacementEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Enchanted creature can't attack or block, and its activated abilities can't be activated"; - } } diff --git a/Mage.Sets/src/mage/sets/mirrodin/ClockworkBeetle.java b/Mage.Sets/src/mage/sets/mirrodin/ClockworkBeetle.java index 0daa99a1822..fb8e36a5721 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/ClockworkBeetle.java +++ b/Mage.Sets/src/mage/sets/mirrodin/ClockworkBeetle.java @@ -74,6 +74,7 @@ public class ClockworkBeetle extends CardImpl { class ClockworkBeetleEffect extends OneShotEffect { ClockworkBeetleEffect() { super(Constants.Outcome.UnboostCreature); + staticText = "remove a +1/+1 counter from {this} at end of combat"; } ClockworkBeetleEffect(final ClockworkBeetleEffect effect) { @@ -97,9 +98,5 @@ class ClockworkBeetleEffect extends OneShotEffect { return new ClockworkBeetleEffect(this); } - @Override - public String getText(Ability source) { - return "remove a +1/+1 counter from {this} at end of combat"; - } } diff --git a/Mage.Sets/src/mage/sets/mirrodin/ClockworkCondor.java b/Mage.Sets/src/mage/sets/mirrodin/ClockworkCondor.java index 4e28480ad0e..91dcd0e6e4c 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/ClockworkCondor.java +++ b/Mage.Sets/src/mage/sets/mirrodin/ClockworkCondor.java @@ -79,6 +79,7 @@ public class ClockworkCondor extends CardImpl { class ClockworkCondorEffect extends OneShotEffect { ClockworkCondorEffect() { super(Constants.Outcome.UnboostCreature); + staticText = "remove a +1/+1 counter from {this} at end of combat"; } ClockworkCondorEffect(final ClockworkCondorEffect effect) { @@ -102,8 +103,4 @@ class ClockworkCondorEffect extends OneShotEffect { return new ClockworkCondorEffect(this); } - @Override - public String getText(Ability source) { - return "remove a +1/+1 counter from {this} at end of combat"; - } } diff --git a/Mage.Sets/src/mage/sets/mirrodin/ClockworkDragon.java b/Mage.Sets/src/mage/sets/mirrodin/ClockworkDragon.java index 2466dca789d..ff7dd015d4e 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/ClockworkDragon.java +++ b/Mage.Sets/src/mage/sets/mirrodin/ClockworkDragon.java @@ -83,6 +83,7 @@ public class ClockworkDragon extends CardImpl { class ClockworkDragonEffect extends OneShotEffect { ClockworkDragonEffect() { super(Constants.Outcome.UnboostCreature); + staticText = "remove a +1/+1 counter from {this} at end of combat"; } ClockworkDragonEffect(final ClockworkDragonEffect effect) { @@ -106,8 +107,4 @@ class ClockworkDragonEffect extends OneShotEffect { return new ClockworkDragonEffect(this); } - @Override - public String getText(Ability source) { - return "remove a +1/+1 counter from {this} at end of combat"; - } } diff --git a/Mage.Sets/src/mage/sets/mirrodin/ClockworkVorrac.java b/Mage.Sets/src/mage/sets/mirrodin/ClockworkVorrac.java index 05fd0c59d1f..dfe6429a684 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/ClockworkVorrac.java +++ b/Mage.Sets/src/mage/sets/mirrodin/ClockworkVorrac.java @@ -80,6 +80,7 @@ public class ClockworkVorrac extends CardImpl { class ClockworkVorracEffect extends OneShotEffect { ClockworkVorracEffect() { super(Constants.Outcome.UnboostCreature); + staticText = "remove a +1/+1 counter from {this} at end of combat"; } ClockworkVorracEffect(final ClockworkVorracEffect effect) { @@ -103,9 +104,5 @@ class ClockworkVorracEffect extends OneShotEffect { return new ClockworkVorracEffect(this); } - @Override - public String getText(Ability source) { - return "remove a +1/+1 counter from {this} at end of combat"; - } } diff --git a/Mage.Sets/src/mage/sets/mirrodin/LifesparkSpellbomb.java b/Mage.Sets/src/mage/sets/mirrodin/LifesparkSpellbomb.java index 3847c897053..9ff05daf550 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/LifesparkSpellbomb.java +++ b/Mage.Sets/src/mage/sets/mirrodin/LifesparkSpellbomb.java @@ -78,6 +78,7 @@ class LifesparkSpellbombEffect extends ContinuousEffectImpl { class BlackSunsZenithEffect extends OneShotEffect { BlackSunsZenithEffect() { super(Constants.Outcome.UnboostCreature); + staticText = "Put X -1/-1 counters on each creature"; } BlackSunsZenithEffect(final BlackSunsZenithEffect effect) { @@ -91,8 +92,4 @@ class BlackSunsZenithEffect extends OneShotEffect { return new BlackSunsZenithEffect(this); } - @Override - public String getText(Ability source) { - return "Put X -1/-1 counters on each creature"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/BlightsteelColossus.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/BlightsteelColossus.java index ece377b5c86..d552334c2c3 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/BlightsteelColossus.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/BlightsteelColossus.java @@ -82,6 +82,7 @@ public class BlightsteelColossus extends CardImpl { class BlightsteelColossusEffect extends OneShotEffect { BlightsteelColossusEffect() { super(Constants.Outcome.Benefit); + staticText = "reveal Blightsteel Colossus and shuffle it into its owner's library"; } BlightsteelColossusEffect(final BlightsteelColossusEffect effect) { @@ -110,8 +111,4 @@ class BlightsteelColossusEffect extends OneShotEffect return new BlightsteelColossusEffect(this); } - @Override - public String getText(Ability source) { - return "reveal Blightsteel Colossus and shuffle it into its owner's library"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/BurntheImpure.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/BurntheImpure.java index 8637b6d2e90..1277369eb70 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/BurntheImpure.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/BurntheImpure.java @@ -35,13 +35,11 @@ import mage.Constants.CardType; import mage.Constants.Rarity; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetCreatureOrPlayer; import mage.target.common.TargetCreaturePermanent; /** @@ -74,6 +72,7 @@ public class BurntheImpure extends CardImpl { public BurntheImpureEffect(int amount) { super(Constants.Outcome.Damage); this.amount = amount; + staticText = "Burn the Impure deals 3 damage to target creature. If that creature has infect, Burn the Impure deals 3 damage to that creature's controller."; } public int getAmount() { @@ -106,11 +105,6 @@ public class BurntheImpure extends CardImpl { return false; } - @Override - public String getText(Ability source) { - return "Burn the Impure deals 3 damage to target creature. If that creature has infect, Burn the Impure deals 3 damage to that creature's controller."; - } - } } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/CausticHound.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/CausticHound.java index 3db7010fcb0..2cd6fd6a998 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/CausticHound.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/CausticHound.java @@ -30,16 +30,12 @@ package mage.sets.mirrodinbesieged; import java.util.UUID; -import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; import mage.MageInt; -import mage.abilities.Ability; import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility; -import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.LoseLifePlayersEffect; import mage.cards.CardImpl; -import mage.game.Game; -import mage.players.Player; /** * @@ -54,7 +50,7 @@ public class CausticHound extends CardImpl { this.color.setBlack(true); this.power = new MageInt(4); this.toughness = new MageInt(4); - this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new CausticHoundEffect())); + this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new LoseLifePlayersEffect(4))); } public CausticHound (final CausticHound card) { @@ -67,33 +63,3 @@ public class CausticHound extends CardImpl { } } -class CausticHoundEffect extends OneShotEffect { - CausticHoundEffect() { - super(Constants.Outcome.Damage); - } - - CausticHoundEffect(final CausticHoundEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - for (UUID playerId : game.getPlayerList()) { - Player p = game.getPlayer(playerId); - if (p != null) { - p.loseLife(4, game); - } - } - return true; - } - - @Override - public CausticHoundEffect copy() { - return new CausticHoundEffect(this); - } - - @Override - public String getText(Ability source) { - return "each player loses 4 life"; - } -} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/CreepingCorrosion.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/CreepingCorrosion.java index d7c3dd766c9..88ebca1bc12 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/CreepingCorrosion.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/CreepingCorrosion.java @@ -58,7 +58,4 @@ public class CreepingCorrosion extends CardImpl { return new CreepingCorrosion(this); } - public String getText(Ability source) { - return "Destroy all artifacts"; - } } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/Cryptoplasm.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/Cryptoplasm.java index 46ae108b58d..7f8086e19b9 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/Cryptoplasm.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/Cryptoplasm.java @@ -75,6 +75,7 @@ class CryptoplasmTransformEffect extends ContinuousEffectImpl { public DivineOfferingEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "You gain life equal to its converted mana cost"; } public DivineOfferingEffect(DivineOfferingEffect effect) { @@ -104,9 +105,5 @@ public class DivineOffering extends CardImpl { return new DivineOfferingEffect(this); } - @Override - public String getText(Ability source) { - return "You gain life equal to its converted mana cost"; - } } } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/GreenSunsZenith.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/GreenSunsZenith.java index edfb7ebb6f3..203997ce5af 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/GreenSunsZenith.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/GreenSunsZenith.java @@ -72,6 +72,7 @@ public class GreenSunsZenith extends CardImpl { class GreenSunsZenithSearchEffect extends OneShotEffect { GreenSunsZenithSearchEffect() { super(Constants.Outcome.PutCreatureInPlay); + staticText = "Search your library for a green creature card with converted mana cost X or less, put it onto the battlefield, then shuffle your library"; } GreenSunsZenithSearchEffect(final GreenSunsZenithSearchEffect effect) { @@ -107,8 +108,4 @@ class GreenSunsZenithSearchEffect extends OneShotEffect { class HeroOfBladeholdEffect extends OneShotEffect { HeroOfBladeholdEffect() { super(Outcome.PutCreatureInPlay); + staticText = "put two 1/1 white Soldier creature tokens onto the battlefield tapped and attacking"; } HeroOfBladeholdEffect(final HeroOfBladeholdEffect effect) { @@ -101,8 +102,4 @@ class HeroOfBladeholdEffect extends OneShotEffect { return new HeroOfBladeholdEffect(this); } - @Override - public String getText(Ability source) { - return "put two 1/1 white Soldier creature tokens onto the battlefield tapped and attacking"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/MorbidPlunder.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/MorbidPlunder.java index 1784386deec..c87be115178 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/MorbidPlunder.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/MorbidPlunder.java @@ -74,6 +74,7 @@ class MorbidPlunderEffect extends OneShotEffect { public MorbidPlunderEffect() { super(Outcome.ReturnToHand); + staticText = "Return up to two target creature cards from your graveyard to your hand"; } public MorbidPlunderEffect(final MorbidPlunderEffect effect) { @@ -100,10 +101,6 @@ class MorbidPlunderEffect extends OneShotEffect { return result; } - @Override - public String getText(Ability source) { - return "Return up to two target creature cards from your graveyard to your hand"; - } } class TargetCardInYourGraveyard extends TargetCard { diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianRebirth.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianRebirth.java index c332ecadd0b..22d7091f1d3 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianRebirth.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianRebirth.java @@ -34,10 +34,8 @@ import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; import mage.MageInt; -import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; @@ -70,6 +68,7 @@ public class PhyrexianRebirth extends CardImpl { public PhyrexianRebirthEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy all creatures, then put an X/X colorless Horror artifact creature token onto the battlefield, where X is the number of creatures destroyed this way"; } public PhyrexianRebirthEffect(PhyrexianRebirthEffect ability) { @@ -94,10 +93,6 @@ public class PhyrexianRebirth extends CardImpl { return new PhyrexianRebirthEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy all creatures, then put an X/X colorless Horror artifact creature token onto the battlefield, where X is the number of creatures destroyed this way"; - } } class HorrorToken extends Token { diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianVatmother.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianVatmother.java index 1c345721a02..176ee7c5345 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianVatmother.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianVatmother.java @@ -78,6 +78,8 @@ class PoisonControllerEffect extends OneShotEffect { public PoisonControllerEffect(int amount) { super(Outcome.Damage); this.amount = amount; + staticText = "you get " + amount + " poison counter(s)"; + } public PoisonControllerEffect(final PoisonControllerEffect effect) { @@ -100,11 +102,4 @@ class PoisonControllerEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - StringBuilder sb = new StringBuilder(); - sb.append("you get ").append(Integer.toString(amount)).append(" poison counter(s)"); - return sb.toString(); - } - } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/PistonSledge.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/PistonSledge.java index 093e938408e..4524847b5b6 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/PistonSledge.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/PistonSledge.java @@ -108,14 +108,11 @@ class PistonSledgeEquipCost extends AlternativeCost { class PistonSledgeEffect extends AttachEffect{ public PistonSledgeEffect(Outcome outcome) { super(outcome); + staticText = "attach it to target creature you control"; } public PistonSledgeEffect(final AttachEffect effect) { super(effect); } - @Override - public String getText(Ability source) { - return "attach it to target creature you control"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/PistusStrike.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/PistusStrike.java index d27a8874211..5248a5ee370 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/PistusStrike.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/PistusStrike.java @@ -85,6 +85,7 @@ class PoisonControllerTargetCreatureEffect extends OneShotEffect { public LoseLifeOpponentsEffect() { super(Outcome.Damage); + staticText = "each opponent loses 1 life"; } public LoseLifeOpponentsEffect(final LoseLifeOpponentsEffect effect) { @@ -102,8 +103,4 @@ class LoseLifeOpponentsEffect extends OneShotEffect { return applied; } - @Override - public String getText(Ability source) { - return "each opponent loses 1 life"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/ShimmerMyr.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/ShimmerMyr.java index 1ccafe8ed92..3d0af84df8c 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/ShimmerMyr.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/ShimmerMyr.java @@ -73,6 +73,7 @@ class ShimmerMyrEffect extends AsThoughEffectImpl { public ShimmerMyrEffect() { super(Constants.AsThoughEffectType.CAST, Constants.Duration.WhileOnBattlefield, Constants.Outcome.Benefit); + staticText = "You may cast artifact cards as though they had flash"; } public ShimmerMyrEffect(final ShimmerMyrEffect effect) { @@ -100,9 +101,4 @@ class ShimmerMyrEffect extends AsThoughEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "You may cast artifact cards as though they had flash"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/Slagstorm.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/Slagstorm.java index af60c22b636..90a70f73f6d 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/Slagstorm.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/Slagstorm.java @@ -30,17 +30,13 @@ package mage.sets.mirrodinbesieged; import java.util.UUID; -import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; -import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.filter.common.FilterCreaturePermanent; -import mage.game.Game; -import mage.players.Player; /** * @@ -54,7 +50,7 @@ public class Slagstorm extends CardImpl { this.color.setRed(true); this.getSpellAbility().addEffect(new DamageAllEffect(3, FilterCreaturePermanent.getDefault())); Mode mode = new Mode(); - mode.getEffects().add(new SlagstormEffect()); + mode.getEffects().add(new DamagePlayersEffect(3)); this.getSpellAbility().addMode(mode); } @@ -68,34 +64,3 @@ public class Slagstorm extends CardImpl { } } - - -class SlagstormEffect extends OneShotEffect { - SlagstormEffect() { - super(Constants.Outcome.Damage); - } - - SlagstormEffect(final SlagstormEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) { - Player player = game.getPlayer(playerId); - if (player != null) - player.damage(3, source.getId(), game, false, true); - } - return true; - } - - @Override - public SlagstormEffect copy() { - return new SlagstormEffect(this); - } - - @Override - public String getText(Ability source) { - return "Slagstorm deals 3 damage to each player"; - } -} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/newphyrexia/ApostlesBlessing.java b/Mage.Sets/src/mage/sets/newphyrexia/ApostlesBlessing.java index 60b623eca3d..4953ff2beb0 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/ApostlesBlessing.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/ApostlesBlessing.java @@ -86,6 +86,7 @@ class ApostlesBlessingEffect extends GainAbilityTargetEffect { public ApostlesBlessingEffect(Duration duration) { super(new ProtectionAbility(new FilterCard()), duration); protectionFilter = (FilterCard)((ProtectionAbility)ability).getFilter(); + staticText = "Target artifact or creature gains protection from artifacts or from the color of your choice until end of turn"; } public ApostlesBlessingEffect(final ApostlesBlessingEffect effect) { @@ -119,10 +120,4 @@ class ApostlesBlessingEffect extends GainAbilityTargetEffect { return false; } - @Override - public String getText(Ability source) { - return "target " + source.getTargets().get(0).getTargetName() + " gains protection from artifacts or from the color of your choice " + duration.toString(); - - } - } diff --git a/Mage.Sets/src/mage/sets/newphyrexia/BeastWithin.java b/Mage.Sets/src/mage/sets/newphyrexia/BeastWithin.java index d183a5ce12c..8d06ff5d831 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/BeastWithin.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/BeastWithin.java @@ -73,6 +73,7 @@ class BeastWithinEffect extends OneShotEffect { public BeastWithinEffect() { super(Outcome.PutCreatureInPlay); + staticText = "Its controller puts a 3/3 green Beast creature token onto the battlefield"; } public BeastWithinEffect(final BeastWithinEffect effect) { @@ -94,8 +95,4 @@ class BeastWithinEffect extends OneShotEffect { return true; } - @Override - public String getDynamicText(Ability source) { - return "Its controller puts a 3/3 green Beast creature token onto the battlefield"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/newphyrexia/ChainedThroatseeker.java b/Mage.Sets/src/mage/sets/newphyrexia/ChainedThroatseeker.java index 2f79dd46a3d..b332855526f 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/ChainedThroatseeker.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/ChainedThroatseeker.java @@ -75,6 +75,7 @@ class ChainedThroatseekerEffect extends ReplacementEffectImpl { class EnslaveEffect extends OneShotEffect { EnslaveEffect() { super(Constants.Outcome.Damage); + staticText = "enchanted creature deals 1 damage to its owner"; } EnslaveEffect(final EnslaveEffect effect) { @@ -110,8 +110,4 @@ class EnslaveEffect extends OneShotEffect { return new EnslaveEffect(this); } - @Override - public String getText(Ability source) { - return "enchanted creature deals 1 damage to its owner"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/newphyrexia/EvilPresence.java b/Mage.Sets/src/mage/sets/newphyrexia/EvilPresence.java index 8b1a892a211..6b6daa03874 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/EvilPresence.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/EvilPresence.java @@ -81,6 +81,7 @@ class EvilPresenceEffect extends ContinuousEffectImpl { public EvilPresenceEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Enchanted land is a Swamp"; } public EvilPresenceEffect(final EvilPresenceEffect effect) { @@ -128,8 +129,4 @@ class EvilPresenceEffect extends ContinuousEffectImpl { return layer == Layer.AbilityAddingRemovingEffects_6 || layer == layer.TypeChangingEffects_4; } - @Override - public String getText(Ability source) { - return "Enchanted land is a Swamp"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/newphyrexia/ForcedWorship.java b/Mage.Sets/src/mage/sets/newphyrexia/ForcedWorship.java index 46550a8d0d2..eeba501234f 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/ForcedWorship.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/ForcedWorship.java @@ -82,6 +82,7 @@ class ForcedWorshipEffect extends RestrictionEffect { public ForcedWorshipEffect() { super(Constants.Duration.WhileOnBattlefield); + staticText = "Enchanted creature can't attack"; } public ForcedWorshipEffect(final ForcedWorshipEffect effect) { @@ -106,9 +107,4 @@ class ForcedWorshipEffect extends RestrictionEffect { return new ForcedWorshipEffect(this); } - @Override - public String getText(Ability source) { - return "Enchanted creature can't attack"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/newphyrexia/GitaxianProbe.java b/Mage.Sets/src/mage/sets/newphyrexia/GitaxianProbe.java index 4757c386423..ba24db0f802 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/GitaxianProbe.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/GitaxianProbe.java @@ -70,6 +70,7 @@ public class GitaxianProbe extends CardImpl { class GitaxianProbeEffect extends OneShotEffect { GitaxianProbeEffect() { super(Constants.Outcome.Detriment); + staticText = "Look at target player's hand"; } GitaxianProbeEffect(final GitaxianProbeEffect effect) { @@ -91,8 +92,4 @@ class GitaxianProbeEffect extends OneShotEffect { return new GitaxianProbeEffect(this); } - @Override - public String getText(Ability source) { - return "Look at target player's hand"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/newphyrexia/GlisteningOil.java b/Mage.Sets/src/mage/sets/newphyrexia/GlisteningOil.java index bcf05cdf42a..44125f556ea 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/GlisteningOil.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/GlisteningOil.java @@ -84,6 +84,7 @@ public class GlisteningOil extends CardImpl { class GlisteningOilEffect extends OneShotEffect { GlisteningOilEffect() { super(Constants.Outcome.UnboostCreature); + staticText = "put a -1/-1 counter on enchanted creature"; } GlisteningOilEffect(final GlisteningOilEffect effect) { @@ -107,8 +108,4 @@ class GlisteningOilEffect extends OneShotEffect { return new GlisteningOilEffect(this); } - @Override - public String getText(Ability source) { - return "put a -1/-1 counter on enchanted creature"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/newphyrexia/MortisDogs.java b/Mage.Sets/src/mage/sets/newphyrexia/MortisDogs.java index 60d065419b5..0645848f7dd 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/MortisDogs.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/MortisDogs.java @@ -79,6 +79,7 @@ class MortisDogsEffect extends OneShotEffect { public MortisDogsEffect() { super(Outcome.Damage); + staticText = "target player loses life equal to its power"; } @Override @@ -97,8 +98,4 @@ class MortisDogsEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "target player loses life equal to its power"; - } } diff --git a/Mage.Sets/src/mage/sets/newphyrexia/NornsAnnex.java b/Mage.Sets/src/mage/sets/newphyrexia/NornsAnnex.java index 92cf6ecaa6d..e0c09201b0c 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/NornsAnnex.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/NornsAnnex.java @@ -71,6 +71,7 @@ class NornsAnnexReplacementEffect extends ReplacementEffectImpl { class RuthlessInvasionEffect extends RestrictionEffect { RuthlessInvasionEffect() { super(Constants.Duration.EndOfTurn); + staticText = "Nonartifact creatures can't block this turn"; } RuthlessInvasionEffect(final RuthlessInvasionEffect effect) { @@ -90,8 +91,4 @@ class RuthlessInvasionEffect extends RestrictionEffect { return false; } - @Override - public String getText(Ability source) { - return "Nonartifact creatures can't block this turn"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/newphyrexia/SuturePriest.java b/Mage.Sets/src/mage/sets/newphyrexia/SuturePriest.java index add44a7858f..44bab0606dd 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/SuturePriest.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/SuturePriest.java @@ -100,7 +100,7 @@ class SuturePriestFirstTriggeredAbility extends TriggeredAbilityImpl { SwordOfWarAndPeaceDamageEffect() { super(Outcome.Damage); + staticText = "Sword of War and Peace deals damage to that player equal to the number of cards in his or her hand"; } SwordOfWarAndPeaceDamageEffect(final SwordOfWarAndPeaceDamageEffect effect) { @@ -150,8 +151,4 @@ class SwordOfWarAndPeaceDamageEffect extends OneShotEffect { public WarReportEffect() { super(Outcome.GainLife); + staticText = "You gain life equal to the number of creatures on the battlefield plus the number of artifacts on the battlefield"; } public WarReportEffect(final WarReportEffect effect) { @@ -90,8 +91,4 @@ class WarReportEffect extends OneShotEffect { return true; } - @Override - public String getDynamicText(Ability source) { - return "You gain life equal to the number of creatures on the battlefield plus the number of artifacts on the battlefield"; - } } diff --git a/Mage.Sets/src/mage/sets/planechase/AkromasVengeance.java b/Mage.Sets/src/mage/sets/planechase/AkromasVengeance.java index 960a164178e..e98fe0df15c 100644 --- a/Mage.Sets/src/mage/sets/planechase/AkromasVengeance.java +++ b/Mage.Sets/src/mage/sets/planechase/AkromasVengeance.java @@ -79,6 +79,7 @@ class AkromasVengeanceEffect extends OneShotEffect { public AkromasVengeanceEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy all artifacts, creatures, and enchantments"; } public AkromasVengeanceEffect(final AkromasVengeanceEffect effect) { @@ -98,8 +99,4 @@ class AkromasVengeanceEffect extends OneShotEffect { return new AkromasVengeanceEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy all artifacts, creatures, and enchantments"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/planechase/SyphonSoul.java b/Mage.Sets/src/mage/sets/planechase/SyphonSoul.java index b8aaf297ed1..15079ce8751 100644 --- a/Mage.Sets/src/mage/sets/planechase/SyphonSoul.java +++ b/Mage.Sets/src/mage/sets/planechase/SyphonSoul.java @@ -63,6 +63,7 @@ public class SyphonSoul extends CardImpl { class SyphonSoulEffect extends OneShotEffect { public SyphonSoulEffect() { super(Constants.Outcome.Damage); + staticText = "{this} deals 2 damage to each other player. You gain life equal to the damage dealt this way"; } public SyphonSoulEffect(final SyphonSoulEffect effect) { @@ -85,8 +86,4 @@ class SyphonSoulEffect extends OneShotEffect { return new SyphonSoulEffect(this); } - @Override - public String getText(Ability source) { - return "{this} deals 2 damage to each other player. You gain life equal to the damage dealt this way"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/AllIsDust.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/AllIsDust.java index fa3f3a98497..ff9ad8b0ee6 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/AllIsDust.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/AllIsDust.java @@ -68,6 +68,7 @@ public class AllIsDust extends CardImpl { class AllIsDustEffect extends OneShotEffect { AllIsDustEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Each player sacrifices all colored permanents he or she controls"; } AllIsDustEffect(final AllIsDustEffect effect) { @@ -90,8 +91,4 @@ class AllIsDustEffect extends OneShotEffect { return new AllIsDustEffect(this); } - @Override - public String getText(Ability source) { - return "Each player sacrifices all colored permanents he or she controls"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/ConsumingVapors.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/ConsumingVapors.java index 8ccbe9999df..adb1d649e9d 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/ConsumingVapors.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/ConsumingVapors.java @@ -84,6 +84,7 @@ class ConsumingVaporsEffect extends OneShotEffect { ConsumingVaporsEffect ( ) { super(Outcome.Sacrifice); + staticText = "Target player sacrifices a creature. You gain life equal to that creature's toughness"; } ConsumingVaporsEffect ( ConsumingVaporsEffect effect ) { @@ -119,8 +120,4 @@ class ConsumingVaporsEffect extends OneShotEffect { return new ConsumingVaporsEffect(this); } - @Override - public String getText(Ability source) { - return "Target player sacrifices a creature. You gain life equal to that creature's toughness"; - } } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/DawnglareInvoker.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/DawnglareInvoker.java index b2b681086df..fe1b5a3bc1c 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/DawnglareInvoker.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/DawnglareInvoker.java @@ -84,6 +84,7 @@ class DawnglareInvokerEffect extends OneShotEffect { public DawnglareInvokerEffect() { super(Outcome.Tap); + staticText = "Tap all creatures target player controls."; } public DawnglareInvokerEffect(final DawnglareInvokerEffect effect) { @@ -108,8 +109,4 @@ class DawnglareInvokerEffect extends OneShotEffect { return new DawnglareInvokerEffect(this); } - @Override - public String getText(Ability source) { - return "Tap all creatures target player controls."; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/FissureVent.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/FissureVent.java new file mode 100644 index 00000000000..03a15cc717b --- /dev/null +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/FissureVent.java @@ -0,0 +1,72 @@ +/* + * Copyright 2011 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.riseoftheeldrazi; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Mode; +import mage.abilities.effects.common.DestroyMultiTargetEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.target.common.TargetArtifactPermanent; +import mage.target.common.TargetNonBasicLandPermanent; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class FissureVent extends CardImpl { + + public FissureVent(UUID ownerId) { + super(ownerId, 0, "Fissure Vent", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{3}{R}{R}"); + this.expansionSetCode = "ROE"; + this.color.setRed(true); + this.getSpellAbility().addTarget(new TargetArtifactPermanent()); + this.getSpellAbility().addEffect(new DestroyTargetEffect()); + Mode mode1 = new Mode(); + mode1.getTargets().add(new TargetNonBasicLandPermanent()); + mode1.getEffects().add(new DestroyTargetEffect()); + this.getSpellAbility().addMode(mode1); + Mode mode2 = new Mode(); + mode2.getTargets().add(new TargetArtifactPermanent()); + mode2.getTargets().add(new TargetNonBasicLandPermanent()); + mode2.getEffects().add(new DestroyMultiTargetEffect()); + this.getSpellAbility().addMode(mode2); + } + + public FissureVent(final FissureVent card) { + super(card); + } + + @Override + public FissureVent copy() { + return new FissureVent(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/FrostwindInvoker.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/FrostwindInvoker.java index 56871679f84..ee20c2ae84b 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/FrostwindInvoker.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/FrostwindInvoker.java @@ -27,26 +27,17 @@ */ package mage.sets.riseoftheeldrazi; -import java.util.List; import java.util.UUID; import mage.Constants.CardType; import mage.Constants.Duration; -import mage.Constants.Layer; -import mage.Constants.Outcome; import mage.Constants.Rarity; -import mage.Constants.SubLayer; import mage.Constants.Zone; import mage.MageInt; -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.continious.GainAbilityControlledEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; -import mage.filter.common.FilterCreaturePermanent; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; /** * @@ -65,7 +56,7 @@ public class FrostwindInvoker extends CardImpl { this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new FrostwindInvokerEffect(), new ManaCostsImpl("{8}"))); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{8}"))); } public FrostwindInvoker(final FrostwindInvoker card) { @@ -78,50 +69,3 @@ public class FrostwindInvoker extends CardImpl { } } -class FrostwindInvokerEffect extends ContinuousEffectImpl { - - public FrostwindInvokerEffect() { - super(Duration.EndOfTurn, Outcome.AddAbility); - } - - public FrostwindInvokerEffect(final FrostwindInvokerEffect effect) { - super(effect); - } - - @Override - public FrostwindInvokerEffect copy() { - return new FrostwindInvokerEffect(this); - } - - @Override - public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { - Player player = game.getPlayer(source.getControllerId()); - if (player != null) { - switch (layer) { - case AbilityAddingRemovingEffects_6: - List allCreatures = game.getBattlefield().getAllActivePermanents(FilterCreaturePermanent.getDefault(), player.getId()); - for (Permanent creature : allCreatures) { - creature.getAbilities().add(FlyingAbility.getInstance()); - } - break; - } - return true; - } - return false; - } - - @Override - public boolean apply(Game game, Ability source) { - return false; - } - - @Override - public String getText(Ability source) { - return "Creatures you control gain flying until end of turn."; - } - - @Override - public boolean hasLayer(Layer layer) { - return layer == Layer.AbilityAddingRemovingEffects_6; - } -} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/GideonJura.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/GideonJura.java index 72aa2066231..8cd34b3f101 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/GideonJura.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/GideonJura.java @@ -112,6 +112,7 @@ class GideonJuraEffect extends RequirementEffect { public GideonJuraEffect() { super(Duration.Custom); + staticText = "During target opponent's next turn, creatures that player controls attack Gideon Jura if able"; } public GideonJuraEffect(final GideonJuraEffect effect) { @@ -133,11 +134,6 @@ class GideonJuraEffect extends RequirementEffect { return (game.getPhase().getType() == TurnPhase.END && game.getActivePlayerId().equals(source.getFirstTarget())); } - @Override - public String getText(Ability source) { - return "During target opponent's next turn, creatures that player controls attack Gideon Jura if able"; - } - @Override public UUID mustAttackDefender(Ability source, Game game) { return source.getSourceId(); diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/GoblinArsonist.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/GoblinArsonist.java index 6aad37565ea..89997fc370e 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/GoblinArsonist.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/GoblinArsonist.java @@ -74,6 +74,7 @@ class GoblinArsonistEffect extends OneShotEffect { public GoblinArsonistEffect() { super(Outcome.Damage); + staticText = "have it deal 1 damage to target creature or player"; } public GoblinArsonistEffect(final GoblinArsonistEffect effect) { @@ -108,8 +109,4 @@ class GoblinArsonistEffect extends OneShotEffect { return new GoblinArsonistEffect(this); } - @Override - public String getText(Ability source) { - return "have it deal 1 damage to target creature or player"; - } } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/HedronMatrix.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/HedronMatrix.java index 1fa6374740a..b07a4046720 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/HedronMatrix.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/HedronMatrix.java @@ -73,6 +73,7 @@ class HedronMatrixEffect extends ContinuousEffectImpl { public HedronMatrixEffect() { super(Duration.WhileOnBattlefield, Constants.Layer.PTChangingEffects_7, Constants.SubLayer.ModifyPT_7c, Constants.Outcome.BoostCreature); + staticText = "Equipped creature gets +X/+X, where X is its converted mana cost"; } public HedronMatrixEffect(final HedronMatrixEffect effect) { @@ -97,8 +98,4 @@ class HedronMatrixEffect extends ContinuousEffectImpl { return true; } - @Override - public String getText(Ability source) { - return "Equipped creature gets +X/+X, where X is its converted mana cost"; - } } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/InquisitionOfKozilek.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/InquisitionOfKozilek.java index b697e3079d7..eaa6df922a3 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/InquisitionOfKozilek.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/InquisitionOfKozilek.java @@ -81,6 +81,7 @@ class InquisitionOfKozilekEffect extends OneShotEffect { KozilekButcherOfTruthEffect() { super(Outcome.Benefit); + staticText = "its owner shuffles his or her graveyard into his or her library"; } KozilekButcherOfTruthEffect(final KozilekButcherOfTruthEffect effect) { @@ -138,8 +139,4 @@ class KozilekButcherOfTruthEffect extends OneShotEffect { class LinvalaKeeperOfSilenceEffect extends ReplacementEffectImpl { LinvalaKeeperOfSilenceEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Activated abilities of creatures your opponents control can't be activated"; } LinvalaKeeperOfSilenceEffect(final LinvalaKeeperOfSilenceEffect effect) { @@ -108,8 +109,4 @@ class LinvalaKeeperOfSilenceEffect extends ReplacementEffectImpl { class PestilenceDemonEffect extends OneShotEffect { PestilenceDemonEffect() { super(Constants.Outcome.Damage); + staticText = "Pestilence Demon deals 1 damage to each creature and each player"; } PestilenceDemonEffect(final PestilenceDemonEffect effect) { @@ -103,8 +104,4 @@ class PestilenceDemonEffect extends OneShotEffect { return new PestilenceDemonEffect(this); } - @Override - public String getText(Ability source) { - return "Pestilence Demon deals 1 damage to each creature and each player"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SarkhanTheMad.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SarkhanTheMad.java index 8b9f7dfc81e..c102b19ab33 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SarkhanTheMad.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SarkhanTheMad.java @@ -94,6 +94,7 @@ class SarkhanTheMadRevealAndDrawEffect extends OneShotEffect { @@ -133,6 +130,7 @@ class SarkhanTheMadSacEffect extends OneShotEffect { SarkhanTheMadSacEffect ( ) { super(Outcome.Sacrifice); + staticText = effectText; } SarkhanTheMadSacEffect ( SarkhanTheMadSacEffect effect ) { @@ -156,10 +154,6 @@ class SarkhanTheMadSacEffect extends OneShotEffect { return new SarkhanTheMadSacEffect(this); } - @Override - public String getText(Ability source) { - return effectText; - } } class SarkhanTheMadDragonDamageEffect extends OneShotEffect { @@ -175,6 +169,7 @@ class SarkhanTheMadDragonDamageEffect extends OneShotEffect { public SeaGateOracleEffect() { super(Outcome.DrawCard); + staticText = "look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library"; } public SeaGateOracleEffect(SeaGateOracleEffect effect) { @@ -125,9 +126,4 @@ class SeaGateOracleEffect extends OneShotEffect { return new SeaGateOracleEffect(this); } - @Override - public String getText(Ability source) { - return "look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java index 245780c0e97..df68707dbc7 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java @@ -72,6 +72,7 @@ class SeeBeyondEffect extends OneShotEffect { public SeeBeyondEffect() { super(Outcome.DrawCard); + staticText = "Draw two cards, then shuffle a card from your hand into your library"; } public SeeBeyondEffect(SeeBeyondEffect effect) { @@ -102,9 +103,4 @@ class SeeBeyondEffect extends OneShotEffect { return new SeeBeyondEffect(this); } - @Override - public String getText(Ability source) { - return "Draw two cards, then shuffle a card from your hand into your library"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/TrainingGrounds.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/TrainingGrounds.java index ac59aefc1a9..cd2d65b70b9 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/TrainingGrounds.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/TrainingGrounds.java @@ -83,6 +83,7 @@ class TrainingGroundsCostReductionEffect extends ContinuousEffectImpl { public VendettaEffect() { super(Outcome.Damage); + staticText = "You lose life equal to that creature's toughness"; } public VendettaEffect(final VendettaEffect effect) { @@ -102,8 +103,4 @@ class VendettaEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "You lose life equal to that creature's toughness"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ArcTrail.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ArcTrail.java index 6789d6cd7f6..5235e7d32b4 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ArcTrail.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ArcTrail.java @@ -85,6 +85,7 @@ class ArcTrailEffect extends OneShotEffect { private ArcTrailEffect ( ) { super(Outcome.Damage); + staticText = "{source} deals 2 damage to target creature or player and 1 damage to another target creature or player."; } @Override @@ -119,8 +120,4 @@ class ArcTrailEffect extends OneShotEffect { return fINSTANCE; } - @Override - public String getText(Ability source) { - return "{source} deals 2 damage to target creature or player and 1 damage to another target creature or player."; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ArgentSphinx.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ArgentSphinx.java index 8668e9b279f..31f262745b2 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ArgentSphinx.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ArgentSphinx.java @@ -85,6 +85,7 @@ class ArgentSphinxEffect extends OneShotEffect { ArgentSphinxEffect ( ) { super(Constants.Outcome.Benefit); + staticText = effectText; } ArgentSphinxEffect(ArgentSphinxEffect effect) { @@ -112,10 +113,6 @@ class ArgentSphinxEffect extends OneShotEffect { return new ArgentSphinxEffect(this); } - @Override - public String getText(Ability source) { - return effectText; - } } class ArgentSphinxDelayedTriggeredAbility extends DelayedTriggeredAbility { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/Asceticism.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/Asceticism.java index fd8550404bd..3f8ef8b9650 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/Asceticism.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/Asceticism.java @@ -34,9 +34,7 @@ import mage.Constants.Rarity; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; @@ -88,6 +86,7 @@ class AsceticismEffect extends ReplacementEffectImpl { public AsceticismEffect(FilterStackObject filterSource, Constants.Duration duration) { super(duration, Constants.Outcome.Benefit); this.filterSource = filterSource; + staticText = "Creatures you control can't be the targets of spells or abilities your opponents control"; } public AsceticismEffect(final AsceticismEffect effect) { @@ -125,10 +124,5 @@ class AsceticismEffect extends ReplacementEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Creatures you control can't be the targets of spells or abilities your opponents control"; - } - } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/AuriokReplica.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/AuriokReplica.java index 20396f02203..c527ba8639d 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/AuriokReplica.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/AuriokReplica.java @@ -80,6 +80,7 @@ class AuriokReplicaEffect extends PreventionEffectImpl { public AuriokReplicaEffect() { super(Duration.EndOfTurn); + staticText = "Prevent all damage a source of your choice would deal to you this turn"; } public AuriokReplicaEffect(final AuriokReplicaEffect effect) { @@ -130,9 +131,4 @@ class AuriokReplicaEffect extends PreventionEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Prevent all damage a source of your choice would deal to you this turn"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/Blistergrub.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/Blistergrub.java index 53aaa2917d1..16b58d0661a 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/Blistergrub.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/Blistergrub.java @@ -32,9 +32,7 @@ import java.util.UUID; import mage.Constants; import mage.Constants.CardType; -import mage.Constants.Duration; import mage.Constants.Rarity; -import mage.Constants.Zone; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility; @@ -73,6 +71,7 @@ class BlistergrubEffect extends OneShotEffect { public BlistergrubEffect() { super(Constants.Outcome.Damage); + staticText = "each opponent loses 2 life"; } public BlistergrubEffect(final BlistergrubEffect effect) { @@ -89,11 +88,6 @@ class BlistergrubEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "each opponent loses 2 life"; - } - @Override public BlistergrubEffect copy() { return new BlistergrubEffect(this); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/CarnifexDemon.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/CarnifexDemon.java index 13925fe3c84..7c07820742f 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/CarnifexDemon.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/CarnifexDemon.java @@ -81,6 +81,7 @@ public class CarnifexDemon extends CardImpl { class CarnifexDemonEffect extends OneShotEffect { public CarnifexDemonEffect() { super(Constants.Outcome.UnboostCreature); + staticText = "Put a -1/-1 counter on each other creature"; } public CarnifexDemonEffect(final CarnifexDemonEffect effect) { @@ -104,8 +105,4 @@ class CarnifexDemonEffect extends OneShotEffect { return new CarnifexDemonEffect(this); } - @Override - public String getText(Ability source) { - return "Put a -1/-1 counter on each other creature"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionEngine.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionEngine.java index 63b03c53c6f..76254d4a84f 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionEngine.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionEngine.java @@ -80,6 +80,7 @@ public class ContagionEngine extends CardImpl { class ContagionEngineEffect extends OneShotEffect { ContagionEngineEffect() { super(Constants.Outcome.UnboostCreature); + staticText = "put a -1/-1 counter on each creature target player controls"; } ContagionEngineEffect(final ContagionEngineEffect effect) { @@ -103,8 +104,4 @@ class ContagionEngineEffect extends OneShotEffect { return new ContagionEngineEffect(this); } - @Override - public String getText(Ability source) { - return "put a -1/-1 counter on each creature target player controls"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/CullingDais.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/CullingDais.java index 22f23aea1a7..20891b01093 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/CullingDais.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/CullingDais.java @@ -80,6 +80,7 @@ public class CullingDais extends CardImpl { class CullingDaisEffect extends OneShotEffect { CullingDaisEffect() { super(Constants.Outcome.DrawCard); + staticText = "Draw a card for each charge counter on Culling Dais"; } CullingDaisEffect(final CullingDaisEffect effect) { @@ -103,8 +104,4 @@ class CullingDaisEffect extends OneShotEffect { return new CullingDaisEffect(this); } - @Override - public String getText(Ability source) { - return "Draw a card for each charge counter on Culling Dais"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/DispenseJustice.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/DispenseJustice.java index 55fd2e48978..56e4471b5e2 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/DispenseJustice.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/DispenseJustice.java @@ -83,6 +83,7 @@ class DispenseJusticeEffect extends OneShotEffect { DispenseJusticeEffect ( ) { super(Outcome.Sacrifice); + staticText = effectText; } DispenseJusticeEffect ( DispenseJusticeEffect effect ) { @@ -104,8 +105,4 @@ class DispenseJusticeEffect extends OneShotEffect { return new DispenseJusticeEffect(this); } - @Override - public String getText(Ability source) { - return effectText; - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ElspethTirel.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ElspethTirel.java index 8c28328cafb..09d4d5b9915 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ElspethTirel.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ElspethTirel.java @@ -81,6 +81,7 @@ public class ElspethTirel extends CardImpl { class ElspethTirelFirstEffect extends OneShotEffect { public ElspethTirelFirstEffect() { super(Constants.Outcome.GainLife); + staticText = "You gain 1 life for each creature you control"; } public ElspethTirelFirstEffect(final ElspethTirelFirstEffect effect) { @@ -102,15 +103,12 @@ class ElspethTirelFirstEffect extends OneShotEffect { return new ElspethTirelFirstEffect(this); } - @Override - public String getText(Ability source) { - return "You gain 1 life for each creature you control"; - } } class ElspethTirelThirdEffect extends OneShotEffect { public ElspethTirelThirdEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy all other permanents except for lands and tokens"; } public ElspethTirelThirdEffect(final ElspethTirelThirdEffect effect) { @@ -131,8 +129,4 @@ class ElspethTirelThirdEffect extends OneShotEffect { return new ElspethTirelThirdEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy all other permanents except for lands and tokens"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/Embersmith.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/Embersmith.java index 39652c3f83f..9afe4d70841 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/Embersmith.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/Embersmith.java @@ -82,6 +82,7 @@ public class Embersmith extends CardImpl { class EmbersmithEffect extends OneShotEffect { EmbersmithEffect() { super(Constants.Outcome.Damage); + staticText = "you may pay {1}. If you do, Embersmith deals 1 damage to target creature or player"; } EmbersmithEffect(final EmbersmithEffect effect) { @@ -113,8 +114,4 @@ class EmbersmithEffect extends OneShotEffect { return new EmbersmithEffect(this); } - @Override - public String getText(Ability source) { - return "you may pay {1}. If you do, Embersmith deals 1 damage to target creature or player"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/EngulfingSlagwurm.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/EngulfingSlagwurm.java index cee60453c92..cbf2be31764 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/EngulfingSlagwurm.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/EngulfingSlagwurm.java @@ -75,6 +75,7 @@ public class EngulfingSlagwurm extends CardImpl { class EngulfingSlagwurmEffect extends OneShotEffect { EngulfingSlagwurmEffect() { super(Constants.Outcome.GainLife); + staticText = "You gain life equal to that creature's toughness"; } EngulfingSlagwurmEffect(final EngulfingSlagwurmEffect effect) { @@ -96,8 +97,4 @@ class EngulfingSlagwurmEffect extends OneShotEffect { return new EngulfingSlagwurmEffect(this); } - @Override - public String getText(Ability source) { - return "You gain life equal to that creature's toughness"; - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/Exsanguinate.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/Exsanguinate.java index b60d402655d..88c697ef70a 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/Exsanguinate.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/Exsanguinate.java @@ -67,6 +67,7 @@ public class Exsanguinate extends CardImpl { class ExsanguinateEffect extends OneShotEffect { public ExsanguinateEffect() { super(Constants.Outcome.Damage); + staticText = "Each opponent loses X life. You gain life equal to the life lost this way"; } public ExsanguinateEffect(final ExsanguinateEffect effect) { @@ -90,8 +91,4 @@ class ExsanguinateEffect extends OneShotEffect { return new ExsanguinateEffect(this); } - @Override - public String getText(Ability source) { - return "Each opponent loses X life. You gain life equal to the life lost this way"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/FleshAllergy.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/FleshAllergy.java index 11c09627105..32a786ff900 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/FleshAllergy.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/FleshAllergy.java @@ -120,6 +120,7 @@ class FleshAllergyEffect extends OneShotEffect { public FleshAllergyEffect() { super(Outcome.DestroyPermanent); + staticText = "Target creature gets +2/+2 until end of turn.\nLandfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead"; } public FleshAllergyEffect(final FleshAllergyEffect effect) { @@ -148,8 +149,4 @@ class FleshAllergyEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "Target creature gets +2/+2 until end of turn.\nLandfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead"; - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/FulgentDistraction.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/FulgentDistraction.java index 7d1288c6de8..5e1e69d465a 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/FulgentDistraction.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/FulgentDistraction.java @@ -74,6 +74,7 @@ class FulgentDistractionEffect extends OneShotEffect { FulgentDistractionEffect ( ) { super(Outcome.Tap); + staticText = text; } FulgentDistractionEffect ( FulgentDistractionEffect effect ) { @@ -111,10 +112,4 @@ class FulgentDistractionEffect extends OneShotEffect { return new FulgentDistractionEffect(this); } - @Override - public String getText(Ability source) { - return text; - } - - } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java index 0257d03c91d..1ee89d2cc47 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java @@ -110,6 +110,7 @@ class GethLordOfTheVaultEffect extends OneShotEffect { public GethLordOfTheVaultEffect() { super(Outcome.Benefit); + staticText = "Put target artifact or creature card with converted mana cost X from an opponent's graveyard onto the battlefield under your control tapped. Then that player puts the top X cards of his or her library into his or her graveyard"; } public GethLordOfTheVaultEffect(final GethLordOfTheVaultEffect effect) { @@ -154,10 +155,6 @@ class GethLordOfTheVaultEffect extends OneShotEffect { return new GethLordOfTheVaultEffect(this); } - @Override - public String getText(Ability source) { - return "Put target artifact or creature card with converted mana cost X from an opponent's graveyard onto the battlefield under your control tapped. Then that player puts the top X cards of his or her library into his or her graveyard"; - } } class GethLordOfTheVaultEffectTarget extends TargetCard { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/GlimmerpointStag.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/GlimmerpointStag.java index 79f27dac4e7..e4faf5e8e5b 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/GlimmerpointStag.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/GlimmerpointStag.java @@ -86,6 +86,7 @@ class GlimmerpointStagEffect extends OneShotEffect { GlimmerpointStagEffect ( ) { super(Outcome.Benefit); + staticText = effectText; } GlimmerpointStagEffect(GlimmerpointStagEffect effect) { @@ -113,10 +114,6 @@ class GlimmerpointStagEffect extends OneShotEffect { return new GlimmerpointStagEffect(this); } - @Override - public String getText(Ability source) { - return effectText; - } } class GlimmerpointStagDelayedTriggeredAbility extends DelayedTriggeredAbility { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/Glimmerpost.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/Glimmerpost.java index 1bf6a56a676..f403b9183d8 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/Glimmerpost.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/Glimmerpost.java @@ -81,6 +81,7 @@ class GlimmerpostEffect extends OneShotEffect { public GlimmerpostEffect() { super(Constants.Outcome.GainLife); + staticText = "you gain 1 life for each Locus on the battlefield"; } public GlimmerpostEffect(final GlimmerpostEffect effect) { @@ -103,8 +104,4 @@ class GlimmerpostEffect extends OneShotEffect { return new GlimmerpostEffect(this); } - @Override - public String getText(Ability source) { - return "you gain 1 life for each Locus on the battlefield"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/GlintHawk.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/GlintHawk.java index 83c38fdfb03..75e9e749602 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/GlintHawk.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/GlintHawk.java @@ -86,6 +86,7 @@ class GlintHawkEffect extends OneShotEffect { GlintHawkEffect ( ) { super(Outcome.Sacrifice); + staticText = effectText; } GlintHawkEffect ( GlintHawkEffect effect ) { @@ -120,8 +121,4 @@ class GlintHawkEffect extends OneShotEffect { return new GlintHawkEffect(this); } - @Override - public String getText(Ability source) { - return effectText; - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/GoldenUrn.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/GoldenUrn.java index dd852cb4f00..94560478c65 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/GoldenUrn.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/GoldenUrn.java @@ -76,6 +76,7 @@ public class GoldenUrn extends CardImpl { class GoldenUrnEffect extends OneShotEffect { public GoldenUrnEffect() { super(Constants.Outcome.GainLife); + staticText = "You gain life equal to the number of charge counters on Golden Urn"; } public GoldenUrnEffect(final GoldenUrnEffect effect) { @@ -101,8 +102,4 @@ class GoldenUrnEffect extends OneShotEffect { return new GoldenUrnEffect(this); } - @Override - public String getText(Ability source) { - return "You gain life equal to the number of charge counters on Golden Urn"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/GrandArchitect.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/GrandArchitect.java index 291e9ef470e..e62e741a9bd 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/GrandArchitect.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/GrandArchitect.java @@ -107,6 +107,7 @@ class GrandArchitectEffect extends ContinuousEffectImpl { public GrandArchitectEffect() { super(Duration.EndOfTurn, Layer.ColorChangingEffects_5, SubLayer.NA, Outcome.Detriment); + staticText = "Target artifact creature becomes blue until end of turn"; } public GrandArchitectEffect(final GrandArchitectEffect effect) { @@ -132,10 +133,6 @@ class GrandArchitectEffect extends ContinuousEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Target artifact creature becomes blue until end of turn"; - } } class GrandArchitectManaAbility extends ManaAbility { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/Grindclock.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/Grindclock.java index ec813381892..c27f104a4e4 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/Grindclock.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/Grindclock.java @@ -75,6 +75,7 @@ public class Grindclock extends CardImpl { class GrindclockEffect extends OneShotEffect { public GrindclockEffect() { super(Constants.Outcome.Detriment); + staticText = "Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of charge counters on Grindclock"; } public GrindclockEffect(final GrindclockEffect effect) { @@ -102,8 +103,4 @@ class GrindclockEffect extends OneShotEffect { return new GrindclockEffect(this); } - @Override - public String getText(Ability source) { - return "Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of charge counters on Grindclock"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/HeavyArbalest.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/HeavyArbalest.java index 8189700ce36..c7a25fb0df8 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/HeavyArbalest.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/HeavyArbalest.java @@ -85,6 +85,7 @@ class SkipUntapSourceEffect extends ReplacementEffectImpl public SkipUntapSourceEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Equipped creature doesn't untap during its controller's untap step."; } public SkipUntapSourceEffect(final SkipUntapSourceEffect effect) { @@ -116,8 +117,4 @@ class SkipUntapSourceEffect extends ReplacementEffectImpl return false; } - @Override - public String getText(Ability source) { - return "Equipped creature doesn't untap during its controller's untap step."; - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/HoardSmelterDragon.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/HoardSmelterDragon.java index 2784663ca03..2f278640c86 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/HoardSmelterDragon.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/HoardSmelterDragon.java @@ -87,6 +87,7 @@ class HoardSmelterEffect extends ContinuousEffectImpl { HoardSmelterEffect() { super(Constants.Duration.EndOfTurn, Constants.Layer.PTChangingEffects_7, Constants.SubLayer.ModifyPT_7c, Constants.Outcome.BoostCreature); + staticText = "Hoard-Smelter Dragon gets +X/+0 until end of turn, where X is that artifact's converted mana cost"; } HoardSmelterEffect(final HoardSmelterEffect effect) { @@ -117,8 +118,4 @@ class HoardSmelterEffect extends ContinuousEffectImpl { return new HoardSmelterEffect(this); } - @Override - public String getText(Ability source) { - return "Hoard-Smelter Dragon gets +X/+0 until end of turn, where X is that artifact's converted mana cost"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/IchorRats.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/IchorRats.java index 87aed1ea749..322a9e56a57 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/IchorRats.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/IchorRats.java @@ -76,6 +76,7 @@ public class IchorRats extends CardImpl { class IchorRatsEffect extends OneShotEffect { public IchorRatsEffect() { super(Constants.Outcome.Damage); + staticText = "each player gets a poison counter"; } public IchorRatsEffect(final IchorRatsEffect effect) { @@ -98,8 +99,4 @@ class IchorRatsEffect extends OneShotEffect { return new IchorRatsEffect(this); } - @Override - public String getText(Ability source) { - return "each player gets a poison counter"; - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/KothOfTheHammer.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/KothOfTheHammer.java index fe0ef24c6af..f35745cf33b 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/KothOfTheHammer.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/KothOfTheHammer.java @@ -98,6 +98,7 @@ class KothOfTheHammerFirstEffect extends ContinuousEffectImpl { public KothOfTheHammerThirdEffect() { super(Duration.EndOfGame, Constants.Outcome.AddAbility); + staticText = "You get an emblem with \"Mountains you control have '{T}: This land deals 1 damage to target creature or player.'\""; } public KothOfTheHammerThirdEffect(final KothOfTheHammerThirdEffect effect) { @@ -192,8 +190,4 @@ class KothOfTheHammerThirdEffect extends ContinuousEffectImpl { class LifesmithEffect extends OneShotEffect { LifesmithEffect() { super(Constants.Outcome.GainLife); + staticText = "you may pay {1}. If you do, you gain 3 life"; } LifesmithEffect(final LifesmithEffect effect) { @@ -103,8 +104,4 @@ class LifesmithEffect extends OneShotEffect { return new LifesmithEffect(this); } - @Override - public String getText(Ability source) { - return "you may pay {1}. If you do, you gain 3 life"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/MeltTerrain.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/MeltTerrain.java index 708e0905766..9045f069a11 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/MeltTerrain.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/MeltTerrain.java @@ -72,6 +72,7 @@ public class MeltTerrain extends CardImpl { class MeltTerrainEffect extends OneShotEffect { MeltTerrainEffect() { super(Constants.Outcome.Damage); + staticText = "Melt Terrain deals 2 damage to that land's controller"; } MeltTerrainEffect(final MeltTerrainEffect effect) { @@ -98,8 +99,4 @@ class MeltTerrainEffect extends OneShotEffect { return new MeltTerrainEffect(this); } - @Override - public String getText(Ability source) { - return "Melt Terrain deals 2 damage to that land's controller"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/Myrsmith.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/Myrsmith.java index ec3f83dc5e3..0b960311dc3 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/Myrsmith.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/Myrsmith.java @@ -79,6 +79,7 @@ public class Myrsmith extends CardImpl { class MyrsmithEffect extends OneShotEffect { public MyrsmithEffect() { super(Constants.Outcome.PutCreatureInPlay); + staticText = "you may pay {1}. If you do, put a 1/1 colorless Myr artifact creature token onto the battlefield"; } public MyrsmithEffect(final MyrsmithEffect effect) { @@ -100,8 +101,4 @@ class MyrsmithEffect extends OneShotEffect { return new MyrsmithEffect(this); } - @Override - public String getText(Ability source) { - return "you may pay {1}. If you do, put a 1/1 colorless Myr artifact creature token onto the battlefield"; - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/NihilSpellbomb.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/NihilSpellbomb.java index 9a7a9c22f21..d9f07f32c3c 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/NihilSpellbomb.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/NihilSpellbomb.java @@ -78,6 +78,7 @@ class NihilSpellbombEffect extends OneShotEffect { public NihilSpellbombEffect() { super(Outcome.Exile); + staticText = "Exile all cards from target player's graveyard"; } @Override @@ -98,8 +99,4 @@ class NihilSpellbombEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "Exile all cards from target player's graveyard"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/QuicksilverGargantuan.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/QuicksilverGargantuan.java index bb7c746d3d4..da6db7e8589 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/QuicksilverGargantuan.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/QuicksilverGargantuan.java @@ -76,6 +76,7 @@ public class QuicksilverGargantuan extends CardImpl { public QuicksilverGargantuanCopyEffect() { super(Constants.Duration.WhileOnBattlefield, Constants.Layer.CopyEffects_1, Constants.SubLayer.NA, Constants.Outcome.BecomeCreature); + staticText = "You may have Quicksilver Gargantuan enter the battlefield as a copy of any creature on the battlefield, except it's still 7/7"; } public QuicksilverGargantuanCopyEffect(final QuicksilverGargantuanCopyEffect effect) { @@ -116,11 +117,6 @@ public class QuicksilverGargantuan extends CardImpl { return new QuicksilverGargantuanCopyEffect(this); } - @Override - public String getText(Ability source) { - return "You may have {this} enter the battlefield as a copy of any " + source.getTargets().get(0).getTargetName() + " on the battlefield, except it's still 7/7"; - } - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/RatchetBomb.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/RatchetBomb.java index 347a0ea0437..67d8697dfbd 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/RatchetBomb.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/RatchetBomb.java @@ -73,6 +73,7 @@ public class RatchetBomb extends CardImpl { public RatchetBombEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Destroy each nonland permanent with converted mana cost equal to the number of charge counters on Ratchet Bomb"; } public RatchetBombEffect(final RatchetBombEffect effect) { @@ -104,10 +105,6 @@ public class RatchetBomb extends CardImpl { return new RatchetBombEffect(this); } - @Override - public String getText(Ability source) { - return "Destroy each nonland permanent with converted mana cost equal to the number of charge counters on Ratchet Bomb"; - } } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java index 81248840c3d..db2110ed03d 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java @@ -89,6 +89,7 @@ public class RazorHippogriff extends CardImpl { public RazorHippogriffGainLifeEffect() { super(Constants.Outcome.GainLife); + staticText = "you gain life equal to that card's converted mana cost."; } public RazorHippogriffGainLifeEffect(final RazorHippogriffGainLifeEffect effect) { @@ -115,11 +116,6 @@ public class RazorHippogriff extends CardImpl { return true; } - @Override - public String getText(Ability source) { - return "you gain life equal to that card's converted mana cost."; - } - } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/SpikeshotElder.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/SpikeshotElder.java index 9dd1edbe94f..f374b2082c9 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/SpikeshotElder.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/SpikeshotElder.java @@ -78,6 +78,7 @@ public class SpikeshotElder extends CardImpl { class SpikeshotElderEffect extends OneShotEffect { public SpikeshotElderEffect() { super(Constants.Outcome.Damage); + staticText = "Spikeshot Elder deals damage equal to its power to target creature or player"; } public SpikeshotElderEffect(final SpikeshotElderEffect effect) { @@ -105,8 +106,4 @@ class SpikeshotElderEffect extends OneShotEffect { return new SpikeshotElderEffect(this); } - @Override - public String getText(Ability source) { - return "Spikeshot Elder deals damage equal to its power to target creature or player"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/StrataScythe.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/StrataScythe.java index 4a705a632f1..e6f7112a503 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/StrataScythe.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/StrataScythe.java @@ -79,6 +79,7 @@ public class StrataScythe extends CardImpl { class StrataScytheImprintEffect extends OneShotEffect { StrataScytheImprintEffect() { super(Constants.Outcome.Exile); + staticText = "search your library for a land card, exile it, then shuffle your library"; } StrataScytheImprintEffect(final StrataScytheImprintEffect effect) { @@ -107,10 +108,6 @@ class StrataScytheImprintEffect extends OneShotEffect return new StrataScytheImprintEffect(this); } - @Override - public String getText(Ability source) { - return "search your library for a land card, exile it, then shuffle your library"; - } } class SameNameAsExiledCountValue implements DynamicValue { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/TurnToSlag.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/TurnToSlag.java index 11ac49102c0..f5884e21d29 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/TurnToSlag.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/TurnToSlag.java @@ -70,6 +70,7 @@ class TurnToSlagEffect extends OneShotEffect { public TurnToSlagEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "Turn to Slag deals 5 damage to target creature. Destroy all Equipment attached to that creature"; } public TurnToSlagEffect(final TurnToSlagEffect effect) { @@ -101,8 +102,4 @@ class TurnToSlagEffect extends OneShotEffect { return new TurnToSlagEffect(this); } - @Override - public String getText(Ability source) { - return "Turn to Slag deals 5 damage to target creature. Destroy all Equipment attached to that creature"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/VigilForTheLost.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/VigilForTheLost.java index 28dbdac2155..f4d358360db 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/VigilForTheLost.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/VigilForTheLost.java @@ -106,6 +106,7 @@ class VigilForTheLostTriggeredAbility extends TriggeredAbilityImpl { VigilForTheLostEffect() { super(Constants.Outcome.GainLife); + staticText = "you may pay {X}. If you do, you gain X life"; } VigilForTheLostEffect(final VigilForTheLostEffect effect) { @@ -130,8 +131,4 @@ class VigilForTheLostEffect extends OneShotEffect { return new VigilForTheLostEffect(this); } - @Override - public String getText(Ability source) { - return "you may pay {X}. If you do, you gain X life"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/VolitionReins.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/VolitionReins.java index 910344ba5d1..97de065d2d1 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/VolitionReins.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/VolitionReins.java @@ -79,6 +79,7 @@ public class VolitionReins extends CardImpl { public UntapVolitionReinsEffect() { super(Constants.Outcome.Untap); + staticText = "When Volition Reins enters the battlefield, if enchanted permanent is tapped, untap it."; } public UntapVolitionReinsEffect(final UntapVolitionReinsEffect effect) { @@ -103,10 +104,6 @@ public class VolitionReins extends CardImpl { return false; } - @Override - public String getText(Ability source) { - return "When Volition Reins enters the battlefield, if enchanted permanent is tapped, untap it."; - } } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/WingPuncture.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/WingPuncture.java index 14f771d7193..bdc8a3eb463 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/WingPuncture.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/WingPuncture.java @@ -78,7 +78,8 @@ class WingPunctureEffect extends OneShotEffect { public WingPunctureEffect() { super(Outcome.Damage); - } + staticText = "Target creature you control deals damage equal to its power to target creature with flying."; + } public WingPunctureEffect(final WingPunctureEffect effect) { super(effect); @@ -101,8 +102,4 @@ class WingPunctureEffect extends OneShotEffect { return new WingPunctureEffect(this); } - @Override - public String getText(Ability source) { - return "Target creature you control deals damage equal to its power to target creature with flying."; - } } diff --git a/Mage.Sets/src/mage/sets/shardsofalara/ElspethKnightErrant.java b/Mage.Sets/src/mage/sets/shardsofalara/ElspethKnightErrant.java index a291a061bac..da2609697e2 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/ElspethKnightErrant.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/ElspethKnightErrant.java @@ -108,6 +108,7 @@ class ElspethKnightErrantEffect extends ContinuousEffectImpl { class FlameblastDragonEffect extends OneShotEffect { FlameblastDragonEffect() { super(Constants.Outcome.Benefit); + staticText = "you may pay {X}{R}. If you do, Flameblast Dragon deals X damage to target creature or player"; } FlameblastDragonEffect(final FlameblastDragonEffect effect) { @@ -115,8 +116,4 @@ class FlameblastDragonEffect extends OneShotEffect { return new FlameblastDragonEffect(this); } - @Override - public String getText(Ability source) { - return "you may pay {X}{R}. If you do, Flameblast Dragon deals X damage to target creature or player"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/shardsofalara/Godtoucher.java b/Mage.Sets/src/mage/sets/shardsofalara/Godtoucher.java index d70ad68775f..10b18696d5b 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/Godtoucher.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/Godtoucher.java @@ -91,6 +91,7 @@ class GodtoucherEffect extends PreventionEffectImpl { public GodtoucherEffect(Duration duration) { super(duration); + staticText = "Prevent all damage that would be dealt to target creature with power 5 or greater this turn"; } public GodtoucherEffect(final PreventAllCombatDamageEffect effect) { @@ -118,8 +119,4 @@ class GodtoucherEffect extends PreventionEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Prevent all damage that would be dealt to target " + source.getTargets().get(0).getTargetName() + " " + duration.toString(); - } } diff --git a/Mage.Sets/src/mage/sets/tempest/Propaganda.java b/Mage.Sets/src/mage/sets/tempest/Propaganda.java index 3783467d444..36e4993e0b8 100644 --- a/Mage.Sets/src/mage/sets/tempest/Propaganda.java +++ b/Mage.Sets/src/mage/sets/tempest/Propaganda.java @@ -71,6 +71,7 @@ class PropagandaReplacementEffect extends ReplacementEffectImpl { public StalkingStonesEffect() { super(Constants.Duration.WhileOnBattlefield, Constants.Outcome.BecomeCreature); + staticText = "{this} becomes a 3/3 Elemental artifact creature that's still a land"; } public StalkingStonesEffect(final StalkingStonesEffect effect) { @@ -112,8 +113,4 @@ class StalkingStonesEffect extends ContinuousEffectImpl { return layer == Constants.Layer.PTChangingEffects_7 || layer == layer.TypeChangingEffects_4; } - @Override - public String getText(Ability source) { - return "{this} becomes a 3/3 Elemental artifact creature that's still a land"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/tenth/Condemn.java b/Mage.Sets/src/mage/sets/tenth/Condemn.java index 80485ff685b..b766139e6ce 100644 --- a/Mage.Sets/src/mage/sets/tenth/Condemn.java +++ b/Mage.Sets/src/mage/sets/tenth/Condemn.java @@ -72,6 +72,7 @@ class CondemnEffect extends OneShotEffect { public CondemnEffect() { super(Outcome.GainLife); + staticText = "Its controller gains life equal to its toughness"; } public CondemnEffect(final CondemnEffect effect) { @@ -95,9 +96,4 @@ class CondemnEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "Its controller gains life equal to its toughness"; - } - } diff --git a/Mage.Sets/src/mage/sets/tenth/LoyalSentry.java b/Mage.Sets/src/mage/sets/tenth/LoyalSentry.java index 0dfdd8d614e..a5d17506c65 100644 --- a/Mage.Sets/src/mage/sets/tenth/LoyalSentry.java +++ b/Mage.Sets/src/mage/sets/tenth/LoyalSentry.java @@ -73,6 +73,7 @@ public class LoyalSentry extends CardImpl { class LoyalSentryEffect extends OneShotEffect { LoyalSentryEffect() { super(Constants.Outcome.DestroyPermanent); + staticText = "destroy that creature and {this}"; } LoyalSentryEffect(LoyalSentryEffect effect) { @@ -97,8 +98,4 @@ class LoyalSentryEffect extends OneShotEffect { return new LoyalSentryEffect(this); } - @Override - public String getText(Ability source) { - return "destroy that creature and {this}"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/tenth/Pacifism.java b/Mage.Sets/src/mage/sets/tenth/Pacifism.java index 77a8e7fb581..8ad1f97673c 100644 --- a/Mage.Sets/src/mage/sets/tenth/Pacifism.java +++ b/Mage.Sets/src/mage/sets/tenth/Pacifism.java @@ -80,6 +80,7 @@ class PacifismEffect extends RestrictionEffect { public PacifismEffect() { super(Duration.WhileOnBattlefield); + staticText = "Enchanted creature can't attack or block"; } public PacifismEffect(final PacifismEffect effect) { @@ -109,9 +110,4 @@ class PacifismEffect extends RestrictionEffect { return new PacifismEffect(this); } - @Override - public String getText(Ability source) { - return "Enchanted creature can't attack or block"; - } - } diff --git a/Mage.Sets/src/mage/sets/tenth/PlatinumAngel.java b/Mage.Sets/src/mage/sets/tenth/PlatinumAngel.java index 04e5f3c9481..c75416a41da 100644 --- a/Mage.Sets/src/mage/sets/tenth/PlatinumAngel.java +++ b/Mage.Sets/src/mage/sets/tenth/PlatinumAngel.java @@ -74,6 +74,7 @@ public class PlatinumAngel extends CardImpl { public PlatinumAngelEffect() { super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "You can't lose the game and your opponents can't win the game"; } public PlatinumAngelEffect(final PlatinumAngelEffect effect) { @@ -104,11 +105,6 @@ public class PlatinumAngel extends CardImpl { return false; } - @Override - public String getText(Ability source) { - return "You can't lose the game and your opponents can't win the game"; - } - } } diff --git a/Mage.Sets/src/mage/sets/tenth/RelentlessRats.java b/Mage.Sets/src/mage/sets/tenth/RelentlessRats.java index da301cd30f7..ef22795002a 100644 --- a/Mage.Sets/src/mage/sets/tenth/RelentlessRats.java +++ b/Mage.Sets/src/mage/sets/tenth/RelentlessRats.java @@ -81,6 +81,7 @@ public class RelentlessRats extends CardImpl { public RelentlessRatsEffect() { super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); + staticText = "Relentless Rats gets +1/+1 for each other creature on the battlefield named Relentless Rats"; } public RelentlessRatsEffect(final RelentlessRatsEffect effect) { @@ -106,10 +107,5 @@ public class RelentlessRats extends CardImpl { return false; } - @Override - public String getText(Ability source) { - return "Relentless Rats gets +1/+1 for each other creature on the battlefield named Relentless Rats"; - } - } } diff --git a/Mage.Sets/src/mage/sets/tenth/Traumatize.java b/Mage.Sets/src/mage/sets/tenth/Traumatize.java index f07b56deeb4..4b9c51e7940 100644 --- a/Mage.Sets/src/mage/sets/tenth/Traumatize.java +++ b/Mage.Sets/src/mage/sets/tenth/Traumatize.java @@ -69,6 +69,7 @@ class TraumatizeEffect extends OneShotEffect { public TraumatizeEffect() { super(Outcome.GainLife); + staticText = "Target player puts the top half of his or her library, rounded down, into his or her graveyard"; } public TraumatizeEffect(final TraumatizeEffect effect) { @@ -96,8 +97,4 @@ class TraumatizeEffect extends OneShotEffect { return new TraumatizeEffect(this); } - @Override - public String getText(Ability source) { - return "Target player puts the top half of his or her library, rounded down, into his or her graveyard"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/worldwake/AbyssalPersecutor.java b/Mage.Sets/src/mage/sets/worldwake/AbyssalPersecutor.java index 74375a5bafe..fcaec8491a8 100644 --- a/Mage.Sets/src/mage/sets/worldwake/AbyssalPersecutor.java +++ b/Mage.Sets/src/mage/sets/worldwake/AbyssalPersecutor.java @@ -77,6 +77,7 @@ class AbyssalPersecutorCannotWinEffect extends ReplacementEffectImpl { public BojukaBogEffect() { super(Outcome.Exile); + staticText = "exile all cards from target player's graveyard"; } @Override @@ -94,8 +95,4 @@ class BojukaBogEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "exile all cards from target player's graveyard"; - } } diff --git a/Mage.Sets/src/mage/sets/worldwake/EyeOfUgin.java b/Mage.Sets/src/mage/sets/worldwake/EyeOfUgin.java index 3a1fddf3552..6b9265c0eec 100644 --- a/Mage.Sets/src/mage/sets/worldwake/EyeOfUgin.java +++ b/Mage.Sets/src/mage/sets/worldwake/EyeOfUgin.java @@ -91,6 +91,7 @@ class EyeOfUginCostReductionEffect extends CostModificationEffectImpl { public GroundswellEffect(Duration duration) { super(duration, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); + staticText = "Target creature gets +2/+2 until end of turn.\nLandfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead"; } public GroundswellEffect(final GroundswellEffect effect) { @@ -135,8 +136,4 @@ class GroundswellEffect extends ContinuousEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "Target creature gets +2/+2 until end of turn.\nLandfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead"; - } } diff --git a/Mage.Sets/src/mage/sets/worldwake/HalimarDepths.java b/Mage.Sets/src/mage/sets/worldwake/HalimarDepths.java index 50376eb8353..98fadc70f87 100644 --- a/Mage.Sets/src/mage/sets/worldwake/HalimarDepths.java +++ b/Mage.Sets/src/mage/sets/worldwake/HalimarDepths.java @@ -78,6 +78,7 @@ class HalimarDepthsEffect extends OneShotEffect { public HalimarDepthsEffect() { super(Outcome.Benefit); + staticText = "look at the top three cards of your library, then put them back in any order"; } public HalimarDepthsEffect(final HalimarDepthsEffect effect) { @@ -116,9 +117,4 @@ class HalimarDepthsEffect extends OneShotEffect { return new HalimarDepthsEffect(this); } - @Override - public String getText(Ability source) { - return "look at the top three cards of your library, then put them back in any order"; - } - } diff --git a/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java b/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java index 5c1c59f3ecc..9fc8ad4901d 100644 --- a/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java +++ b/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java @@ -33,7 +33,6 @@ import mage.Constants.CardType; import mage.Constants.Outcome; import mage.Constants.Rarity; import mage.Constants.Zone; -import mage.MageInt; import mage.abilities.Ability; import mage.abilities.LoyaltyAbility; import mage.abilities.common.EntersBattlefieldAbility; @@ -99,6 +98,7 @@ class JaceTheMindSculptorEffect1 extends OneShotEffect { public JaceTheMindSculptorEffect2() { super(Outcome.DrawCard); + staticText = "Draw three cards, then put two cards from your hand on top of your library in any order"; } public JaceTheMindSculptorEffect2(final JaceTheMindSculptorEffect2 effect) { @@ -175,17 +171,13 @@ class JaceTheMindSculptorEffect2 extends OneShotEffect { public JaceTheMindSculptorEffect3() { super(Outcome.DrawCard); + staticText = "Exile all cards from target player's library, then that player shuffles his or her hand into his or her library"; } public JaceTheMindSculptorEffect3(final JaceTheMindSculptorEffect3 effect) { @@ -217,9 +209,4 @@ class JaceTheMindSculptorEffect3 extends OneShotEffect { class NaturesClaimEffect extends OneShotEffect { NaturesClaimEffect() { super(Constants.Outcome.GainLife); + staticText = "Its controller gains 4 life"; } NaturesClaimEffect(final NaturesClaimEffect effect) { @@ -102,8 +103,4 @@ class NaturesClaimEffect extends OneShotEffect { return new NaturesClaimEffect(this); } - @Override - public String getText(Ability source) { - return "Its controller gains 4 life"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/worldwake/PulseTracker.java b/Mage.Sets/src/mage/sets/worldwake/PulseTracker.java index 6c5c162649d..abb8e530606 100644 --- a/Mage.Sets/src/mage/sets/worldwake/PulseTracker.java +++ b/Mage.Sets/src/mage/sets/worldwake/PulseTracker.java @@ -75,6 +75,7 @@ class PulseTrackerLoseLifeEffect extends OneShotEffect { public SearingBlazeEffect() { super(Outcome.Damage); + staticText = "{this} deals 1 damage to target player and 1 damage to target creature that player controls. \nLandfall - If you had a land enter the battlefield under your control this turn, {this} deals 3 damage to that player and 3 damage to that creature instead."; } public SearingBlazeEffect(final SearingBlazeEffect effect) { @@ -141,8 +142,4 @@ class SearingBlazeEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "{this} deals 1 damage to target player and 1 damage to target creature that player controls. \nLandfall - If you had a land enter the battlefield under your control this turn, {this} deals 3 damage to that player and 3 damage to that creature instead."; - } } diff --git a/Mage.Sets/src/mage/sets/worldwake/WalkingAtlas.java b/Mage.Sets/src/mage/sets/worldwake/WalkingAtlas.java index e6cec9c2c72..3c3600290ca 100644 --- a/Mage.Sets/src/mage/sets/worldwake/WalkingAtlas.java +++ b/Mage.Sets/src/mage/sets/worldwake/WalkingAtlas.java @@ -75,6 +75,7 @@ public class WalkingAtlas extends CardImpl { class WalkingAtlasEffect extends OneShotEffect { WalkingAtlasEffect() { super(Constants.Outcome.PutLandInPlay); + staticText = "You may put a land card from your hand onto the battlefield"; } WalkingAtlasEffect(final WalkingAtlasEffect effect) { @@ -96,8 +97,4 @@ class WalkingAtlasEffect extends OneShotEffect { return new WalkingAtlasEffect(this); } - @Override - public String getText(Ability source) { - return "You may put a land card from your hand onto the battlefield"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/ArmamentMaster.java b/Mage.Sets/src/mage/sets/zendikar/ArmamentMaster.java index ecc2d49bba5..50680f60575 100644 --- a/Mage.Sets/src/mage/sets/zendikar/ArmamentMaster.java +++ b/Mage.Sets/src/mage/sets/zendikar/ArmamentMaster.java @@ -90,6 +90,7 @@ class ArmamentMasterEffect extends ContinuousEffectImpl { public ArmamentMasterEffect() { super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); + staticText = "Other Kor creatures you control get +2/+2 for each Equipment attached to Armament Master"; } public ArmamentMasterEffect(final ArmamentMasterEffect effect) { @@ -145,8 +146,4 @@ class ArmamentMasterEffect extends ContinuousEffectImpl { return count; } - @Override - public String getText(Ability source) { - return "Other Kor creatures you control get +2/+2 for each Equipment attached to Armament Master"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/BeastmasterAscension.java b/Mage.Sets/src/mage/sets/zendikar/BeastmasterAscension.java index 533739eeeff..03cf63b61d3 100644 --- a/Mage.Sets/src/mage/sets/zendikar/BeastmasterAscension.java +++ b/Mage.Sets/src/mage/sets/zendikar/BeastmasterAscension.java @@ -108,6 +108,7 @@ class BeastmasterAscensionEffect extends BoostControlledEffect { public BeastmasterAscensionEffect() { super(5, 5, Duration.WhileOnBattlefield); + staticText = "As long as Beastmaster Ascension has seven or more quest counters on it, creatures you control get +5/+5"; } public BeastmasterAscensionEffect(final BeastmasterAscensionEffect effect) { @@ -128,8 +129,4 @@ class BeastmasterAscensionEffect extends BoostControlledEffect { return new BeastmasterAscensionEffect(this); } - @Override - public String getText(Ability source) { - return "As long as Beastmaster Ascension has seven or more quest counters on it, creatures you control get +5/+5"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/BraveTheElements.java b/Mage.Sets/src/mage/sets/zendikar/BraveTheElements.java index ef0a3512277..4aef29356fb 100644 --- a/Mage.Sets/src/mage/sets/zendikar/BraveTheElements.java +++ b/Mage.Sets/src/mage/sets/zendikar/BraveTheElements.java @@ -84,6 +84,7 @@ class BraveTheElementsEffect extends GainAbilityControlledEffect { filter2 = (FilterCard)((ProtectionAbility)ability).getFilter(); filter2.setUseColor(true); filter2.setScopeColor(ComparisonScope.Any); + staticText = "Choose a color. White creatures you control gain protection from the chosen color until end of turn"; } public BraveTheElementsEffect(final BraveTheElementsEffect effect) { @@ -105,9 +106,4 @@ class BraveTheElementsEffect extends GainAbilityControlledEffect { return super.apply(game, source); } - @Override - public String getText(Ability source) { - return "Choose a color. White creatures you control gain protection from the chosen color until end of turn"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java b/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java index 6d966b1ec69..7fd0671b7d6 100644 --- a/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java +++ b/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java @@ -81,6 +81,7 @@ class EldraziMonumentEffect extends OneShotEffect { public EldraziMonumentEffect() { super(Outcome.Sacrifice); + staticText = "sacrifice a creature. If you can't, sacrifice Eldrazi Monument"; } public EldraziMonumentEffect(final EldraziMonumentEffect ability) { @@ -112,10 +113,5 @@ class EldraziMonumentEffect extends OneShotEffect { } - @Override - public String getText(Ability source) { - return "sacrifice a creature. If you can't, sacrifice Eldrazi Monument"; - } - } diff --git a/Mage.Sets/src/mage/sets/zendikar/GoblinGuide.java b/Mage.Sets/src/mage/sets/zendikar/GoblinGuide.java index d86ef5ceaa7..c6ec4c82a05 100644 --- a/Mage.Sets/src/mage/sets/zendikar/GoblinGuide.java +++ b/Mage.Sets/src/mage/sets/zendikar/GoblinGuide.java @@ -78,6 +78,7 @@ class GoblinGuideEffect extends OneShotEffect { public GoblinGuideEffect() { super(Outcome.DrawCard); + staticText = "defending player reveals the top card of his or her library. If it's a land card, that player puts it into his or her hand"; } public GoblinGuideEffect(final GoblinGuideEffect effect) { @@ -108,8 +109,4 @@ class GoblinGuideEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "defending player reveals the top card of his or her library. If it's a land card, that player puts it into his or her hand"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/GoblinWarPaint.java b/Mage.Sets/src/mage/sets/zendikar/GoblinWarPaint.java index 0a9c11833c6..4d416545c6b 100644 --- a/Mage.Sets/src/mage/sets/zendikar/GoblinWarPaint.java +++ b/Mage.Sets/src/mage/sets/zendikar/GoblinWarPaint.java @@ -81,6 +81,7 @@ class GoblinWarPaintEffect extends ContinuousEffectImpl { public GoblinWarPaintEffect() { super(Duration.WhileOnBattlefield, Constants.Outcome.Benefit); + staticText = "Enchanted creature gets +2/+2 and has haste"; } public GoblinWarPaintEffect(final GoblinWarPaintEffect effect) { @@ -127,8 +128,4 @@ class GoblinWarPaintEffect extends ContinuousEffectImpl { return new GoblinWarPaintEffect(this); } - @Override - public String getText(Ability source) { - return "Enchanted creature gets +2/+2 and has haste"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/KhalniGem.java b/Mage.Sets/src/mage/sets/zendikar/KhalniGem.java index b01a15bd52c..a3f82df28ea 100644 --- a/Mage.Sets/src/mage/sets/zendikar/KhalniGem.java +++ b/Mage.Sets/src/mage/sets/zendikar/KhalniGem.java @@ -92,6 +92,7 @@ class KhalniGemReturnToHandTargetEffect extends OneShotEffect { public NimbusWingsEffect() { super(Duration.WhileOnBattlefield, Constants.Outcome.Benefit); + staticText = "Enchanted creature gets +1/+2 and has flying"; } public NimbusWingsEffect(final NimbusWingsEffect effect) { @@ -127,8 +128,4 @@ class NimbusWingsEffect extends ContinuousEffectImpl { return new NimbusWingsEffect(this); } - @Override - public String getText(Ability source) { - return "Enchanted creature gets +1/+2 and has flying"; - } } diff --git a/Mage.Sets/src/mage/sets/zendikar/NissaRevane.java b/Mage.Sets/src/mage/sets/zendikar/NissaRevane.java index 542ba9c4f74..c668c371933 100644 --- a/Mage.Sets/src/mage/sets/zendikar/NissaRevane.java +++ b/Mage.Sets/src/mage/sets/zendikar/NissaRevane.java @@ -100,6 +100,7 @@ class NissaRevaneGainLifeEffect extends OneShotEffect public NissaRevaneGainLifeEffect() { super(Outcome.GainLife); + staticText = "You gain 2 life for each Elf you control"; } public NissaRevaneGainLifeEffect(final NissaRevaneGainLifeEffect effect) { @@ -121,9 +122,4 @@ class NissaRevaneGainLifeEffect extends OneShotEffect return true; } - @Override - public String getText(Ability source) { - return "You gain 2 life for each Elf you control"; - } - } diff --git a/Mage.Sets/src/mage/sets/zendikar/NissasChosen.java b/Mage.Sets/src/mage/sets/zendikar/NissasChosen.java index b6f51500cda..0b39cf95069 100644 --- a/Mage.Sets/src/mage/sets/zendikar/NissasChosen.java +++ b/Mage.Sets/src/mage/sets/zendikar/NissasChosen.java @@ -79,6 +79,7 @@ class NissasChosenEffect extends ReplacementEffectImpl { public NissasChosenEffect() { super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "If Nissa's Chosen would be put into a graveyard from the battlefield, put it on the bottom of its owner's library instead"; } public NissasChosenEffect(final NissasChosenEffect effect) { @@ -117,8 +118,4 @@ class NissasChosenEffect extends ReplacementEffectImpl { return false; } - @Override - public String getText(Ability source) { - return "If Nissa's Chosen would be put into a graveyard from the battlefield, put it on the bottom of its owner's library instead"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/OranRiefTheVastwood.java b/Mage.Sets/src/mage/sets/zendikar/OranRiefTheVastwood.java index 88fa8363863..89315170b97 100644 --- a/Mage.Sets/src/mage/sets/zendikar/OranRiefTheVastwood.java +++ b/Mage.Sets/src/mage/sets/zendikar/OranRiefTheVastwood.java @@ -75,6 +75,7 @@ class OranRiefTheVastwoodEffect extends OneShotEffect public OranRiefTheVastwoodEffect() { super(Outcome.BoostCreature); + staticText = "Put a +1/+1 counter on each green creature that entered the battlefield this turn"; } public OranRiefTheVastwoodEffect(final OranRiefTheVastwoodEffect effect) { @@ -101,9 +102,4 @@ class OranRiefTheVastwoodEffect extends OneShotEffect return true; } - @Override - public String getText(Ability source) { - return "Put a +1/+1 counter on each green creature that entered the battlefield this turn"; - } - } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/SpreadingSeas.java b/Mage.Sets/src/mage/sets/zendikar/SpreadingSeas.java index fbd6e963623..81dc38d8081 100644 --- a/Mage.Sets/src/mage/sets/zendikar/SpreadingSeas.java +++ b/Mage.Sets/src/mage/sets/zendikar/SpreadingSeas.java @@ -86,6 +86,7 @@ class SpreadingSeasEffect extends ContinuousEffectImpl { public SpreadingSeasEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Enchanted land is an Island"; } public SpreadingSeasEffect(final SpreadingSeasEffect effect) { @@ -133,8 +134,4 @@ class SpreadingSeasEffect extends ContinuousEffectImpl { return layer == Layer.AbilityAddingRemovingEffects_6 || layer == layer.TypeChangingEffects_4; } - @Override - public String getText(Ability source) { - return "Enchanted land is an Island"; - } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/zendikar/VampireHexmage.java b/Mage.Sets/src/mage/sets/zendikar/VampireHexmage.java index 39f822a4080..cbe67f2852b 100644 --- a/Mage.Sets/src/mage/sets/zendikar/VampireHexmage.java +++ b/Mage.Sets/src/mage/sets/zendikar/VampireHexmage.java @@ -81,6 +81,7 @@ class VampireHexmageEffect extends OneShotEffect { VampireHexmageEffect ( ) { super(Outcome.Benefit); + staticText = "Remove all counters from target permanent"; } VampireHexmageEffect ( VampireHexmageEffect effect ) { @@ -111,9 +112,4 @@ class VampireHexmageEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "Remove all counters from target permanent"; - } - } diff --git a/Mage.Sets/src/mage/sets/zendikar/VinesOfVastwood.java b/Mage.Sets/src/mage/sets/zendikar/VinesOfVastwood.java index f4b967a8e04..e57815afd80 100644 --- a/Mage.Sets/src/mage/sets/zendikar/VinesOfVastwood.java +++ b/Mage.Sets/src/mage/sets/zendikar/VinesOfVastwood.java @@ -90,6 +90,7 @@ class VinesOfVastwoodEffect extends ReplacementEffectImpl public VinesOfVastwoodEffect(FilterStackObject filterSource, Duration duration) { super(duration, Outcome.Benefit); this.filterSource = filterSource; + staticText = "Target creature can't be the target of spells or abilities your opponents control this turn. If Vines of Vastwood was kicked, that creature gets +4/+4 until end of turn."; } public VinesOfVastwoodEffect(final VinesOfVastwoodEffect effect) { @@ -123,13 +124,4 @@ class VinesOfVastwoodEffect extends ReplacementEffectImpl return false; } - @Override - public String getText(Ability source) { - StringBuilder sb = new StringBuilder(); - sb.append("Target creature can't be the target of "); - sb.append(filterSource.getMessage()); - sb.append(" ").append(duration.toString()); - return sb.toString(); - } - } diff --git a/Mage/src/mage/abilities/AbilityImpl.java b/Mage/src/mage/abilities/AbilityImpl.java index 10869e20626..8afa9da8211 100644 --- a/Mage/src/mage/abilities/AbilityImpl.java +++ b/Mage/src/mage/abilities/AbilityImpl.java @@ -320,7 +320,7 @@ public abstract class AbilityImpl> implements Ability { } } - sbRule.append(modes.getText(this)); + sbRule.append(modes.getText()); return sbRule.toString(); } diff --git a/Mage/src/mage/abilities/Modes.java b/Mage/src/mage/abilities/Modes.java index e0925648c81..c7011d8d6d7 100644 --- a/Mage/src/mage/abilities/Modes.java +++ b/Mage/src/mage/abilities/Modes.java @@ -83,21 +83,23 @@ public class Modes extends HashMap { return true; } - public String getText(Ability source) { + public String getText() { StringBuilder sb = new StringBuilder(); - sb.append("Choose one - "); + if (this.size() > 1) + sb.append("Choose one - "); for (Mode mode: this.values()) { - sb.append(mode.getEffects().getText(source)).append("; or "); + sb.append(mode.getEffects().getText(mode)).append("; or "); } sb.delete(sb.length() - 5, sb.length()); return sb.toString(); } - public String getText(Ability source, String sourceName) { + public String getText(String sourceName) { StringBuilder sb = new StringBuilder(); - sb.append("Choose one - "); + if (this.size() > 1) + sb.append("Choose one - "); for (Mode mode: this.values()) { - sb.append(mode.getEffects().getText(source)).append("; or "); + sb.append(mode.getEffects().getText(mode)).append("; or "); } sb.delete(sb.length() - 5, sb.length()); String text = sb.toString(); diff --git a/Mage/src/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java b/Mage/src/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java index d0ac1651c75..64f4492c4c5 100644 --- a/Mage/src/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java +++ b/Mage/src/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java @@ -52,11 +52,11 @@ public class BeginningOfUpkeepTriggeredAbility extends TriggeredAbilityImpl> extends Serializable { public UUID getId(); - public String getText(Ability source); + public String getText(Mode mode); public boolean apply(Game game, Ability source); public Outcome getOutcome(); public EffectType getEffectType(); diff --git a/Mage/src/mage/abilities/effects/EffectImpl.java b/Mage/src/mage/abilities/effects/EffectImpl.java index 14a9052b118..8480e01ba28 100644 --- a/Mage/src/mage/abilities/effects/EffectImpl.java +++ b/Mage/src/mage/abilities/effects/EffectImpl.java @@ -32,6 +32,7 @@ import java.util.UUID; import mage.Constants.EffectType; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.target.targetpointer.FirstTargetPointer; import mage.target.targetpointer.TargetPointer; @@ -66,21 +67,22 @@ public abstract class EffectImpl> implements Effect { } @Override - public String getText(Ability source) { - if (staticText.equals("")) { - return getDynamicText(source); - } else { - return staticText; - } + public String getText(Mode mode) { + return staticText; +// if (staticText.equals("")) { +// return getDynamicText(source); +// } else { +// return staticText; +// } } - protected String getDynamicText(Ability source) { - return ""; - } +// protected String getDynamicText(Ability source) { +// return ""; +// } - public void setStaticText(String staticText) { - this.staticText = staticText; - } +// public void setStaticText(String staticText) { +// this.staticText = staticText; +// } @Override public Outcome getOutcome() { diff --git a/Mage/src/mage/abilities/effects/Effects.java b/Mage/src/mage/abilities/effects/Effects.java index 68fc45c6c53..6fa43fff6fa 100644 --- a/Mage/src/mage/abilities/effects/Effects.java +++ b/Mage/src/mage/abilities/effects/Effects.java @@ -34,6 +34,7 @@ import java.util.List; import java.util.Set; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; /** * @@ -53,10 +54,10 @@ public class Effects extends ArrayList { return new Effects(this); } - public String getText(Ability source) { + public String getText(Mode mode) { StringBuilder sbText = new StringBuilder(); for (Effect effect: this) { - sbText.append(effect.getText(source)).append(". "); + sbText.append(effect.getText(mode)).append(". "); } return sbText.toString(); } diff --git a/Mage/src/mage/abilities/effects/EntersBattlefieldEffect.java b/Mage/src/mage/abilities/effects/EntersBattlefieldEffect.java index 79fc231b9b4..74147b55e1b 100644 --- a/Mage/src/mage/abilities/effects/EntersBattlefieldEffect.java +++ b/Mage/src/mage/abilities/effects/EntersBattlefieldEffect.java @@ -30,6 +30,7 @@ package mage.abilities.effects; import mage.Constants.Duration; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -93,9 +94,9 @@ public class EntersBattlefieldEffect extends ReplacementEffectImpl public AddManaOfAnyColorEffect() { super(); + staticText = "add one mana of any color to your mana pool"; } public AddManaOfAnyColorEffect(final AddManaOfAnyColorEffect effect) { @@ -82,10 +81,4 @@ public class AddManaOfAnyColorEffect extends ManaEffect return false; } - @Override - public String getText(Ability source) { - return "add one mana of any color to your mana pool"; - } - - } diff --git a/Mage/src/mage/abilities/effects/common/AddPoisonCounterTargetEffect.java b/Mage/src/mage/abilities/effects/common/AddPoisonCounterTargetEffect.java index 25de35c4b08..447e62e4109 100644 --- a/Mage/src/mage/abilities/effects/common/AddPoisonCounterTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/AddPoisonCounterTargetEffect.java @@ -29,6 +29,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.counters.CounterType; import mage.game.Game; @@ -72,7 +73,7 @@ public class AddPoisonCounterTargetEffect extends OneShotEffect { public BasicManaEffect(Mana mana) { super(); this.mana = mana; + staticText = "Add " + mana.toString() + " to your mana pool"; } public BasicManaEffect(final BasicManaEffect effect) { @@ -29,12 +29,6 @@ public class BasicManaEffect extends ManaEffect { return true; } - - @Override - public String getText(Ability source) { - return "Add " + mana.toString() + " to your mana pool"; - } - public Mana getMana() { return mana; } diff --git a/Mage/src/mage/abilities/effects/common/CantCounterControlledEffect.java b/Mage/src/mage/abilities/effects/common/CantCounterControlledEffect.java index 9c66181a0d5..e20162eab45 100644 --- a/Mage/src/mage/abilities/effects/common/CantCounterControlledEffect.java +++ b/Mage/src/mage/abilities/effects/common/CantCounterControlledEffect.java @@ -53,6 +53,7 @@ public class CantCounterControlledEffect extends ReplacementEffectImpl { } @Override - public String getText(Ability source) { - return "You may have {this} enter the battlefield as a copy of any " + source.getTargets().get(0).getTargetName() + " on the battlefield"; + public String getText(Mode mode) { + return "You may have {this} enter the battlefield as a copy of any " + mode.getTargets().get(0).getTargetName() + " on the battlefield"; } } diff --git a/Mage/src/mage/abilities/effects/common/CopyTokenEffect.java b/Mage/src/mage/abilities/effects/common/CopyTokenEffect.java index ff45a0beea7..d5b05fe3b9a 100644 --- a/Mage/src/mage/abilities/effects/common/CopyTokenEffect.java +++ b/Mage/src/mage/abilities/effects/common/CopyTokenEffect.java @@ -13,6 +13,7 @@ public class CopyTokenEffect extends ContinuousEffectImpl { public CopyTokenEffect(Token token) { super(Constants.Duration.WhileOnBattlefield, Constants.Layer.CopyEffects_1, Constants.SubLayer.NA, Constants.Outcome.BecomeCreature); this.token = token.copy(); + staticText = "You may have {this} enter the battlefield as a copy of " + token.getDescription() + " on the battlefield"; } public CopyTokenEffect(final CopyTokenEffect effect) { @@ -54,9 +55,4 @@ public class CopyTokenEffect extends ContinuousEffectImpl { return new CopyTokenEffect(this); } - @Override - public String getText(Ability source) { - return "You may have {this} enter the battlefield as a copy of " + token.getDescription() + " on the battlefield"; - } - } diff --git a/Mage/src/mage/abilities/effects/common/CounterTargetEffect.java b/Mage/src/mage/abilities/effects/common/CounterTargetEffect.java index 62ebd5de5ed..c73d3442776 100644 --- a/Mage/src/mage/abilities/effects/common/CounterTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/CounterTargetEffect.java @@ -30,6 +30,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.game.Game; @@ -58,8 +59,8 @@ public class CounterTargetEffect extends OneShotEffect { } @Override - public String getText(Ability source) { - return "Counter target " + source.getTargets().get(0).getTargetName(); + public String getText(Mode mode) { + return "Counter target " + mode.getTargets().get(0).getTargetName(); } } diff --git a/Mage/src/mage/abilities/effects/common/CounterUnlessPaysEffect.java b/Mage/src/mage/abilities/effects/common/CounterUnlessPaysEffect.java index 6b84c847f36..588084dee6d 100644 --- a/Mage/src/mage/abilities/effects/common/CounterUnlessPaysEffect.java +++ b/Mage/src/mage/abilities/effects/common/CounterUnlessPaysEffect.java @@ -30,6 +30,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.costs.Cost; import mage.abilities.effects.OneShotEffect; import mage.game.Game; @@ -75,8 +76,8 @@ public class CounterUnlessPaysEffect extends OneShotEffect { public CreateTokenEffect(Token token) { this(token, new StaticValue(1)); + setText(); } public CreateTokenEffect(Token token, int amount) { @@ -78,8 +79,7 @@ public class CreateTokenEffect extends OneShotEffect { return true; } - @Override - public String getDynamicText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder("put "); if (amount.toString().equals("1")) { sb.append("a"); @@ -92,7 +92,7 @@ public class CreateTokenEffect extends OneShotEffect { sb.append(" for each "); } sb.append(message); - return sb.toString(); + staticText = sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/DamageAllControlledTargetEffect.java b/Mage/src/mage/abilities/effects/common/DamageAllControlledTargetEffect.java index 077c586f978..c2f7d1619ff 100644 --- a/Mage/src/mage/abilities/effects/common/DamageAllControlledTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DamageAllControlledTargetEffect.java @@ -28,6 +28,7 @@ package mage.abilities.effects.common; +import java.text.MessageFormat; import mage.Constants.Outcome; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; @@ -48,6 +49,8 @@ public class DamageAllControlledTargetEffect extends OneShotEffect { super(Outcome.Damage); this.amount = amount; this.filter = filter; + setText(); } public DamageAllEffect(final DamageAllEffect effect) { @@ -76,8 +77,7 @@ public class DamageAllEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder(); sb.append("{source} deals ").append(amount.toString()).append(" damage to each ").append(filter.getMessage()); String message = amount.getMessage(); @@ -85,7 +85,7 @@ public class DamageAllEffect extends OneShotEffect { sb.append(" for each "); } sb.append(message); - return sb.toString(); + staticText = sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/DamageControllerEffect.java b/Mage/src/mage/abilities/effects/common/DamageControllerEffect.java index 43060a7cefd..b26fa9a6aa2 100644 --- a/Mage/src/mage/abilities/effects/common/DamageControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/DamageControllerEffect.java @@ -51,6 +51,7 @@ public class DamageControllerEffect extends OneShotEffect { } @Override - public String getText(Ability source) { + public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); sb.append("{source} deals ").append(Integer.toString(amount)); - sb.append(" damage divided as you choose among any number of target ").append(source.getTargets().get(0).getTargetName()); + sb.append(" damage divided as you choose among any number of target ").append(mode.getTargets().get(0).getTargetName()); return sb.toString(); } diff --git a/Mage/src/mage/abilities/effects/common/DamagePlayersEffect.java b/Mage/src/mage/abilities/effects/common/DamagePlayersEffect.java new file mode 100644 index 00000000000..697d7db733a --- /dev/null +++ b/Mage/src/mage/abilities/effects/common/DamagePlayersEffect.java @@ -0,0 +1,69 @@ +/* + * Copyright 2011 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.abilities.effects.common; + +import java.util.UUID; +import mage.Constants; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class DamagePlayersEffect extends OneShotEffect { + private int amount; + + public DamagePlayersEffect(int amount) { + super(Constants.Outcome.Damage); + this.amount = amount; + staticText = "{source} deals " + amount + " damage to each player"; + } + + public DamagePlayersEffect(final DamagePlayersEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) { + Player player = game.getPlayer(playerId); + if (player != null) + player.damage(amount, source.getId(), game, false, true); + } + return true; + } + + @Override + public DamagePlayersEffect copy() { + return new DamagePlayersEffect(this); + } + +} diff --git a/Mage/src/mage/abilities/effects/common/DamageTargetEffect.java b/Mage/src/mage/abilities/effects/common/DamageTargetEffect.java index 381f90c0f46..e871c1552bb 100644 --- a/Mage/src/mage/abilities/effects/common/DamageTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DamageTargetEffect.java @@ -30,6 +30,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.OneShotEffect; @@ -100,7 +101,7 @@ public class DamageTargetEffect extends OneShotEffect { } @Override - public String getText(Ability source) { + public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); String message = amount.getMessage(); sb.append("{source} deals "); @@ -108,7 +109,7 @@ public class DamageTargetEffect extends OneShotEffect { sb.append(amount); } sb.append(" damage to target "); - sb.append(source.getTargets().get(0).getTargetName()); + sb.append(mode.getTargets().get(0).getTargetName()); if (message.length() > 0) { sb.append(message.equals("1") ? " equal to the number of " : " for each "); sb.append(message); diff --git a/Mage/src/mage/abilities/effects/common/DamageXTargetEffect.java b/Mage/src/mage/abilities/effects/common/DamageXTargetEffect.java index 6cce41d6584..e55c5080b12 100644 --- a/Mage/src/mage/abilities/effects/common/DamageXTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DamageXTargetEffect.java @@ -30,6 +30,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.game.permanent.Permanent; @@ -71,8 +72,8 @@ public class DamageXTargetEffect extends OneShotEffect { } @Override - public String getText(Ability source) { - return "{source} deals X damage to target " + source.getTargets().get(0).getTargetName(); + public String getText(Mode mode) { + return "{source} deals X damage to target " + mode.getTargets().get(0).getTargetName(); } } diff --git a/Mage/src/mage/abilities/effects/common/DestroyAllControlledTargetEffect.java b/Mage/src/mage/abilities/effects/common/DestroyAllControlledTargetEffect.java index adfb2001a02..3ed6972ccaa 100644 --- a/Mage/src/mage/abilities/effects/common/DestroyAllControlledTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DestroyAllControlledTargetEffect.java @@ -46,6 +46,7 @@ public class DestroyAllControlledTargetEffect extends OneShotEffect { + protected boolean noRegen; + + public DestroyMultiTargetEffect() { + this(false); + } + + public DestroyMultiTargetEffect(boolean noRegen) { + super(Outcome.DestroyPermanent); + this.noRegen = noRegen; + } + + public DestroyMultiTargetEffect(final DestroyMultiTargetEffect effect) { + super(effect); + this.noRegen = effect.noRegen; + } + + @Override + public DestroyMultiTargetEffect copy() { + return new DestroyMultiTargetEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + int affectedTargets = 0; + for (Target target: source.getTargets()) { + for (UUID permanentId: target.getTargets()) { + Permanent permanent = game.getPermanent(permanentId); + if (permanent != null) { + permanent.destroy(source.getId(), game, noRegen); + affectedTargets++; + } + } + } + return affectedTargets > 0; + } + + @Override + public String getText(Mode mode) { + StringBuilder sb = new StringBuilder(); + sb.append("Destroy "); + for (Target target: mode.getTargets()) { + if (target.getNumberOfTargets() > 1) + sb.append(target.getNumberOfTargets()); + sb.append("target ").append(target.getTargetName()).append(" and "); + } + return sb.toString(); + } + + +} diff --git a/Mage/src/mage/abilities/effects/common/DestroyNoRegenTargetEffect.java b/Mage/src/mage/abilities/effects/common/DestroyNoRegenTargetEffect.java index c4cdfa993ad..07a965030da 100644 --- a/Mage/src/mage/abilities/effects/common/DestroyNoRegenTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DestroyNoRegenTargetEffect.java @@ -30,6 +30,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.game.permanent.Permanent; @@ -61,8 +62,8 @@ public class DestroyNoRegenTargetEffect extends OneShotEffect { public DestroySourceEffect(boolean noRegen) { super(Outcome.DestroyPermanent); this.noRegen = noRegen; + staticText = "Destroy {this}"; } public DestroySourceEffect(final DestroySourceEffect effect) { @@ -71,9 +72,4 @@ public class DestroySourceEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "Destroy {this}"; - } - } diff --git a/Mage/src/mage/abilities/effects/common/DestroyTargetEffect.java b/Mage/src/mage/abilities/effects/common/DestroyTargetEffect.java index e0c8bda9fe4..c777135f1bd 100644 --- a/Mage/src/mage/abilities/effects/common/DestroyTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DestroyTargetEffect.java @@ -33,9 +33,9 @@ import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.target.Target; import java.util.UUID; +import mage.abilities.Mode; /** * @@ -80,13 +80,13 @@ public class DestroyTargetEffect extends OneShotEffect { } @Override - public String getText(Ability source) { - if (source.getTargets().size() == 0) { + public String getText(Mode mode) { + if (mode.getTargets().size() == 0) { return "destroy that creature"; //TODO add possibility to specify text with targetPointer usage - } else if (source.getTargets().get(0).getNumberOfTargets() == 1) - return "Destroy target " + source.getTargets().get(0).getTargetName(); + } else if (mode.getTargets().get(0).getNumberOfTargets() == 1) + return "Destroy target " + mode.getTargets().get(0).getTargetName(); else - return "Destroy " + source.getTargets().get(0).getNumberOfTargets() + " target " + source.getTargets().get(0).getTargetName(); + return "Destroy " + mode.getTargets().get(0).getNumberOfTargets() + " target " + mode.getTargets().get(0).getTargetName(); } } diff --git a/Mage/src/mage/abilities/effects/common/DiscardEachPlayerEffect.java b/Mage/src/mage/abilities/effects/common/DiscardEachPlayerEffect.java index ed015938f90..80d499afd20 100644 --- a/Mage/src/mage/abilities/effects/common/DiscardEachPlayerEffect.java +++ b/Mage/src/mage/abilities/effects/common/DiscardEachPlayerEffect.java @@ -11,6 +11,7 @@ import java.util.UUID; public class DiscardEachPlayerEffect extends OneShotEffect { public DiscardEachPlayerEffect() { super(Constants.Outcome.Discard); + staticText = "each player discards a card"; } public DiscardEachPlayerEffect(final DiscardEachPlayerEffect effect) { @@ -34,8 +35,4 @@ public class DiscardEachPlayerEffect extends OneShotEffect { public DiscardTargetEffect(DynamicValue amount) { super(Outcome.Discard); this.amount = amount; + setText(); } public DiscardTargetEffect(int amount) { @@ -72,8 +73,7 @@ public class DiscardTargetEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder("Target player discards "); sb.append(amount).append(" card"); try { @@ -88,6 +88,6 @@ public class DiscardTargetEffect extends OneShotEffect { sb.append(" for each "); } sb.append(message); - return sb.toString(); + staticText = sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/DoIfCostPaid.java b/Mage/src/mage/abilities/effects/common/DoIfCostPaid.java index 1d2b0c80a69..c4f70fe1aca 100644 --- a/Mage/src/mage/abilities/effects/common/DoIfCostPaid.java +++ b/Mage/src/mage/abilities/effects/common/DoIfCostPaid.java @@ -2,6 +2,7 @@ package mage.abilities.effects.common; import mage.Constants; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.costs.Cost; import mage.abilities.effects.OneShotEffect; import mage.game.Game; @@ -28,7 +29,7 @@ public class DoIfCostPaid extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - if (player.chooseUse(executingEffect.getOutcome(), "Pay " + cost.getText() + " and " + executingEffect.getText(source), game)) { + if (player.chooseUse(executingEffect.getOutcome(), "Pay " + cost.getText() + " and " + executingEffect.getText(source.getModes().getMode()), game)) { cost.clearPaid(); if (cost.pay(game, source.getId(), source.getControllerId(), false)) { return executingEffect.apply(game, source); @@ -40,8 +41,8 @@ public class DoIfCostPaid extends OneShotEffect { } @Override - public String getText(Ability source) { - return "you may pay " + cost.getText() + ". If you do, " + executingEffect.getText(source); + public String getText(Mode mode) { + return "you may pay " + cost.getText() + ". If you do, " + executingEffect.getText(mode); } @Override diff --git a/Mage/src/mage/abilities/effects/common/DrawCardAllEffect.java b/Mage/src/mage/abilities/effects/common/DrawCardAllEffect.java index c5c22362848..a26d750a9f5 100644 --- a/Mage/src/mage/abilities/effects/common/DrawCardAllEffect.java +++ b/Mage/src/mage/abilities/effects/common/DrawCardAllEffect.java @@ -46,6 +46,7 @@ public class DrawCardAllEffect extends OneShotEffect { public DrawCardAllEffect(int amount) { super(Outcome.DrawCard); this.amount = amount; + staticText = "Each player draws " + Integer.toString(amount) + " card" + (amount == 1?"":"s"); } public DrawCardAllEffect(final DrawCardAllEffect effect) { @@ -70,9 +71,4 @@ public class DrawCardAllEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "Each player draws " + Integer.toString(amount) + " card" + (amount == 1?"":"s"); - } - } diff --git a/Mage/src/mage/abilities/effects/common/DrawCardControllerEffect.java b/Mage/src/mage/abilities/effects/common/DrawCardControllerEffect.java index eb4675eb7a1..371eaa905a7 100644 --- a/Mage/src/mage/abilities/effects/common/DrawCardControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/DrawCardControllerEffect.java @@ -51,6 +51,7 @@ public class DrawCardControllerEffect extends OneShotEffect { } @Override - public String getText(Ability source) { + public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); - if (source.getTargets().size() > 0) { - sb.append("Target ").append(source.getTargets().get(0).getTargetName()); + if (mode.getTargets().size() > 0) { + sb.append("Target ").append(mode.getTargets().get(0).getTargetName()); } else { sb.append("that player"); } diff --git a/Mage/src/mage/abilities/effects/common/DrawDiscardControllerEffect.java b/Mage/src/mage/abilities/effects/common/DrawDiscardControllerEffect.java index 53b3f9ea20a..e6485a78df9 100644 --- a/Mage/src/mage/abilities/effects/common/DrawDiscardControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/DrawDiscardControllerEffect.java @@ -42,6 +42,7 @@ public class DrawDiscardControllerEffect extends OneShotEffect{ } @Override - public String getText(Ability source) { - return "Exile target " + source.getTargets().get(0).getTargetName() + " from your graveyard"; + public String getText(Mode mode) { + return "Exile target " + mode.getTargets().get(0).getTargetName() + " from your graveyard"; } } diff --git a/Mage/src/mage/abilities/effects/common/ExileSourceEffect.java b/Mage/src/mage/abilities/effects/common/ExileSourceEffect.java index 8311d978c98..562befbd98c 100644 --- a/Mage/src/mage/abilities/effects/common/ExileSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/ExileSourceEffect.java @@ -42,6 +42,7 @@ public class ExileSourceEffect extends OneShotEffect { public ExileSourceEffect() { super(Outcome.Exile); + staticText = "Exile {this}"; } public ExileSourceEffect(final ExileSourceEffect effect) { @@ -62,9 +63,4 @@ public class ExileSourceEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "Exile {this}"; - } - } diff --git a/Mage/src/mage/abilities/effects/common/ExileSpellEffect.java b/Mage/src/mage/abilities/effects/common/ExileSpellEffect.java index d0bc5aa1fd3..d714e1b1c8b 100644 --- a/Mage/src/mage/abilities/effects/common/ExileSpellEffect.java +++ b/Mage/src/mage/abilities/effects/common/ExileSpellEffect.java @@ -48,6 +48,7 @@ public class ExileSpellEffect extends OneShotEffect { private ExileSpellEffect() { super(Outcome.Exile); + staticText = "Exile {this}"; } public static ExileSpellEffect getInstance() { @@ -60,11 +61,6 @@ public class ExileSpellEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "Exile {this}"; - } - @Override public ExileSpellEffect copy() { return fINSTANCE; diff --git a/Mage/src/mage/abilities/effects/common/ExileTargetEffect.java b/Mage/src/mage/abilities/effects/common/ExileTargetEffect.java index 19fdc8ad145..588d4bdd0a5 100644 --- a/Mage/src/mage/abilities/effects/common/ExileTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/ExileTargetEffect.java @@ -31,6 +31,7 @@ package mage.abilities.effects.common; import java.util.UUID; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.game.permanent.Permanent; @@ -75,8 +76,8 @@ public class ExileTargetEffect extends OneShotEffect { } @Override - public String getText(Ability source) { - return "Exile target " + source.getTargets().get(0).getTargetName(); + public String getText(Mode mode) { + return "Exile target " + mode.getTargets().get(0).getTargetName(); } } diff --git a/Mage/src/mage/abilities/effects/common/FlipSourceEffect.java b/Mage/src/mage/abilities/effects/common/FlipSourceEffect.java index 4f0aeace9e9..1f946eb3061 100644 --- a/Mage/src/mage/abilities/effects/common/FlipSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/FlipSourceEffect.java @@ -14,6 +14,7 @@ public class FlipSourceEffect extends OneShotEffect { public FlipSourceEffect() { super(Constants.Outcome.BecomeCreature); + staticText = "flip it."; } public FlipSourceEffect(final FlipSourceEffect effect) { @@ -34,8 +35,4 @@ public class FlipSourceEffect extends OneShotEffect { return new FlipSourceEffect(this); } - @Override - public String getText(Ability source) { - return "flip it."; - } } diff --git a/Mage/src/mage/abilities/effects/common/GainLifeEffect.java b/Mage/src/mage/abilities/effects/common/GainLifeEffect.java index f8c6cfde3f3..ed3aaa3bb83 100644 --- a/Mage/src/mage/abilities/effects/common/GainLifeEffect.java +++ b/Mage/src/mage/abilities/effects/common/GainLifeEffect.java @@ -51,6 +51,7 @@ public class GainLifeEffect extends OneShotEffect { public GainLifeEffect(DynamicValue life) { super(Outcome.GainLife); this.life = life; + setText(); } public GainLifeEffect(final GainLifeEffect effect) { @@ -72,8 +73,7 @@ public class GainLifeEffect extends OneShotEffect { return true; } - @Override - public String getDynamicText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder(); String message = life.getMessage(); @@ -86,7 +86,7 @@ public class GainLifeEffect extends OneShotEffect { sb.append(message.equals("1") ? " equal to the number of " : " for each "); sb.append(message); } - return sb.toString(); + staticText = sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/GainLifeTargetEffect.java b/Mage/src/mage/abilities/effects/common/GainLifeTargetEffect.java index e965e817039..1198b224e6e 100644 --- a/Mage/src/mage/abilities/effects/common/GainLifeTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/GainLifeTargetEffect.java @@ -46,6 +46,7 @@ public class GainLifeTargetEffect extends OneShotEffect { public GainLifeTargetEffect(int life) { super(Outcome.GainLife); this.life = life; + staticText = "target players each gain " + Integer.toString(life) + " life"; } public GainLifeTargetEffect(final GainLifeTargetEffect effect) { @@ -69,9 +70,4 @@ public class GainLifeTargetEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "target players each gain " + Integer.toString(life) + " life"; - } - } diff --git a/Mage/src/mage/abilities/effects/common/LoseLifeControllerEffect.java b/Mage/src/mage/abilities/effects/common/LoseLifeControllerEffect.java index 5e89feaf4d6..fb430a4092a 100644 --- a/Mage/src/mage/abilities/effects/common/LoseLifeControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/LoseLifeControllerEffect.java @@ -46,6 +46,7 @@ public class LoseLifeControllerEffect extends OneShotEffect { + + private int amount; + + public LoseLifePlayersEffect(int amount) { + super(Constants.Outcome.Damage); + this.amount = amount; + staticText = "each player loses " + amount + " life"; + } + + public LoseLifePlayersEffect(final LoseLifePlayersEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) { + Player player = game.getPlayer(playerId); + if (player != null) + player.loseLife(amount, game); + } + return true; + } + + @Override + public LoseLifePlayersEffect copy() { + return new LoseLifePlayersEffect(this); + } + +} diff --git a/Mage/src/mage/abilities/effects/common/LoseLifeSourceEffect.java b/Mage/src/mage/abilities/effects/common/LoseLifeSourceEffect.java index b6ef2ce19cb..180d163f88a 100644 --- a/Mage/src/mage/abilities/effects/common/LoseLifeSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/LoseLifeSourceEffect.java @@ -45,6 +45,7 @@ public class LoseLifeSourceEffect extends OneShotEffect { public LoseLifeSourceEffect(int amount) { super(Outcome.Damage); this.amount = amount; + staticText = "You lose " + Integer.toString(amount) + " life"; } public int getAmount() { @@ -71,10 +72,4 @@ public class LoseLifeSourceEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "You lose " + Integer.toString(amount) + " life"; - } - - } diff --git a/Mage/src/mage/abilities/effects/common/LoseLifeTargetEffect.java b/Mage/src/mage/abilities/effects/common/LoseLifeTargetEffect.java index 204d4d874f4..835c140d5a5 100644 --- a/Mage/src/mage/abilities/effects/common/LoseLifeTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/LoseLifeTargetEffect.java @@ -30,6 +30,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.OneShotEffect; @@ -74,12 +75,12 @@ public class LoseLifeTargetEffect extends OneShotEffect { } @Override - public String getText(Ability source) { + public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); String message = amount.getMessage(); - if (source.getTargets().size() > 0) { - sb.append("Target ").append(source.getTargets().get(0).getTargetName()); + if (mode.getTargets().size() > 0) { + sb.append("Target ").append(mode.getTargets().get(0).getTargetName()); } else { sb.append("that player"); } diff --git a/Mage/src/mage/abilities/effects/common/ManaEffect.java b/Mage/src/mage/abilities/effects/common/ManaEffect.java index 48f7c92b35e..2157a3fff57 100644 --- a/Mage/src/mage/abilities/effects/common/ManaEffect.java +++ b/Mage/src/mage/abilities/effects/common/ManaEffect.java @@ -29,10 +29,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; -import mage.Mana; -import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.game.Game; /** * diff --git a/Mage/src/mage/abilities/effects/common/MustBlockSourceEffect.java b/Mage/src/mage/abilities/effects/common/MustBlockSourceEffect.java index 2842abbc8b6..8ce4e358ac9 100644 --- a/Mage/src/mage/abilities/effects/common/MustBlockSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/MustBlockSourceEffect.java @@ -42,11 +42,12 @@ import mage.game.permanent.Permanent; public class MustBlockSourceEffect extends RequirementEffect { public MustBlockSourceEffect() { - super(Duration.WhileOnBattlefield); + this(Duration.WhileOnBattlefield); } public MustBlockSourceEffect(Duration duration) { super(duration); + staticText = "All creatures able to block {this} do so"; } public MustBlockSourceEffect(final MustBlockSourceEffect effect) { @@ -78,9 +79,4 @@ public class MustBlockSourceEffect extends RequirementEffect this.exileId = exileId; this.zone = zone; this.tapped = tapped; + setText(); } public ReturnFromExileEffect(final ReturnFromExileEffect effect) { @@ -84,8 +85,7 @@ public class ReturnFromExileEffect extends OneShotEffect return false; } - @Override - public String getText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder(); sb.append("return the exiled cards "); switch(zone) { @@ -101,7 +101,7 @@ public class ReturnFromExileEffect extends OneShotEffect sb.append("to their owner's graveyard"); break; } - return sb.toString(); + staticText = sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java b/Mage/src/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java index e2517e8c039..8e341019792 100644 --- a/Mage/src/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java @@ -31,6 +31,7 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.Constants.Zone; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.game.Game; @@ -85,9 +86,9 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect< } @Override - public String getText(Ability source) { + public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); - sb.append("Put target ").append(source.getTargets().get(0).getTargetName()).append(" onto the battlefield"); + sb.append("Put target ").append(mode.getTargets().get(0).getTargetName()).append(" onto the battlefield"); if (tapped) sb.append(" tapped"); sb.append(" under your control"); diff --git a/Mage/src/mage/abilities/effects/common/ReturnSourceFromGraveyardToBattlefieldEffect.java b/Mage/src/mage/abilities/effects/common/ReturnSourceFromGraveyardToBattlefieldEffect.java index 8d5b12a12c2..cc2ece79867 100644 --- a/Mage/src/mage/abilities/effects/common/ReturnSourceFromGraveyardToBattlefieldEffect.java +++ b/Mage/src/mage/abilities/effects/common/ReturnSourceFromGraveyardToBattlefieldEffect.java @@ -52,6 +52,7 @@ public class ReturnSourceFromGraveyardToBattlefieldEffect extends OneShotEffect< public ReturnSourceFromGraveyardToBattlefieldEffect(boolean tapped) { super(Outcome.PutCreatureInPlay); this.tapped = tapped; + setText(); } public ReturnSourceFromGraveyardToBattlefieldEffect(final ReturnSourceFromGraveyardToBattlefieldEffect effect) { @@ -82,12 +83,11 @@ public class ReturnSourceFromGraveyardToBattlefieldEffect extends OneShotEffect< return false; } - @Override - public String getText(Ability source) { + private void setText() { if (tapped) - return "Return {this} from your graveyard to the battlefield tapped"; + staticText = "Return {this} from your graveyard to the battlefield tapped"; else - return "Return {this} from your graveyard to the battlefield"; + staticText = "Return {this} from your graveyard to the battlefield"; } } diff --git a/Mage/src/mage/abilities/effects/common/ReturnSourceFromGraveyardToHandEffect.java b/Mage/src/mage/abilities/effects/common/ReturnSourceFromGraveyardToHandEffect.java index 3c5e5f68562..77805959d06 100644 --- a/Mage/src/mage/abilities/effects/common/ReturnSourceFromGraveyardToHandEffect.java +++ b/Mage/src/mage/abilities/effects/common/ReturnSourceFromGraveyardToHandEffect.java @@ -44,6 +44,7 @@ public class ReturnSourceFromGraveyardToHandEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder(); sb.append("Each players sacrifices "); if (amount > 1) @@ -102,7 +101,7 @@ public class SacrificeAllEffect extends OneShotEffect { else sb.append("a "); sb.append(filter.getMessage()); - return sb.toString(); + staticText = sb.toString(); } diff --git a/Mage/src/mage/abilities/effects/common/SacrificeEffect.java b/Mage/src/mage/abilities/effects/common/SacrificeEffect.java index 751ff36259f..7fac5c0a218 100644 --- a/Mage/src/mage/abilities/effects/common/SacrificeEffect.java +++ b/Mage/src/mage/abilities/effects/common/SacrificeEffect.java @@ -54,6 +54,7 @@ public class SacrificeEffect extends OneShotEffect{ this.filter = filter; this.count = count; this.preText = preText; + setText(); } public SacrificeEffect ( SacrificeEffect effect ) { @@ -95,12 +96,11 @@ public class SacrificeEffect extends OneShotEffect{ return new SacrificeEffect(this); } - @Override - public String getText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder(); sb.append(preText) .append(" sacrifices ") .append(filter.getMessage()); - return sb.toString(); + staticText = sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/SacrificeSourceEffect.java b/Mage/src/mage/abilities/effects/common/SacrificeSourceEffect.java index 581025a2424..f123eb21663 100644 --- a/Mage/src/mage/abilities/effects/common/SacrificeSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/SacrificeSourceEffect.java @@ -42,6 +42,7 @@ public class SacrificeSourceEffect extends OneShotEffect public SacrificeSourceEffect() { super(Outcome.Sacrifice); + staticText = "sacrifice {this}"; } public SacrificeSourceEffect(final SacrificeSourceEffect effect) { @@ -62,10 +63,4 @@ public class SacrificeSourceEffect extends OneShotEffect return false; } - @Override - public String getText(Ability source) { - return "sacrifice {this}"; - } - - } diff --git a/Mage/src/mage/abilities/effects/common/SacrificeSourceUnlessPaysEffect.java b/Mage/src/mage/abilities/effects/common/SacrificeSourceUnlessPaysEffect.java index 4588533fe58..dc56e0c8262 100644 --- a/Mage/src/mage/abilities/effects/common/SacrificeSourceUnlessPaysEffect.java +++ b/Mage/src/mage/abilities/effects/common/SacrificeSourceUnlessPaysEffect.java @@ -20,6 +20,7 @@ public class SacrificeSourceUnlessPaysEffect extends OneShotEffect } @Override - public String getText(Ability source) { - if (source.getTargets().get(0).getNumberOfTargets() == 1) - return "The controller of target " + source.getTargets().get(0).getTargetName() + " sacrifices it"; + public String getText(Mode mode) { + if (mode.getTargets().get(0).getNumberOfTargets() == 1) + return "The controller of target " + mode.getTargets().get(0).getTargetName() + " sacrifices it"; else - return "The controller of " + source.getTargets().get(0).getNumberOfTargets() + " target " + source.getTargets().get(0).getTargetName() + " sacrifices it"; + return "The controller of " + mode.getTargets().get(0).getNumberOfTargets() + " target " + mode.getTargets().get(0).getTargetName() + " sacrifices it"; } } diff --git a/Mage/src/mage/abilities/effects/common/ScryEffect.java b/Mage/src/mage/abilities/effects/common/ScryEffect.java index 487368da478..143c4a505f9 100644 --- a/Mage/src/mage/abilities/effects/common/ScryEffect.java +++ b/Mage/src/mage/abilities/effects/common/ScryEffect.java @@ -54,6 +54,7 @@ public class ScryEffect extends OneShotEffect { public ScryEffect(int scryNumber) { super(Outcome.Benefit); this.scryNumber = scryNumber; + staticText = "Scry " + scryNumber; } public ScryEffect(final ScryEffect effect) { @@ -104,9 +105,4 @@ public class ScryEffect extends OneShotEffect { return new ScryEffect(this); } - @Override - public String getText(Ability source) { - return "Scry " + scryNumber; - } - } diff --git a/Mage/src/mage/abilities/effects/common/ShuffleSpellEffect.java b/Mage/src/mage/abilities/effects/common/ShuffleSpellEffect.java index c4c7b7d7a1e..d02d6ab6adf 100644 --- a/Mage/src/mage/abilities/effects/common/ShuffleSpellEffect.java +++ b/Mage/src/mage/abilities/effects/common/ShuffleSpellEffect.java @@ -49,6 +49,7 @@ public class ShuffleSpellEffect extends OneShotEffect { private ShuffleSpellEffect() { super(Outcome.Exile); + staticText = "Shuffle {this} into its owner's library"; } public static ShuffleSpellEffect getInstance() { @@ -61,11 +62,6 @@ public class ShuffleSpellEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "Shuffle {this} into its owner's library"; - } - @Override public ShuffleSpellEffect copy() { return fINSTANCE; diff --git a/Mage/src/mage/abilities/effects/common/SkipEnchantedUntapEffect.java b/Mage/src/mage/abilities/effects/common/SkipEnchantedUntapEffect.java index 9de91931b5a..862d1e2839d 100644 --- a/Mage/src/mage/abilities/effects/common/SkipEnchantedUntapEffect.java +++ b/Mage/src/mage/abilities/effects/common/SkipEnchantedUntapEffect.java @@ -2,7 +2,6 @@ package mage.abilities.effects.common; import mage.Constants; import mage.abilities.Ability; -import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ReplacementEffectImpl; import mage.game.Game; import mage.game.events.GameEvent; @@ -15,6 +14,7 @@ public class SkipEnchantedUntapEffect extends ReplacementEffectImpl { public TapSourceEffect() { super(Outcome.Tap); + staticText = "tap {this}"; } public TapSourceEffect(final TapSourceEffect effect) { @@ -63,9 +64,4 @@ public class TapSourceEffect extends OneShotEffect { return false; } - @Override - public String getText(Ability source) { - return "tap {this}"; - } - } diff --git a/Mage/src/mage/abilities/effects/common/TapTargetEffect.java b/Mage/src/mage/abilities/effects/common/TapTargetEffect.java index a5dd641e16b..f478995e2f2 100644 --- a/Mage/src/mage/abilities/effects/common/TapTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/TapTargetEffect.java @@ -31,6 +31,7 @@ package mage.abilities.effects.common; import java.util.UUID; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.game.permanent.Permanent; @@ -69,12 +70,12 @@ public class TapTargetEffect extends OneShotEffect { } @Override - public String getText(Ability source) { - Target target = source.getTargets().get(0); + public String getText(Mode mode) { + Target target = mode.getTargets().get(0); if (target.getNumberOfTargets() > 1) - return "tap " + target.getNumberOfTargets() + " target " + source.getTargets().get(0).getTargetName() + "s"; + return "tap " + target.getNumberOfTargets() + " target " + mode.getTargets().get(0).getTargetName() + "s"; else - return "tap target " + source.getTargets().get(0).getTargetName(); + return "tap target " + mode.getTargets().get(0).getTargetName(); } } diff --git a/Mage/src/mage/abilities/effects/common/UntapAllLandsControllerEffect.java b/Mage/src/mage/abilities/effects/common/UntapAllLandsControllerEffect.java index 34cc7a04e37..f57f2b7f0e3 100644 --- a/Mage/src/mage/abilities/effects/common/UntapAllLandsControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/UntapAllLandsControllerEffect.java @@ -45,6 +45,7 @@ public class UntapAllLandsControllerEffect extends OneShotEffect { public UntapSourceEffect() { super(Outcome.Untap); - } + staticText = "untap {this}"; + } public UntapSourceEffect(final UntapSourceEffect effect) { super(effect); @@ -63,8 +64,4 @@ public class UntapSourceEffect extends OneShotEffect { return new UntapSourceEffect(this); } - @Override - public String getText(Ability source) { - return "untap {this}"; - } -} + } diff --git a/Mage/src/mage/abilities/effects/common/UntapTargetEffect.java b/Mage/src/mage/abilities/effects/common/UntapTargetEffect.java index 3b61f246ffa..2c73cf4a3b1 100644 --- a/Mage/src/mage/abilities/effects/common/UntapTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/UntapTargetEffect.java @@ -31,6 +31,7 @@ package mage.abilities.effects.common; import java.util.UUID; import mage.Constants.Outcome; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.game.permanent.Permanent; @@ -70,12 +71,12 @@ public class UntapTargetEffect extends OneShotEffect { } @Override - public String getText(Ability source) { - Target target = source.getTargets().get(0); + public String getText(Mode mode) { + Target target = mode.getTargets().get(0); if (target.getNumberOfTargets() > 1) - return "untap " + target.getNumberOfTargets() + " target " + source.getTargets().get(0).getTargetName() + "s"; + return "untap " + target.getNumberOfTargets() + " target " + mode.getTargets().get(0).getTargetName() + "s"; else - return "untap target " + source.getTargets().get(0).getTargetName(); + return "untap target " + mode.getTargets().get(0).getTargetName(); } } diff --git a/Mage/src/mage/abilities/effects/common/continious/AddCardTypeAttachedEffect.java b/Mage/src/mage/abilities/effects/common/continious/AddCardTypeAttachedEffect.java index f5600083c1f..eb84a9de01b 100644 --- a/Mage/src/mage/abilities/effects/common/continious/AddCardTypeAttachedEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/AddCardTypeAttachedEffect.java @@ -14,6 +14,7 @@ public class AddCardTypeAttachedEffect extends ContinuousEffectImpl 0) - return "Until end of turn {this} becomes a " + token.getDescription() + " that's still a " + this.type; + staticText = "Until end of turn {this} becomes a " + token.getDescription() + " that's still a " + this.type; else - return "Until end of turn {this} becomes a " + token.getDescription(); + staticText = "Until end of turn {this} becomes a " + token.getDescription(); } @Override diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostAllEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostAllEffect.java index db3ba01f688..6f7490d3c70 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostAllEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostAllEffect.java @@ -63,6 +63,7 @@ public class BoostAllEffect extends ContinuousEffectImpl { this.toughness = toughness; this.filter = filter; this.excludeSource = excludeSource; + setText(); } public BoostAllEffect(final BoostAllEffect effect) { @@ -103,15 +104,14 @@ public class BoostAllEffect extends ContinuousEffectImpl { return true; } - @Override - public String getText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder(); if (excludeSource) sb.append("Other "); sb.append(filter.getMessage()); sb.append(" get ").append(String.format("%1$+d/%2$+d", power, toughness)); sb.append((duration==Duration.EndOfTurn?" until end of turn":"")); - return sb.toString(); + staticText = sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostControlledEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostControlledEffect.java index ca983347706..3b89e49b26d 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostControlledEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostControlledEffect.java @@ -63,6 +63,7 @@ public class BoostControlledEffect extends ContinuousEffectImpl { super(duration, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); this.power = power; this.toughness = toughness; + setText(); } public BoostSourceEffect(final BoostSourceEffect effect) { @@ -79,9 +80,8 @@ public class BoostSourceEffect extends ContinuousEffectImpl { return false; } - @Override - public String getDynamicText(Ability source) { - StringBuilder sb = new StringBuilder(); + private void setText() { + StringBuilder sb = new StringBuilder(); sb.append("{this} gets "); String p = power.toString(); if(!p.startsWith("-")) @@ -102,7 +102,7 @@ public class BoostSourceEffect extends ContinuousEffectImpl { sb.append(" for each "); } sb.append(message); - return sb.toString(); + staticText = sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostSourceWhileControlsEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostSourceWhileControlsEffect.java index 8d9bc6a5b53..c25828de03b 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostSourceWhileControlsEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostSourceWhileControlsEffect.java @@ -57,6 +57,7 @@ public class BoostSourceWhileControlsEffect extends WhileConditionContiniousEffe this.power = power; this.toughness = toughness; this.filterDescription = filter.getName(); + staticText = "{this} gets " + String.format("%1$+d/%2$+d", power, toughness) + " as long as you control a " + filterDescription; } public BoostSourceWhileControlsEffect(final BoostSourceWhileControlsEffect effect) { @@ -82,8 +83,4 @@ public class BoostSourceWhileControlsEffect extends WhileConditionContiniousEffe return true; } - @Override - public String getText(Ability source) { - return "{this} gets " + String.format("%1$+d/%2$+d", power, toughness) + " as long as you control a " + filterDescription; - } } diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java index f82d0d61b36..88e8c73dab2 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java @@ -32,6 +32,7 @@ import mage.Constants.Layer; import mage.Constants.Outcome; import mage.Constants.SubLayer; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.ContinuousEffectImpl; @@ -80,9 +81,9 @@ public class BoostTargetEffect extends ContinuousEffectImpl { } @Override - public String getText(Ability source) { + public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); - sb.append("Target ").append(source.getTargets().get(0).getTargetName()).append(" gets "); + sb.append("Target ").append(mode.getTargets().get(0).getTargetName()).append(" gets "); String p = power.toString(); if(!p.startsWith("-")) sb.append("+"); diff --git a/Mage/src/mage/abilities/effects/common/continious/CanBlockOnlyFlyingEffect.java b/Mage/src/mage/abilities/effects/common/continious/CanBlockOnlyFlyingEffect.java index da73fa20315..db65b71fa02 100644 --- a/Mage/src/mage/abilities/effects/common/continious/CanBlockOnlyFlyingEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/CanBlockOnlyFlyingEffect.java @@ -45,6 +45,7 @@ public class CanBlockOnlyFlyingEffect extends ReplacementEffectImpl { super(Outcome.Benefit); this.counter = counter; this.filter = filter; + setText(); } public AddCountersAllEffect(final AddCountersAllEffect effect) { @@ -74,8 +75,7 @@ public class AddCountersAllEffect extends OneShotEffect { return applied; } - @Override - public String getText(Ability source) { + private void setText() { StringBuilder sb = new StringBuilder(); sb.append("put "); if (counter.getCount() > 1) { @@ -84,7 +84,7 @@ public class AddCountersAllEffect extends OneShotEffect { sb.append("a ").append(counter.getName()).append(" counter on each "); } sb.append(filter.getMessage()); - return sb.toString(); + staticText = sb.toString(); } @Override diff --git a/Mage/src/mage/abilities/effects/common/counter/AddCountersControllerEffect.java b/Mage/src/mage/abilities/effects/common/counter/AddCountersControllerEffect.java index e29414b4cac..691c295d92e 100644 --- a/Mage/src/mage/abilities/effects/common/counter/AddCountersControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/counter/AddCountersControllerEffect.java @@ -31,10 +31,8 @@ package mage.abilities.effects.common.counter; import java.util.UUID; import mage.Constants.Outcome; -import mage.Constants.Zone; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; import mage.counters.Counter; import mage.game.Game; import mage.game.permanent.Permanent; @@ -58,6 +56,7 @@ public class AddCountersControllerEffect extends OneShotEffect 1) { StringBuilder sb = new StringBuilder(); sb.append("its controller gets ").append(Integer.toString(counter.getCount())).append(" ").append(counter.getName()).append(" counters"); - return sb.toString(); + staticText = sb.toString(); } else - return "its controller gets a " + counter.getName() + " counter"; + staticText = "its controller gets a " + counter.getName() + " counter"; } @Override diff --git a/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java b/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java index 64fd035b69a..6dd88a4a84c 100644 --- a/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java @@ -45,6 +45,7 @@ public class AddCountersSourceEffect extends OneShotEffect 1) { StringBuilder sb = new StringBuilder(); sb.append("put ").append(Integer.toString(counter.getCount())).append(" ").append(counter.getName()).append(" counters on {this}"); - return sb.toString(); + staticText = sb.toString(); } else - return "put a " + counter.getName() + " counter on {this}"; + staticText = "put a " + counter.getName() + " counter on {this}"; } @Override diff --git a/Mage/src/mage/abilities/effects/common/counter/AddCountersTargetEffect.java b/Mage/src/mage/abilities/effects/common/counter/AddCountersTargetEffect.java index f760052b9c0..27cb4cec80e 100644 --- a/Mage/src/mage/abilities/effects/common/counter/AddCountersTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/counter/AddCountersTargetEffect.java @@ -37,6 +37,7 @@ import mage.game.permanent.Permanent; import mage.players.Player; import java.util.UUID; +import mage.abilities.Mode; /** * @@ -78,7 +79,7 @@ public class AddCountersTargetEffect extends OneShotEffect 1) { @@ -87,7 +88,7 @@ public class AddCountersTargetEffect extends OneShotEffect 1) - return "put " + Integer.toString(amount) + " +1/+1 counters on enchanted creature"; + staticText = "put " + Integer.toString(amount) + " +1/+1 counters on enchanted creature"; else - return "put a +1/+1 counter on enchanted creature"; + staticText = "put a +1/+1 counter on enchanted creature"; } } diff --git a/Mage/src/mage/abilities/effects/common/counter/ProliferateEffect.java b/Mage/src/mage/abilities/effects/common/counter/ProliferateEffect.java index ab2edeaed11..05858da4e87 100644 --- a/Mage/src/mage/abilities/effects/common/counter/ProliferateEffect.java +++ b/Mage/src/mage/abilities/effects/common/counter/ProliferateEffect.java @@ -49,6 +49,7 @@ public class ProliferateEffect extends OneShotEffect { public ProliferateEffect() { super(Outcome.Benefit); + staticText = "Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)"; } public ProliferateEffect(ProliferateEffect effect) { @@ -138,8 +139,4 @@ public class ProliferateEffect extends OneShotEffect { return new ProliferateEffect(this); } - @Override - public String getText(Ability source) { - return "Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)"; - } } diff --git a/Mage/src/mage/abilities/effects/common/counter/RemoveCounterSourceEffect.java b/Mage/src/mage/abilities/effects/common/counter/RemoveCounterSourceEffect.java index c62a5707d5b..bc7e9d5b6d3 100644 --- a/Mage/src/mage/abilities/effects/common/counter/RemoveCounterSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/counter/RemoveCounterSourceEffect.java @@ -13,6 +13,7 @@ public class RemoveCounterSourceEffect extends OneShotEffect 1) { StringBuilder sb = new StringBuilder(); sb.append("remove ").append(Integer.toString(counter.getCount())).append(" ").append(counter.getName()).append(" counters from {this}"); - return sb.toString(); + staticText = sb.toString(); } else - return "remove a " + counter.getName() + " counter from {this}"; + staticText = "remove a " + counter.getName() + " counter from {this}"; } } diff --git a/Mage/src/mage/abilities/effects/common/search/SearchLibraryPutInHandEffect.java b/Mage/src/mage/abilities/effects/common/search/SearchLibraryPutInHandEffect.java index cf54e1b1a7d..10678084778 100644 --- a/Mage/src/mage/abilities/effects/common/search/SearchLibraryPutInHandEffect.java +++ b/Mage/src/mage/abilities/effects/common/search/SearchLibraryPutInHandEffect.java @@ -47,6 +47,7 @@ public class SearchLibraryPutInHandEffect extends SearchEffect 0) { @@ -87,7 +87,7 @@ public class SearchLibraryPutInHandEffect extends SearchEffect 0) { @@ -114,7 +114,7 @@ public class SearchLibraryPutInPlayEffect extends SearchEffect 0) { @@ -92,6 +92,6 @@ public class SearchLibraryRevealPutInHandEffect extends SearchEffect { public CycleEffect() { super(Outcome.DrawCard); + staticText = "Draw a card"; } public CycleEffect(final CycleEffect effect) { @@ -88,9 +89,4 @@ class CycleEffect extends OneShotEffect { return true; } - @Override - public String getText(Ability source) { - return "Draw a card"; - } - } \ No newline at end of file diff --git a/Mage/src/mage/abilities/keyword/KickerAbility.java b/Mage/src/mage/abilities/keyword/KickerAbility.java index 2c2fa0a716c..41e77037fb1 100644 --- a/Mage/src/mage/abilities/keyword/KickerAbility.java +++ b/Mage/src/mage/abilities/keyword/KickerAbility.java @@ -63,7 +63,7 @@ public class KickerAbility extends StaticAbility { @Override public boolean activate(Game game, boolean noMana) { Player player = game.getPlayer(this.getControllerId()); - String message = "Use kicker - " + getEffects().get(0).getText(this) + "?"; + String message = "Use kicker - " + getEffects().get(0).getText(null) + "?"; Card card = game.getCard(sourceId); // replace by card name or just plain "this" message = message.replace("{this}", card == null ? "this" : card.getName()); @@ -101,7 +101,7 @@ public class KickerAbility extends StaticAbility { } if (costs.size() > 0) sb.append(costs.getText()); - sb.append(":").append(modes.getText(this)); + sb.append(":").append(modes.getText()); if (replaces) sb.append(" instead"); return sb.toString(); diff --git a/Mage/src/mage/abilities/keyword/LandwalkAbility.java b/Mage/src/mage/abilities/keyword/LandwalkAbility.java index b7b9337a3d4..20013d6a503 100644 --- a/Mage/src/mage/abilities/keyword/LandwalkAbility.java +++ b/Mage/src/mage/abilities/keyword/LandwalkAbility.java @@ -64,6 +64,7 @@ class LandwalkEffect extends RestrictionEffect { public LandwalkEffect(FilterLandPermanent filter) { super(Duration.WhileOnBattlefield); this.filter = filter; + staticText = filter.getMessage() + "walk"; } public LandwalkEffect(final LandwalkEffect effect) { @@ -89,9 +90,4 @@ class LandwalkEffect extends RestrictionEffect { return new LandwalkEffect(this); } - @Override - public String getText(Ability source) { - return filter.getMessage() + "walk"; - } - } \ No newline at end of file diff --git a/Mage/src/mage/abilities/keyword/MultikickerAbility.java b/Mage/src/mage/abilities/keyword/MultikickerAbility.java index ce33acbb49b..66e1314bc4e 100644 --- a/Mage/src/mage/abilities/keyword/MultikickerAbility.java +++ b/Mage/src/mage/abilities/keyword/MultikickerAbility.java @@ -87,7 +87,7 @@ public class MultikickerAbility extends KickerAbility { } if (costs.size() > 0) sb.append(costs.getText()); - sb.append(":").append(modes.getText(this)); + sb.append(":").append(modes.getText()); if (replaces) sb.append(" instead"); return sb.toString(); diff --git a/Mage/src/mage/abilities/keyword/ReboundAbility.java b/Mage/src/mage/abilities/keyword/ReboundAbility.java index 02a89abc0d8..d29c001ec2a 100644 --- a/Mage/src/mage/abilities/keyword/ReboundAbility.java +++ b/Mage/src/mage/abilities/keyword/ReboundAbility.java @@ -184,6 +184,7 @@ class ReboundCastFromHandReplacementEffect extends ReplacementEffectImpl