From 8f9afcb6172d23dae139bfdfc63af96a03fdf5a6 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Fri, 30 Apr 2021 07:58:19 -0400 Subject: [PATCH] text fixes --- .../mage/cards/a/AngrathMinotaurPirate.java | 2 +- Mage.Sets/src/mage/cards/a/AngrathsFury.java | 2 +- .../src/mage/cards/a/AyliEternalPilgrim.java | 2 +- Mage.Sets/src/mage/cards/b/BafflingEnd.java | 2 +- .../src/mage/cards/b/BaralsExpertise.java | 2 +- .../src/mage/cards/b/BorderlandRanger.java | 2 +- Mage.Sets/src/mage/cards/b/BrainInAJar.java | 4 +- .../src/mage/cards/b/BreathstealersCrypt.java | 2 +- .../src/mage/cards/c/CabalInquisitor.java | 2 +- .../src/mage/cards/c/ChandraRoaringFlame.java | 2 +- .../src/mage/cards/c/CharmedPendant.java | 2 +- Mage.Sets/src/mage/cards/c/Conflux.java | 2 +- .../src/mage/cards/c/CorpseConnoisseur.java | 2 +- Mage.Sets/src/mage/cards/c/CosmicHorror.java | 2 +- .../src/mage/cards/d/DisasterRadius.java | 2 +- Mage.Sets/src/mage/cards/d/Dispossess.java | 2 +- .../src/mage/cards/d/DistantMemories.java | 4 +- .../src/mage/cards/e/EdificeOfAuthority.java | 2 +- .../src/mage/cards/e/EmberwildeAugur.java | 2 +- Mage.Sets/src/mage/cards/e/EssenceFlux.java | 2 +- .../src/mage/cards/e/EtherealValkyrie.java | 2 +- Mage.Sets/src/mage/cards/f/FatalLore.java | 2 +- Mage.Sets/src/mage/cards/f/Fleshwrither.java | 77 +++++++++++-------- .../mage/cards/f/ForerunnerOfTheEmpire.java | 2 +- Mage.Sets/src/mage/cards/f/Foresight.java | 2 +- Mage.Sets/src/mage/cards/g/GaeasBounty.java | 2 +- Mage.Sets/src/mage/cards/g/GaeasTouch.java | 20 +++-- .../src/mage/cards/g/GateToTheAfterlife.java | 2 +- .../src/mage/cards/g/GrandMoffTarkin.java | 2 +- Mage.Sets/src/mage/cards/g/GryffsBoon.java | 2 +- Mage.Sets/src/mage/cards/h/HarvestSeason.java | 2 +- Mage.Sets/src/mage/cards/j/JacesDefeat.java | 2 +- .../src/mage/cards/k/KariZevsExpertise.java | 2 +- .../mage/cards/k/KhalniHeartExpedition.java | 2 +- .../src/mage/cards/k/KindlyStranger.java | 2 +- .../src/mage/cards/k/KuldothaPhoenix.java | 2 +- .../src/mage/cards/l/LlanowarSentinel.java | 60 ++++----------- Mage.Sets/src/mage/cards/m/ManaSeverance.java | 2 +- Mage.Sets/src/mage/cards/m/Misfortune.java | 2 +- .../src/mage/cards/n/NemesisOfMortals.java | 2 +- .../src/mage/cards/n/NissaWorldwaker.java | 2 +- .../src/mage/cards/n/NissasPilgrimage.java | 2 +- Mage.Sets/src/mage/cards/o/OpenTheGates.java | 2 +- Mage.Sets/src/mage/cards/o/OracleEnVec.java | 2 +- Mage.Sets/src/mage/cards/o/OraclesVault.java | 2 +- Mage.Sets/src/mage/cards/p/ParallaxNexus.java | 2 +- Mage.Sets/src/mage/cards/p/PutridCyclops.java | 2 +- Mage.Sets/src/mage/cards/r/RaidersSpoils.java | 2 +- .../src/mage/cards/r/RishkarsExpertise.java | 2 +- Mage.Sets/src/mage/cards/r/RitesOfSpring.java | 4 +- .../src/mage/cards/s/SanctumPrelate.java | 6 +- Mage.Sets/src/mage/cards/s/SarkhanTheMad.java | 2 +- .../src/mage/cards/s/ScatteringStroke.java | 2 +- .../src/mage/cards/s/SchemingSymmetry.java | 2 +- Mage.Sets/src/mage/cards/s/ScryingGlass.java | 2 +- .../src/mage/cards/s/SearchForSurvivors.java | 2 +- Mage.Sets/src/mage/cards/s/SearingBlaze.java | 2 +- .../cards/s/SentinelOfThePearlTrident.java | 2 +- .../src/mage/cards/s/ShardConvergence.java | 3 +- .../src/mage/cards/s/SramsExpertise.java | 2 +- .../src/mage/cards/s/StallionOfAshmouth.java | 14 ++-- Mage.Sets/src/mage/cards/t/Tariff.java | 2 +- .../src/mage/cards/t/ThrabenFoulbloods.java | 2 +- Mage.Sets/src/mage/cards/t/TrenchGorger.java | 3 +- .../src/mage/cards/t/TwoHeadedGiant.java | 2 +- .../mage/cards/v/VancesBlastingCannons.java | 2 +- .../src/mage/cards/v/VerdantSuccession.java | 2 +- .../mage/cards/w/WallOfStolenIdentity.java | 2 +- .../src/mage/cards/w/WarpedLandscape.java | 2 +- .../src/mage/cards/w/WildFieldScarecrow.java | 2 +- Mage.Sets/src/mage/cards/w/WindZendikon.java | 2 +- .../src/mage/cards/w/WolfOfDevilsBreach.java | 2 +- .../src/mage/cards/y/YahennisExpertise.java | 2 +- .../effects/common/RollPlanarDieEffect.java | 2 +- .../BecomesCreatureTargetEffect.java | 2 +- .../cost/CastWithoutPayingManaCostEffect.java | 2 +- .../abilities/keyword/GravestormAbility.java | 2 +- Mage/src/main/java/mage/game/GameImpl.java | 2 +- .../permanent/token/BelzenlokDemonToken.java | 4 +- 79 files changed, 158 insertions(+), 177 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AngrathMinotaurPirate.java b/Mage.Sets/src/mage/cards/a/AngrathMinotaurPirate.java index 95d25ba5067..69a0669e360 100644 --- a/Mage.Sets/src/mage/cards/a/AngrathMinotaurPirate.java +++ b/Mage.Sets/src/mage/cards/a/AngrathMinotaurPirate.java @@ -77,7 +77,7 @@ class AngrathMinotaurPirateThirdAbilityEffect extends OneShotEffect { public AngrathMinotaurPirateThirdAbilityEffect() { super(Outcome.DestroyPermanent); - this.staticText = "Destroy all creature target opponent controls. {this} deals damage to that player equal to their total power"; + this.staticText = "Destroy all creature target opponent controls. {this} deals damage to that player equal to their total power"; } public AngrathMinotaurPirateThirdAbilityEffect(final AngrathMinotaurPirateThirdAbilityEffect effect) { diff --git a/Mage.Sets/src/mage/cards/a/AngrathsFury.java b/Mage.Sets/src/mage/cards/a/AngrathsFury.java index 3e43be28379..2086239f46a 100644 --- a/Mage.Sets/src/mage/cards/a/AngrathsFury.java +++ b/Mage.Sets/src/mage/cards/a/AngrathsFury.java @@ -40,7 +40,7 @@ public final class AngrathsFury extends CardImpl { // You may search your library and/or graveyard for a card named Angrath, Minotaur Pirate, reveal it, and put it into your hand. If you search your library this way, shuffle it. this.getSpellAbility().addEffect(new SearchLibraryGraveyardPutInHandEffect(filter) - .setText("You may search your library and/or graveyard for a card named Angrath, Minotaur Pirate, reveal it, and put it into your hand. If you search your library this way, shuffle")); + .setText("You may search your library and/or graveyard for a card named Angrath, Minotaur Pirate, reveal it, and put it into your hand. If you search your library this way, shuffle")); } diff --git a/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java b/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java index 1caf9edea15..6c99187647a 100644 --- a/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java +++ b/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java @@ -57,7 +57,7 @@ public final class AyliEternalPilgrim extends CardImpl { new ExileTargetEffect(), new ManaCostsImpl("{1}{W}{B}"), new AyliEternalPilgrimCondition(), - "{1}{W}{B}, Sacrifice another creature: Exile target nonland permanent. Activate only if you have at least 10 life more than your starting life total"); + "{1}{W}{B}, Sacrifice another creature: Exile target nonland permanent. Activate only if you have at least 10 life more than your starting life total."); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE))); ability.addTarget(new TargetNonlandPermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BafflingEnd.java b/Mage.Sets/src/mage/cards/b/BafflingEnd.java index 057d7b54d52..532f8248ba3 100644 --- a/Mage.Sets/src/mage/cards/b/BafflingEnd.java +++ b/Mage.Sets/src/mage/cards/b/BafflingEnd.java @@ -25,7 +25,7 @@ import mage.target.common.TargetOpponent; */ public final class BafflingEnd extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with mana value 3 or less an opponent controls"); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature an opponent controls with mana value 3 or less"); static { filter.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, 4)); diff --git a/Mage.Sets/src/mage/cards/b/BaralsExpertise.java b/Mage.Sets/src/mage/cards/b/BaralsExpertise.java index 53c1e54db33..634b7ee170f 100644 --- a/Mage.Sets/src/mage/cards/b/BaralsExpertise.java +++ b/Mage.Sets/src/mage/cards/b/BaralsExpertise.java @@ -32,7 +32,7 @@ public final class BaralsExpertise extends CardImpl { getSpellAbility().addTarget(new TargetPermanent(0, 3, filter, false)); // You may cast a card with converted mana cost 4 or less from your hand without paying its mana cost. - getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(4)); + getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(4).concatBy("
")); } private BaralsExpertise(final BaralsExpertise card) { diff --git a/Mage.Sets/src/mage/cards/b/BorderlandRanger.java b/Mage.Sets/src/mage/cards/b/BorderlandRanger.java index 097c0514c7b..7c6977b10a8 100644 --- a/Mage.Sets/src/mage/cards/b/BorderlandRanger.java +++ b/Mage.Sets/src/mage/cards/b/BorderlandRanger.java @@ -27,7 +27,7 @@ public final class BorderlandRanger extends CardImpl { this.toughness = new MageInt(2); // When Borderland Ranger enters the battlefield, you may search your library for a basic land card, reveal it, and put it into your hand. If you do, shuffle your library. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, false), true)); + this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true), true)); } private BorderlandRanger(final BorderlandRanger card) { diff --git a/Mage.Sets/src/mage/cards/b/BrainInAJar.java b/Mage.Sets/src/mage/cards/b/BrainInAJar.java index 62ed9f8c0de..f2362fcefd7 100644 --- a/Mage.Sets/src/mage/cards/b/BrainInAJar.java +++ b/Mage.Sets/src/mage/cards/b/BrainInAJar.java @@ -70,8 +70,8 @@ class BrainInAJarCastEffect extends OneShotEffect { public BrainInAJarCastEffect() { super(Outcome.PlayForFree); - this.staticText = ", then you may cast an instant or sorcery card " - + "with mana values equal to the number of charge " + this.staticText = ", then you may cast an instant or sorcery spell " + + "with mana value equal to the number of charge " + "counters on {this} from your hand without paying its mana cost"; } diff --git a/Mage.Sets/src/mage/cards/b/BreathstealersCrypt.java b/Mage.Sets/src/mage/cards/b/BreathstealersCrypt.java index 72194da85d7..22a4c8a8796 100644 --- a/Mage.Sets/src/mage/cards/b/BreathstealersCrypt.java +++ b/Mage.Sets/src/mage/cards/b/BreathstealersCrypt.java @@ -76,7 +76,7 @@ class BreathstealersCryptEffect extends ReplacementEffectImpl { if (!cardDrawn.isCreature()) { return true; } - game.informPlayers("The card drawn by " + player.getName() + " is a creature card. They discard that card unless they pay 3 life."); + game.informPlayers("The card drawn by " + player.getName() + " is a creature card. They discard that card unless they pay 3 life."); PayLifeCost cost = new PayLifeCost(3); if (!cost.canPay(source, source, player.getId(), game) || !player.chooseUse(outcome, "Pay 3 life or discard " + cardDrawn.getIdName() + "?", null, "Pay 3 life", "Discard", source, game) diff --git a/Mage.Sets/src/mage/cards/c/CabalInquisitor.java b/Mage.Sets/src/mage/cards/c/CabalInquisitor.java index b10990d0e8a..0281d5cfcd1 100644 --- a/Mage.Sets/src/mage/cards/c/CabalInquisitor.java +++ b/Mage.Sets/src/mage/cards/c/CabalInquisitor.java @@ -84,6 +84,6 @@ class ActivateAsSorceryConditionalActivatedAbility extends ActivatedAbilityImpl @Override public String getRule() { - return super.getRule() + " Activate only as a sorcery, and only if seven or more cards are in your graveyard."; + return super.getRule() + " Activate only as a sorcery and only if seven or more cards are in your graveyard."; } } diff --git a/Mage.Sets/src/mage/cards/c/ChandraRoaringFlame.java b/Mage.Sets/src/mage/cards/c/ChandraRoaringFlame.java index 668c47c9bbe..09ebc62e4d4 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraRoaringFlame.java +++ b/Mage.Sets/src/mage/cards/c/ChandraRoaringFlame.java @@ -66,7 +66,7 @@ class ChandraRoaringFlameEmblemEffect extends OneShotEffect { public ChandraRoaringFlameEmblemEffect() { super(Outcome.Damage); - this.staticText = "{this} deals 6 damage to each opponent. Each player dealt damage this way gets an emblem with \"At the beginning of your upkeep, this emblem deals 3 damage to you.\""; + this.staticText = "{this} deals 6 damage to each opponent. Each player dealt damage this way gets an emblem with \"At the beginning of your upkeep, this emblem deals 3 damage to you.\""; } public ChandraRoaringFlameEmblemEffect(final ChandraRoaringFlameEmblemEffect effect) { diff --git a/Mage.Sets/src/mage/cards/c/CharmedPendant.java b/Mage.Sets/src/mage/cards/c/CharmedPendant.java index 087d309d8c9..7e67fb92a0d 100644 --- a/Mage.Sets/src/mage/cards/c/CharmedPendant.java +++ b/Mage.Sets/src/mage/cards/c/CharmedPendant.java @@ -88,7 +88,7 @@ class CharmedPendantManaEffect extends ManaEffect { public CharmedPendantManaEffect() { super(); - staticText = "For each colored mana symbol in that card's mana cost, add one mana of that color"; + staticText = "For each colored mana symbol in the milled card's mana cost, add one mana of that color"; } public CharmedPendantManaEffect(final CharmedPendantManaEffect effect) { diff --git a/Mage.Sets/src/mage/cards/c/Conflux.java b/Mage.Sets/src/mage/cards/c/Conflux.java index 524fe867c80..3c95b7aced8 100644 --- a/Mage.Sets/src/mage/cards/c/Conflux.java +++ b/Mage.Sets/src/mage/cards/c/Conflux.java @@ -25,7 +25,7 @@ public final class Conflux extends CardImpl { this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect( new ConfluxTarget(), true, true ).setText("search your library for a white card, a blue card, a black card, a red card, and a green card. " + - "Reveal those cards and put them into your hand. Then shuffle")); + "Reveal those cards, put them into your hand, then shuffle")); } private Conflux(final Conflux card) { diff --git a/Mage.Sets/src/mage/cards/c/CorpseConnoisseur.java b/Mage.Sets/src/mage/cards/c/CorpseConnoisseur.java index a08b099ba3c..37c87af0b2d 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseConnoisseur.java +++ b/Mage.Sets/src/mage/cards/c/CorpseConnoisseur.java @@ -53,7 +53,7 @@ class SearchLibraryPutInGraveyard extends SearchEffect { public SearchLibraryPutInGraveyard() { super(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), Outcome.Neutral); - staticText = "search your library for a card and put that card into your graveyard. Then shuffle"; + staticText = "search your library for a creature card, put that card into your graveyard, then shuffle"; } public SearchLibraryPutInGraveyard(final SearchLibraryPutInGraveyard effect) { diff --git a/Mage.Sets/src/mage/cards/c/CosmicHorror.java b/Mage.Sets/src/mage/cards/c/CosmicHorror.java index e73c4829b81..d606773ad64 100644 --- a/Mage.Sets/src/mage/cards/c/CosmicHorror.java +++ b/Mage.Sets/src/mage/cards/c/CosmicHorror.java @@ -55,7 +55,7 @@ class CosmicHorrorEffect extends OneShotEffect { public CosmicHorrorEffect(Cost cost) { super(Outcome.DestroyPermanent); this.cost = cost; - staticText = "destroy {this} unless you pay {3}{B}{B}{B}. If {this} is destroyed this way it deals 7 damage to you"; + staticText = "destroy {this} unless you pay {3}{B}{B}{B}. If {this} is destroyed this way it deals 7 damage to you"; } public CosmicHorrorEffect(final CosmicHorrorEffect effect) { diff --git a/Mage.Sets/src/mage/cards/d/DisasterRadius.java b/Mage.Sets/src/mage/cards/d/DisasterRadius.java index 36922e1ac27..96f168d3e3e 100644 --- a/Mage.Sets/src/mage/cards/d/DisasterRadius.java +++ b/Mage.Sets/src/mage/cards/d/DisasterRadius.java @@ -27,7 +27,7 @@ public final class DisasterRadius extends CardImpl { // As an additional cost to cast Disaster Radius, reveal a creature card from your hand. - TargetCardInHand targetCard = new TargetCardInHand(new FilterCreatureCard("a creature card")); + TargetCardInHand targetCard = new TargetCardInHand(new FilterCreatureCard("a creature card from your hand")); this.getSpellAbility().addCost(new RevealTargetFromHandCost(targetCard)); // Disaster Radius deals X damage to each creature your opponents control, where X is the revealed card's converted mana cost. diff --git a/Mage.Sets/src/mage/cards/d/Dispossess.java b/Mage.Sets/src/mage/cards/d/Dispossess.java index 215d7755f2a..1152406504d 100644 --- a/Mage.Sets/src/mage/cards/d/Dispossess.java +++ b/Mage.Sets/src/mage/cards/d/Dispossess.java @@ -38,7 +38,7 @@ public final class Dispossess extends CardImpl { class DispossessEffect extends SearchTargetGraveyardHandLibraryForCardNameAndExileEffect { public DispossessEffect() { - super(true, "target opponent's", "any number of cards with that name"); + super(true, "target opponent's", "any number of cards with the chosen name"); } public DispossessEffect(final DispossessEffect effect) { diff --git a/Mage.Sets/src/mage/cards/d/DistantMemories.java b/Mage.Sets/src/mage/cards/d/DistantMemories.java index d6232b30bab..715ef508ca8 100644 --- a/Mage.Sets/src/mage/cards/d/DistantMemories.java +++ b/Mage.Sets/src/mage/cards/d/DistantMemories.java @@ -40,8 +40,8 @@ class DistantMemoriesEffect extends OneShotEffect { public DistantMemoriesEffect() { super(Outcome.DrawCard); - this.staticText = "Search your library for a card, exile it, then shuffle " - + "your library. Any opponent may have you put that card into " + this.staticText = "Search your library for a card, exile it, then shuffle. " + + "Any opponent may have you put that card into " + "your hand. If no player does, you draw three cards"; } diff --git a/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java b/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java index 543deb527d0..b0b8663c710 100644 --- a/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java +++ b/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java @@ -27,7 +27,7 @@ import java.util.UUID; */ public final class EdificeOfAuthority extends CardImpl { - private static final String rule = "{1}, {T}: Until your next turn, target creature can't attack or block and its activated abilities can't be activated. Activate only if there are three or more brick counter on {this}."; + private static final String rule = "{1}, {T}: Until your next turn, target creature can't attack or block and its activated abilities can't be activated. Activate only if there are three or more brick counters on {this}."; public EdificeOfAuthority(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); diff --git a/Mage.Sets/src/mage/cards/e/EmberwildeAugur.java b/Mage.Sets/src/mage/cards/e/EmberwildeAugur.java index 128755c4bf3..f4fd107c7d4 100644 --- a/Mage.Sets/src/mage/cards/e/EmberwildeAugur.java +++ b/Mage.Sets/src/mage/cards/e/EmberwildeAugur.java @@ -33,7 +33,7 @@ public final class EmberwildeAugur extends CardImpl { // Sacrifice Emberwilde Augur: Emberwilde Augur deals 3 damage to target player. Activate this ability only during your upkeep. Ability ability = new ActivateIfConditionActivatedAbility( Zone.BATTLEFIELD, - new DamageTargetEffect(3), + new DamageTargetEffect(3, "it"), new SacrificeSourceCost(), new IsStepCondition(PhaseStep.UPKEEP)); ability.addTarget(new TargetPlayerOrPlaneswalker()); diff --git a/Mage.Sets/src/mage/cards/e/EssenceFlux.java b/Mage.Sets/src/mage/cards/e/EssenceFlux.java index 517cd8a7cff..25f79695d48 100644 --- a/Mage.Sets/src/mage/cards/e/EssenceFlux.java +++ b/Mage.Sets/src/mage/cards/e/EssenceFlux.java @@ -48,7 +48,7 @@ class EssenceFluxEffect extends OneShotEffect { EssenceFluxEffect() { super(Outcome.Benefit); - staticText = "return that card to the battlefield under its owner's control. If it's a Spirit, put a +1/+1 counter on it"; + staticText = "return that card to the battlefield under its owner's control. If it's a Spirit, put a +1/+1 counter on it"; } EssenceFluxEffect(final EssenceFluxEffect effect) { diff --git a/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java b/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java index 52bb5896af6..4c716caa04a 100644 --- a/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java +++ b/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java @@ -123,7 +123,7 @@ class EtherealValkyrieEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { controller.drawCards(1, source, game); - TargetCardInHand targetCard = new TargetCardInHand(new FilterCard("card to exile face down. It becomes foretold.")); + TargetCardInHand targetCard = new TargetCardInHand(new FilterCard("card to exile face down. It becomes foretold.")); if (controller.chooseTarget(Outcome.Benefit, targetCard, source, game)) { Card exileCard = game.getCard(targetCard.getFirstTarget()); if (exileCard == null) { diff --git a/Mage.Sets/src/mage/cards/f/FatalLore.java b/Mage.Sets/src/mage/cards/f/FatalLore.java index 38c132fe7c5..8d6d9dd88b2 100644 --- a/Mage.Sets/src/mage/cards/f/FatalLore.java +++ b/Mage.Sets/src/mage/cards/f/FatalLore.java @@ -66,7 +66,7 @@ class FatalLoreEffect extends OneShotEffect { Player chosenOpponent = game.getPlayer(targetPointer.getFirst(game, source)); if (controller != null && chosenOpponent != null) { - if (chosenOpponent.chooseUse(Outcome.Neutral, "If you choose Yes, the controller draws three cards. If no, the controller gets to destroy up to two target creatures that you control and you get to draw up to 3 cards. Those creatures can't be regenerated.", source, game)) { + if (chosenOpponent.chooseUse(Outcome.Neutral, "If you choose Yes, the controller draws three cards. If no, the controller gets to destroy up to two target creatures that you control and you get to draw up to 3 cards. Those creatures can't be regenerated.", source, game)) { controller.drawCards(3, source, game); } else { FilterCreaturePermanent filter = new FilterCreaturePermanent("chosen opponent's creature"); diff --git a/Mage.Sets/src/mage/cards/f/Fleshwrither.java b/Mage.Sets/src/mage/cards/f/Fleshwrither.java index 52f82a49f73..5512cc5ca33 100644 --- a/Mage.Sets/src/mage/cards/f/Fleshwrither.java +++ b/Mage.Sets/src/mage/cards/f/Fleshwrither.java @@ -1,48 +1,38 @@ - package mage.cards.f; -import java.util.UUID; import mage.MageInt; -import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.ActivatedAbilityImpl; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.ComparisonType; -import mage.constants.Outcome; -import mage.constants.TimingRule; -import mage.constants.Zone; +import mage.constants.*; +import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ManaValuePredicate; import mage.game.Game; +import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCardInLibrary; +import java.util.UUID; + /** - * * @author escplan9 (Derek Monturo - dmontur1 at gmail dot com) */ public final class Fleshwrither extends CardImpl { public Fleshwrither(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); // Transfigure {1}{B}{B}: Sacrifice this creature: Search your library for a creature card with the same converted mana cost as this // creature and put that card onto the battlefield. Then shuffle your library. Transfigure only as a sorcery. - SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new FleshwritherEffect(), new ManaCostsImpl("{1}{B}{B}")); - ability.addCost(new SacrificeSourceCost()); - ability.setTiming(TimingRule.SORCERY); - this.addAbility(ability); + this.addAbility(new FleshwritherAbility()); } private Fleshwrither(final Fleshwrither card) { @@ -55,11 +45,35 @@ public final class Fleshwrither extends CardImpl { } } +class FleshwritherAbility extends ActivatedAbilityImpl { + + FleshwritherAbility() { + super(Zone.BATTLEFIELD, new FleshwritherEffect(), new ManaCostsImpl<>("{1}{B}{B}")); + this.addCost(new SacrificeSourceCost()); + this.setTiming(TimingRule.SORCERY); + } + + private FleshwritherAbility(final FleshwritherAbility ability) { + super(ability); + } + + @Override + public FleshwritherAbility copy() { + return new FleshwritherAbility(this); + } + + @Override + public String getRule() { + return "Transfigure {1}{B}{B} ({1}{B}{B}, Sacrifice this creature: " + + "Search your library for a creature card with the same mana value as this creature, " + + "put that card onto the battlefield, then shuffle. Transfigure only as a sorcery.)"; + } +} + class FleshwritherEffect extends OneShotEffect { FleshwritherEffect() { super(Outcome.Benefit); - staticText = "Transfigure: Sacrifice this creature: Search your library for a creature card with the same mana value as this creature and put that card onto the battlefield"; } FleshwritherEffect(final FleshwritherEffect effect) { @@ -69,22 +83,17 @@ class FleshwritherEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); - MageObject sourceObject = game.getObject(source.getSourceId()); - if (sourceObject != null && controller != null) { - FilterCreatureCard filter = new FilterCreatureCard("creature with mana value " + sourceObject.getManaValue()); - filter.add(new ManaValuePredicate(ComparisonType.EQUAL_TO, sourceObject.getManaValue())); - TargetCardInLibrary target = new TargetCardInLibrary(1, filter); - if (controller.searchLibrary(target, source, game)) { - if (!target.getTargets().isEmpty()) { - Cards chosen = new CardsImpl(target.getTargets()); - controller.moveCards(chosen, Zone.BATTLEFIELD, source, game); - } - } - controller.shuffleLibrary(source, game); - return true; + Permanent sourcePermanent = source.getSourcePermanentOrLKI(game); + if (sourcePermanent == null || controller == null) { + return false; } - - return false; + FilterCard filter = new FilterCreatureCard("creature card with mana value " + sourcePermanent.getManaValue()); + filter.add(new ManaValuePredicate(ComparisonType.EQUAL_TO, sourcePermanent.getManaValue())); + TargetCardInLibrary target = new TargetCardInLibrary(filter); + controller.searchLibrary(target, source, game); + controller.moveCards(controller.getLibrary().getCard(target.getFirstTarget(), game), Zone.BATTLEFIELD, source, game); + controller.shuffleLibrary(source, game); + return true; } @Override diff --git a/Mage.Sets/src/mage/cards/f/ForerunnerOfTheEmpire.java b/Mage.Sets/src/mage/cards/f/ForerunnerOfTheEmpire.java index 77f339d3e9a..52268e92390 100644 --- a/Mage.Sets/src/mage/cards/f/ForerunnerOfTheEmpire.java +++ b/Mage.Sets/src/mage/cards/f/ForerunnerOfTheEmpire.java @@ -24,7 +24,7 @@ import java.util.UUID; */ public final class ForerunnerOfTheEmpire extends CardImpl { - private static final FilterCreaturePermanent filterAnyDinosaur = new FilterCreaturePermanent(SubType.DINOSAUR, SubType.DINOSAUR.toString()); + private static final FilterCreaturePermanent filterAnyDinosaur = new FilterCreaturePermanent(SubType.DINOSAUR, "a " + SubType.DINOSAUR.toString()); static { filterAnyDinosaur.add(TargetController.YOU.getControllerPredicate()); diff --git a/Mage.Sets/src/mage/cards/f/Foresight.java b/Mage.Sets/src/mage/cards/f/Foresight.java index 2fee2df4806..d4c450ddd79 100644 --- a/Mage.Sets/src/mage/cards/f/Foresight.java +++ b/Mage.Sets/src/mage/cards/f/Foresight.java @@ -28,7 +28,7 @@ public final class Foresight extends CardImpl { this.getSpellAbility().addEffect(new ForesightEffect()); // Draw a card at the beginning of the next turn's upkeep. - this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false).concatBy("
")); } private Foresight(final Foresight card) { diff --git a/Mage.Sets/src/mage/cards/g/GaeasBounty.java b/Mage.Sets/src/mage/cards/g/GaeasBounty.java index b1188eda5b6..7c3bdae0947 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasBounty.java +++ b/Mage.Sets/src/mage/cards/g/GaeasBounty.java @@ -16,7 +16,7 @@ import mage.target.common.TargetCardInLibrary; */ public final class GaeasBounty extends CardImpl { - private static final FilterLandCard filter = new FilterLandCard("Forest"); + private static final FilterLandCard filter = new FilterLandCard("Forest cards"); static { filter.add(SubType.FOREST.getPredicate()); diff --git a/Mage.Sets/src/mage/cards/g/GaeasTouch.java b/Mage.Sets/src/mage/cards/g/GaeasTouch.java index 2718503693a..c39ad5d322b 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasTouch.java +++ b/Mage.Sets/src/mage/cards/g/GaeasTouch.java @@ -1,7 +1,6 @@ package mage.cards.g; -import java.util.UUID; import mage.Mana; import mage.abilities.common.LimitedTimesPerTurnActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; @@ -13,21 +12,28 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; +import java.util.UUID; + /** - * * @author spjspj */ public final class GaeasTouch extends CardImpl { + private static final FilterCard filter = new FilterCard("a basic Forest card"); + + static { + filter.add(SuperType.BASIC.getPredicate()); + filter.add(SubType.FOREST.getPredicate()); + } + public GaeasTouch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}{G}"); // You may put a basic Forest card from your hand onto the battlefield. Activate this ability only any time you could cast a sorcery and only once each turn. - FilterCard filter = new FilterCard("basic Forest card"); - filter.add(SuperType.BASIC.getPredicate()); - filter.add(SubType.FOREST.getPredicate()); - LimitedTimesPerTurnActivatedAbility ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, - new PutCardFromHandOntoBattlefieldEffect(filter), new GenericManaCost(0), 1); + LimitedTimesPerTurnActivatedAbility ability = new LimitedTimesPerTurnActivatedAbility( + Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(filter), + new GenericManaCost(0), 1 + ); ability.setTiming(TimingRule.SORCERY); addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java b/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java index 0a0bd474bb4..336f6185f0d 100644 --- a/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java +++ b/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java @@ -56,7 +56,7 @@ public final class GateToTheAfterlife extends CardImpl { // {2}, {T}, Sacrifice Gate to the Afterlife: Search your graveyard, hand, and/or library for a card named God-Pharaoh's Gift and put it onto the battlefield. If you seearch your library this way, shuffle it. Activate this ability only if there are six or more creature cards in your graveyard. ability = new ConditionalActivatedAbility( Zone.BATTLEFIELD, new GateToTheAfterlifeEffect(), new GenericManaCost(2), - new CardsInControllerGraveyardCondition(6, StaticFilters.FILTER_CARD_CREATURE) + new CardsInControllerGraveyardCondition(6, StaticFilters.FILTER_CARD_CREATURES) ); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java b/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java index d21f3e43af4..6f904ab2d22 100644 --- a/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java +++ b/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java @@ -108,7 +108,7 @@ class GrandMoffTarkinEffect extends OneShotEffect { public GrandMoffTarkinEffect() { super(Outcome.ReturnToHand); - this.staticText = "destroy target creature that that player controls unless that player pays 2 life. If a player pays life this way, draw a card"; + this.staticText = "destroy target creature that that player controls unless that player pays 2 life. If a player pays life this way, draw a card"; } public GrandMoffTarkinEffect(final GrandMoffTarkinEffect effect) { diff --git a/Mage.Sets/src/mage/cards/g/GryffsBoon.java b/Mage.Sets/src/mage/cards/g/GryffsBoon.java index a98d486874f..ed5703a9d49 100644 --- a/Mage.Sets/src/mage/cards/g/GryffsBoon.java +++ b/Mage.Sets/src/mage/cards/g/GryffsBoon.java @@ -66,7 +66,7 @@ class GryffsBoonEffect extends OneShotEffect { public GryffsBoonEffect() { super(Outcome.PutCardInPlay); - staticText = "Return {this} from your graveyard to the battlefield attached to target creatur"; + staticText = "Return {this} from your graveyard to the battlefield attached to target creature"; } public GryffsBoonEffect(final GryffsBoonEffect effect) { diff --git a/Mage.Sets/src/mage/cards/h/HarvestSeason.java b/Mage.Sets/src/mage/cards/h/HarvestSeason.java index 4e189e3ab3e..1c56015d4b8 100644 --- a/Mage.Sets/src/mage/cards/h/HarvestSeason.java +++ b/Mage.Sets/src/mage/cards/h/HarvestSeason.java @@ -55,7 +55,7 @@ class HarvestSeasonEffect extends OneShotEffect { HarvestSeasonEffect() { super(Outcome.Benefit); this.staticText = "Search your library for up to X basic land cards, where X is the number of tapped creatures you control," - + " and put those cards onto the battlefield tapped, then shuffle."; + + " put those cards onto the battlefield tapped, then shuffle."; } HarvestSeasonEffect(final HarvestSeasonEffect effect) { diff --git a/Mage.Sets/src/mage/cards/j/JacesDefeat.java b/Mage.Sets/src/mage/cards/j/JacesDefeat.java index 0d0953bbf73..007bdbb1f09 100644 --- a/Mage.Sets/src/mage/cards/j/JacesDefeat.java +++ b/Mage.Sets/src/mage/cards/j/JacesDefeat.java @@ -59,7 +59,7 @@ class JacesDefeatEffect extends OneShotEffect { public JacesDefeatEffect() { super(Outcome.Damage); - this.staticText = "Counter target blue spell. If it was a Jace planeswalker spell, scry 2."; + this.staticText = "Counter target blue spell. If it was a Jace planeswalker spell, scry 2."; } public JacesDefeatEffect(final JacesDefeatEffect effect) { diff --git a/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java b/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java index 5af016e5b8a..2f2b75f23d8 100644 --- a/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java +++ b/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java @@ -39,7 +39,7 @@ public final class KariZevsExpertise extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("It gains haste until end of turn")); // You may cast a card with converted mana cost 2 or less from your hand without paying its mana cost. - this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(2)); + this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(2).concatBy("
")); } private KariZevsExpertise(final KariZevsExpertise card) { diff --git a/Mage.Sets/src/mage/cards/k/KhalniHeartExpedition.java b/Mage.Sets/src/mage/cards/k/KhalniHeartExpedition.java index d730ec5f0e4..49e59e76603 100644 --- a/Mage.Sets/src/mage/cards/k/KhalniHeartExpedition.java +++ b/Mage.Sets/src/mage/cards/k/KhalniHeartExpedition.java @@ -29,7 +29,7 @@ public final class KhalniHeartExpedition extends CardImpl { this.addAbility(new SimpleActivatedAbility( new SearchLibraryPutInPlayEffect(new TargetCardInLibrary( - 0, 2, StaticFilters.FILTER_CARD_BASIC_LAND + 0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS ), true, Outcome.PutLandInPlay), new CompositeCost( new RemoveCountersSourceCost(CounterType.QUEST.createInstance(3)), diff --git a/Mage.Sets/src/mage/cards/k/KindlyStranger.java b/Mage.Sets/src/mage/cards/k/KindlyStranger.java index 0b33ba3ea89..cffa5a75ad1 100644 --- a/Mage.Sets/src/mage/cards/k/KindlyStranger.java +++ b/Mage.Sets/src/mage/cards/k/KindlyStranger.java @@ -34,7 +34,7 @@ public final class KindlyStranger extends CardImpl { this.addAbility(new ConditionalActivatedAbility( Zone.BATTLEFIELD, new TransformSourceEffect(true), new ManaCostsImpl<>("{2}{B}"), DeliriumCondition.instance, "Delirium — {2}{B}: Transform {this}. " + - "Activate this ability only if there are four or more card types among cards in your graveyard." + "Activate only if there are four or more card types among cards in your graveyard." ).addHint(DeliriumHint.instance)); } diff --git a/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java b/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java index 64f5f39a0c3..74c783c0e47 100644 --- a/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java +++ b/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java @@ -36,7 +36,7 @@ public final class KuldothaPhoenix extends CardImpl { // Metalcraft — {4}: Return Kuldotha Phoenix from your graveyard to the battlefield. // Activate this ability only during your upkeep and only if you control three or more artifacts. Ability ability = new ConditionalActivatedAbility(Zone.GRAVEYARD, - new ReturnSourceFromGraveyardToBattlefieldEffect(false, true), + new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl("{4}"), new CompoundCondition("during your upkeep and only if you control three or more artifacts", new IsStepCondition(PhaseStep.UPKEEP), MetalcraftCondition.instance) diff --git a/Mage.Sets/src/mage/cards/l/LlanowarSentinel.java b/Mage.Sets/src/mage/cards/l/LlanowarSentinel.java index 4393c77dd1c..a815e1114ef 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarSentinel.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarSentinel.java @@ -1,40 +1,41 @@ - package mage.cards.l; -import java.util.UUID; import mage.MageInt; -import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; -import mage.game.Game; -import mage.players.Player; import mage.target.common.TargetCardInLibrary; -/** - * - * @author LoneFox +import java.util.UUID; +/** + * @author LoneFox */ public final class LlanowarSentinel extends CardImpl { + private static final FilterCard filter = new FilterCard("a card named Llanowar Sentinel"); + + static { + filter.add(new NamePredicate("Llanowar Sentinel")); + } + public LlanowarSentinel(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(3); // When Llanowar Sentinel enters the battlefield, you may pay {1}{G}. If you do, search your library for a card named Llanowar Sentinel and put that card onto the battlefield. Then shuffle your library. - this.addAbility(new EntersBattlefieldTriggeredAbility(new LlanowarSentinelEffect())); + this.addAbility(new EntersBattlefieldTriggeredAbility(new DoIfCostPaid( + new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter)), new ManaCostsImpl<>("{1}{G}") + ))); } private LlanowarSentinel(final LlanowarSentinel card) { @@ -46,36 +47,3 @@ public final class LlanowarSentinel extends CardImpl { return new LlanowarSentinel(this); } } - -class LlanowarSentinelEffect extends OneShotEffect { - - LlanowarSentinelEffect() { - super(Outcome.Benefit); - this.staticText = "you may pay {1}{G}. If you do, search your library for a card named Llanowar Sentinel and put that card onto the battlefield. Then shuffle"; } - - LlanowarSentinelEffect(final LlanowarSentinelEffect effect) { - super(effect); - } - - @Override - public LlanowarSentinelEffect copy() { - return new LlanowarSentinelEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if(player != null) { - if(player.chooseUse(Outcome.BoostCreature, "Do you want to to pay {1}{G}?", source, game)) { - Cost cost = new ManaCostsImpl("{1}{G}"); - if(cost.pay(source, game, source, source.getControllerId(), false, null)) { - FilterCard filter = new FilterCard("card named Llanowar Sentinel"); - filter.add(new NamePredicate("Llanowar Sentinel")); - new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, filter), false, true).apply(game, source); - } - return true; - } - } - return false; - } -} diff --git a/Mage.Sets/src/mage/cards/m/ManaSeverance.java b/Mage.Sets/src/mage/cards/m/ManaSeverance.java index 86ae4527ef0..52200030945 100644 --- a/Mage.Sets/src/mage/cards/m/ManaSeverance.java +++ b/Mage.Sets/src/mage/cards/m/ManaSeverance.java @@ -43,7 +43,7 @@ class ManaSeveranceEffect extends SearchEffect { public ManaSeveranceEffect() { super(new TargetCardInLibrary(0, Integer.MAX_VALUE, new FilterLandCard()), Outcome.Exile); - this.staticText = "Search your library for any number of land cards and remove them from the game. Shuffle your library afterwards."; + this.staticText = "search your library for any number of land cards, exile them, then shuffle"; } public ManaSeveranceEffect(final ManaSeveranceEffect effect) { diff --git a/Mage.Sets/src/mage/cards/m/Misfortune.java b/Mage.Sets/src/mage/cards/m/Misfortune.java index 4823ac906e5..6c94dcddd06 100644 --- a/Mage.Sets/src/mage/cards/m/Misfortune.java +++ b/Mage.Sets/src/mage/cards/m/Misfortune.java @@ -67,7 +67,7 @@ class MisfortuneEffect extends OneShotEffect { if (controller != null && chosenOpponent != null) { if (chosenOpponent.chooseUse(Outcome.Neutral, "If you choose Yes, the controller puts a +1/+1 counter" - + "on each creature they control and they gain 4 life. If no, the controller puts a -1/-1 counter" + + "on each creature they control and they gain 4 life. If no, the controller puts a -1/-1 counter" + "on each creature you control and {this} deals 4 damage to you.", source, game)) { Effect putP1P1CounterOnEachControlledCreature = new AddCountersAllEffect( CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/n/NemesisOfMortals.java b/Mage.Sets/src/mage/cards/n/NemesisOfMortals.java index 9ae86b05a68..8e761f5ebbe 100644 --- a/Mage.Sets/src/mage/cards/n/NemesisOfMortals.java +++ b/Mage.Sets/src/mage/cards/n/NemesisOfMortals.java @@ -47,7 +47,7 @@ public final class NemesisOfMortals extends CardImpl { // {7}{G}{G}: Monstrosity 5. This ability costs {1} less to activate for each creature card in your graveyard. ability = new MonstrosityAbility("{7}{G}{G}", 5); for (Effect effect : ability.getEffects()) { - effect.setText("Monstrosity 5. This ability costs {1} less to activate for each creature card in your graveyard"); + effect.setText("Monstrosity 5. This ability costs {1} less to activate for each creature card in your graveyard"); } ability.setCostAdjuster(NemesisOfMortalsAdjuster.instance); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/n/NissaWorldwaker.java b/Mage.Sets/src/mage/cards/n/NissaWorldwaker.java index 07bd0b2c8ba..9eab0f0dfd1 100644 --- a/Mage.Sets/src/mage/cards/n/NissaWorldwaker.java +++ b/Mage.Sets/src/mage/cards/n/NissaWorldwaker.java @@ -70,7 +70,7 @@ class NissaWorldwakerSearchEffect extends OneShotEffect { public NissaWorldwakerSearchEffect() { super(Outcome.PutCreatureInPlay); - this.staticText = "Search your library for any number of basic land cards, put them onto the battlefield, then shuffle. Those lands become 4/4 Elemental creatures with trample. They're still lands"; + this.staticText = "Search your library for any number of basic land cards, put them onto the battlefield, then shuffle. Those lands become 4/4 Elemental creatures with trample. They're still lands"; } public NissaWorldwakerSearchEffect(final NissaWorldwakerSearchEffect effect) { diff --git a/Mage.Sets/src/mage/cards/n/NissasPilgrimage.java b/Mage.Sets/src/mage/cards/n/NissasPilgrimage.java index f56b14ebddc..dd062015bd8 100644 --- a/Mage.Sets/src/mage/cards/n/NissasPilgrimage.java +++ b/Mage.Sets/src/mage/cards/n/NissasPilgrimage.java @@ -56,7 +56,7 @@ class NissasPilgrimageEffect extends OneShotEffect { public NissasPilgrimageEffect() { super(Outcome.Benefit); - this.staticText = "Search your library for up to two basic Forest cards, reveal those cards, and put one onto the battlefield tapped and the rest into your hand. Then shuffle." + this.staticText = "Search your library for up to two basic Forest cards, reveal those cards, and put one onto the battlefield tapped and the rest into your hand. Then shuffle." + "
Spell Mastery — If there are two or more instant and/or sorcery cards in your graveyard, search your library for up to three basic Forest cards instead of two."; } diff --git a/Mage.Sets/src/mage/cards/o/OpenTheGates.java b/Mage.Sets/src/mage/cards/o/OpenTheGates.java index 5ee1edd55e2..a30e7575ad0 100644 --- a/Mage.Sets/src/mage/cards/o/OpenTheGates.java +++ b/Mage.Sets/src/mage/cards/o/OpenTheGates.java @@ -17,7 +17,7 @@ import java.util.UUID; */ public final class OpenTheGates extends CardImpl { - private static final FilterCard filter = new FilterCard("basic land card or a Gate card"); + private static final FilterCard filter = new FilterCard("a basic land card or a Gate card"); static { filter.add(Predicates.or( diff --git a/Mage.Sets/src/mage/cards/o/OracleEnVec.java b/Mage.Sets/src/mage/cards/o/OracleEnVec.java index bac9e506675..fed320eeed6 100644 --- a/Mage.Sets/src/mage/cards/o/OracleEnVec.java +++ b/Mage.Sets/src/mage/cards/o/OracleEnVec.java @@ -68,7 +68,7 @@ class OracleEnVecEffect extends OneShotEffect { super(Outcome.Benefit); this.staticText = "Target opponent chooses any number of creatures they control. During that player's next turn, " + "the chosen creatures attack if able, and other creatures can't attack. At the beginning of that turn's end step, " + - "destroy each of the chosen creatures that didn't attack"; + "destroy each of the chosen creatures that didn't attack this turn"; } OracleEnVecEffect(final OracleEnVecEffect effect) { diff --git a/Mage.Sets/src/mage/cards/o/OraclesVault.java b/Mage.Sets/src/mage/cards/o/OraclesVault.java index 5802c4b5847..4342bf440b8 100644 --- a/Mage.Sets/src/mage/cards/o/OraclesVault.java +++ b/Mage.Sets/src/mage/cards/o/OraclesVault.java @@ -42,7 +42,7 @@ public final class OraclesVault extends CardImpl { this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, new OraclesVaultFreeEffect(), new TapSourceCost(), new SourceHasCounterCondition(CounterType.BRICK, 3, Integer.MAX_VALUE), "{T}: Exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. " - + "Activate only if there are three or more brick counters on {this}")); + + "Activate only if there are three or more brick counters on {this}.")); } private OraclesVault(final OraclesVault card) { diff --git a/Mage.Sets/src/mage/cards/p/ParallaxNexus.java b/Mage.Sets/src/mage/cards/p/ParallaxNexus.java index 8140564837f..3f1163d7799 100644 --- a/Mage.Sets/src/mage/cards/p/ParallaxNexus.java +++ b/Mage.Sets/src/mage/cards/p/ParallaxNexus.java @@ -37,7 +37,7 @@ public final class ParallaxNexus extends CardImpl { this.addAbility(ability); // When Parallax Nexus leaves the battlefield, each player returns to their hand all cards they own exiled with Parallax Nexus. - this.addAbility(new LeavesBattlefieldTriggeredAbility(new ReturnFromExileEffect(Zone.HAND), false)); + this.addAbility(new LeavesBattlefieldTriggeredAbility(new ReturnFromExileEffect(Zone.HAND).setText("each player returns to their hand all cards they own exiled with {this}"), false)); } private ParallaxNexus(final ParallaxNexus card) { diff --git a/Mage.Sets/src/mage/cards/p/PutridCyclops.java b/Mage.Sets/src/mage/cards/p/PutridCyclops.java index 6d0f8254d9f..8ca48fa1476 100644 --- a/Mage.Sets/src/mage/cards/p/PutridCyclops.java +++ b/Mage.Sets/src/mage/cards/p/PutridCyclops.java @@ -53,7 +53,7 @@ class PutridCyclopEffect extends OneShotEffect { public PutridCyclopEffect() { super(Outcome.Detriment); - this.staticText = "scry 1, then reveal the top card of your library. {this} gets -X/-X until end of turn, where X is that card's mana value" + this.staticText = "scry 1, then reveal the top card of your library. {this} gets -X/-X until end of turn, where X is that card's mana value." + " (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.)"; } diff --git a/Mage.Sets/src/mage/cards/r/RaidersSpoils.java b/Mage.Sets/src/mage/cards/r/RaidersSpoils.java index a2114b3862b..6e1aee5214a 100644 --- a/Mage.Sets/src/mage/cards/r/RaidersSpoils.java +++ b/Mage.Sets/src/mage/cards/r/RaidersSpoils.java @@ -78,6 +78,6 @@ class RaidersSpoilsTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever a Warrior you control deals combat damage to a player, you may pay 1 life. If you do, draw a card"; + return "Whenever a Warrior you control deals combat damage to a player, you may pay 1 life. If you do, draw a card"; } } diff --git a/Mage.Sets/src/mage/cards/r/RishkarsExpertise.java b/Mage.Sets/src/mage/cards/r/RishkarsExpertise.java index a7bb010470f..1db510524f0 100644 --- a/Mage.Sets/src/mage/cards/r/RishkarsExpertise.java +++ b/Mage.Sets/src/mage/cards/r/RishkarsExpertise.java @@ -24,7 +24,7 @@ public final class RishkarsExpertise extends CardImpl { this.getSpellAbility().addEffect(effect); // You may cast a card with converted mana cost 5 or less from your hand without paying its mana cost. - this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(5)); + this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(5).concatBy("
")); } private RishkarsExpertise(final RishkarsExpertise card) { diff --git a/Mage.Sets/src/mage/cards/r/RitesOfSpring.java b/Mage.Sets/src/mage/cards/r/RitesOfSpring.java index b8c67042d4c..9136f5d4242 100644 --- a/Mage.Sets/src/mage/cards/r/RitesOfSpring.java +++ b/Mage.Sets/src/mage/cards/r/RitesOfSpring.java @@ -44,8 +44,8 @@ class RitesOfSpringEffect extends OneShotEffect { RitesOfSpringEffect() { super(Outcome.DrawCard); - this.staticText = "Discard any number of cards. Search your library for up to that many basic land cards, " + - "reveal those cards, and put them into your hand. Then shuffle."; + this.staticText = "discard any number of cards. Search your library for up to that many basic land cards, " + + "reveal them, put them into your hand, then shuffle"; } private RitesOfSpringEffect(final RitesOfSpringEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/SanctumPrelate.java b/Mage.Sets/src/mage/cards/s/SanctumPrelate.java index a4fb5093209..250130906a4 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumPrelate.java +++ b/Mage.Sets/src/mage/cards/s/SanctumPrelate.java @@ -63,7 +63,7 @@ class ChooseNumberEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - int numberChoice = controller.announceXMana(0, Integer.MAX_VALUE, "Choose a number. Noncreature spells with the chosen mana value can't be cast", game, source); + int numberChoice = controller.announceXMana(0, Integer.MAX_VALUE, "Choose a number.", game, source); game.getState().setValue(source.getSourceId().toString(), numberChoice); Permanent permanent = game.getPermanentEntering(source.getSourceId()); @@ -82,7 +82,7 @@ class ChooseNumberEffect extends OneShotEffect { } private String setText() { - return "Choose a number. Noncreature spells with the chosen mana value can't be cast"; + return "Choose a number. Noncreature spells with mana value equal to the chosen number can't be cast"; } } @@ -92,7 +92,7 @@ class SanctumPrelateReplacementEffect extends ContinuousRuleModifyingEffectImpl public SanctumPrelateReplacementEffect() { super(Duration.WhileOnBattlefield, Outcome.Detriment); - staticText = "Noncreature spells with the chosen mana value can't be cast"; + staticText = "Noncreature spells with mana value equal to the chosen number can't be cast"; } public SanctumPrelateReplacementEffect(final SanctumPrelateReplacementEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java b/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java index 7b9def742df..7d51f4caf2f 100644 --- a/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java +++ b/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java @@ -63,7 +63,7 @@ public final class SarkhanTheMad extends CardImpl { class SarkhanTheMadRevealAndDrawEffect extends OneShotEffect { - private static final String effectText = "Reveal the top card of your library and put it into your hand. {this} deals damage to himself equal to that card's mana value"; + private static final String effectText = "Reveal the top card of your library and put it into your hand. {this} deals damage to himself equal to that card's mana value"; SarkhanTheMadRevealAndDrawEffect() { super(Outcome.DrawCard); diff --git a/Mage.Sets/src/mage/cards/s/ScatteringStroke.java b/Mage.Sets/src/mage/cards/s/ScatteringStroke.java index e95e297b5a4..2c3bb9f6eb8 100644 --- a/Mage.Sets/src/mage/cards/s/ScatteringStroke.java +++ b/Mage.Sets/src/mage/cards/s/ScatteringStroke.java @@ -47,7 +47,7 @@ class ScatteringStrokeEffect extends OneShotEffect { public ScatteringStrokeEffect() { super(Outcome.Benefit); - this.staticText = "Counter target spell. Clash with an opponent. If you win, at the beginning of your next main phase, you may add {X}, where X is that spell's mana value"; + this.staticText = "Counter target spell. Clash with an opponent. If you win, at the beginning of your next main phase, you may add an amount of {C} equal to that spell's mana value"; } public ScatteringStrokeEffect(final ScatteringStrokeEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/SchemingSymmetry.java b/Mage.Sets/src/mage/cards/s/SchemingSymmetry.java index 0518bc12727..b8a244d8270 100644 --- a/Mage.Sets/src/mage/cards/s/SchemingSymmetry.java +++ b/Mage.Sets/src/mage/cards/s/SchemingSymmetry.java @@ -42,7 +42,7 @@ class SchemingSymmetryEffect extends OneShotEffect { SchemingSymmetryEffect() { super(Outcome.Benefit); staticText = "Choose two target players. Each of them searches their library for a card, " + - "then shuffles and puts that card on top of it."; + "then shuffles and puts that card on top"; } private SchemingSymmetryEffect(final SchemingSymmetryEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/ScryingGlass.java b/Mage.Sets/src/mage/cards/s/ScryingGlass.java index 96e407fc89b..5de031332d5 100644 --- a/Mage.Sets/src/mage/cards/s/ScryingGlass.java +++ b/Mage.Sets/src/mage/cards/s/ScryingGlass.java @@ -70,7 +70,7 @@ class ScryingGlassEffect extends OneShotEffect { filter.add(new ColorPredicate(color.getColor())); targetOpponent.revealCards(source, targetOpponent.getHand(), game); if (targetOpponent.getHand().count(filter, game) == amount) { - game.informPlayers(controller.getLogName() + " has chosen the exact number and color of the revealed cards from " + targetOpponent.getName() + "'s hand. They draw a card."); + game.informPlayers(controller.getLogName() + " has chosen the exact number and color of the revealed cards from " + targetOpponent.getName() + "'s hand. They draw a card."); controller.drawCards(1, source, game); return true; } else { diff --git a/Mage.Sets/src/mage/cards/s/SearchForSurvivors.java b/Mage.Sets/src/mage/cards/s/SearchForSurvivors.java index a1d84138c90..b539cc8a93e 100644 --- a/Mage.Sets/src/mage/cards/s/SearchForSurvivors.java +++ b/Mage.Sets/src/mage/cards/s/SearchForSurvivors.java @@ -68,7 +68,7 @@ class SearchForSurvivorsEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - game.informPlayers("The controller of Search for Survivors will have their graveyard randomized. " + game.informPlayers("The controller of Search for Survivors will have their graveyard randomized. " + " A card will be chosen at random from the controller's graveyard. " + " The result is essentially the same as the card rule"); // randomly arrange the graveyard diff --git a/Mage.Sets/src/mage/cards/s/SearingBlaze.java b/Mage.Sets/src/mage/cards/s/SearingBlaze.java index 78932b62ff2..b6aa4a0a7f8 100644 --- a/Mage.Sets/src/mage/cards/s/SearingBlaze.java +++ b/Mage.Sets/src/mage/cards/s/SearingBlaze.java @@ -53,7 +53,7 @@ class SearingBlazeEffect extends OneShotEffect { public SearingBlazeEffect() { super(Outcome.Damage); - staticText = "{this} deals 1 damage to target player or planeswalker and 1 damage to target creature that player or that planeswalker's controller controls. \nLandfall - If you had a land enter the battlefield under your control this turn, {this} deals 3 damage to that player or planeswalker and 3 damage to that creature instead."; + staticText = "{this} deals 1 damage to target player or planeswalker and 1 damage to target creature that player or that planeswalker's controller controls. \nLandfall - If you had a land enter the battlefield under your control this turn, {this} deals 3 damage to that player or planeswalker and 3 damage to that creature instead."; } public SearingBlazeEffect(final SearingBlazeEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/SentinelOfThePearlTrident.java b/Mage.Sets/src/mage/cards/s/SentinelOfThePearlTrident.java index f31070c8026..b5d84e34d9d 100644 --- a/Mage.Sets/src/mage/cards/s/SentinelOfThePearlTrident.java +++ b/Mage.Sets/src/mage/cards/s/SentinelOfThePearlTrident.java @@ -66,7 +66,7 @@ class SentinelOfThePearlTridentEffect extends OneShotEffect { private static final String effectText = "exile target historic permanent you control. " + "If you do, return that card to the battlefield under its owner's control" - + " at the beginning of the next end step. (Artifacts, legendaries, and Sagas are historic.)"; + + " at the beginning of the next end step. (Artifacts, legendaries, and Sagas are historic.)"; SentinelOfThePearlTridentEffect() { super(Outcome.Detriment); diff --git a/Mage.Sets/src/mage/cards/s/ShardConvergence.java b/Mage.Sets/src/mage/cards/s/ShardConvergence.java index 96143d56466..02af1d610ca 100644 --- a/Mage.Sets/src/mage/cards/s/ShardConvergence.java +++ b/Mage.Sets/src/mage/cards/s/ShardConvergence.java @@ -25,7 +25,8 @@ public final class ShardConvergence extends CardImpl { // Search your library for a Plains card, an Island card, a Swamp card, and a Mountain card. Reveal those cards and put them into your hand. Then shuffle your library. this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect( new ShardConvergenceTarget(), true - )); + ).setText("search your library for a Plains card, an Island card, a Swamp card, and a Mountain card. " + + "Reveal those cards, put them into your hand, then shuffle")); } private ShardConvergence(final ShardConvergence card) { diff --git a/Mage.Sets/src/mage/cards/s/SramsExpertise.java b/Mage.Sets/src/mage/cards/s/SramsExpertise.java index 6a6fbe21480..6334c3bf86e 100644 --- a/Mage.Sets/src/mage/cards/s/SramsExpertise.java +++ b/Mage.Sets/src/mage/cards/s/SramsExpertise.java @@ -23,7 +23,7 @@ public final class SramsExpertise extends CardImpl { this.getSpellAbility().addEffect(new CreateTokenEffect(new ServoToken(), 3)); // You may cast a card with converted mana cost 3 or less from your hand without paying its mana cost. - this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(3)); + this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(3).concatBy("
")); } private SramsExpertise(final SramsExpertise card) { diff --git a/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java b/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java index 7affcc074a9..5ee04a8b990 100644 --- a/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java +++ b/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java @@ -1,7 +1,5 @@ package mage.cards.s; -import java.util.UUID; - import mage.MageInt; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.costs.mana.ManaCostsImpl; @@ -10,10 +8,9 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.hint.common.DeliriumHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Duration; -import mage.constants.Zone; +import mage.constants.*; + +import java.util.UUID; /** * @author fireshoes @@ -32,9 +29,8 @@ public final class StallionOfAshmouth extends CardImpl { this.addAbility(new ConditionalActivatedAbility( Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), - new ManaCostsImpl("{1}{B}"), - DeliriumCondition.instance) - .addHint(DeliriumHint.instance)); + new ManaCostsImpl<>("{1}{B}"), DeliriumCondition.instance + ).setAbilityWord(AbilityWord.DELIRIUM).addHint(DeliriumHint.instance)); } private StallionOfAshmouth(final StallionOfAshmouth card) { diff --git a/Mage.Sets/src/mage/cards/t/Tariff.java b/Mage.Sets/src/mage/cards/t/Tariff.java index 1eb0f279514..205dab61c6a 100644 --- a/Mage.Sets/src/mage/cards/t/Tariff.java +++ b/Mage.Sets/src/mage/cards/t/Tariff.java @@ -51,7 +51,7 @@ class TariffEffect extends OneShotEffect { public TariffEffect() { super(Outcome.DestroyPermanent); - this.staticText = "Each player sacrifices the creature they control with the highest mana value unless they pay that creature's mana cost. If two or more creatures a player controls are tied for highest cost, that player chooses one."; + this.staticText = "Each player sacrifices the creature they control with the highest mana value unless they pay that creature's mana cost. If two or more creatures a player controls are tied for highest, that player chooses one."; } public TariffEffect(final TariffEffect effect) { diff --git a/Mage.Sets/src/mage/cards/t/ThrabenFoulbloods.java b/Mage.Sets/src/mage/cards/t/ThrabenFoulbloods.java index 3778aefb11c..4713f68764a 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenFoulbloods.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenFoulbloods.java @@ -34,7 +34,7 @@ public final class ThrabenFoulbloods extends CardImpl { ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), DeliriumCondition.instance, "Delirium — {this} gets +1/+1"); Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(new MenaceAbility()), DeliriumCondition.instance, - "and has menace as long as there are four or more card types among cards in your graveyard. (A creature with menace can't be blocked except by two or more creatures.)")); + "and has menace as long as there are four or more card types among cards in your graveyard. (A creature with menace can't be blocked except by two or more creatures.)")); ability.addHint(DeliriumHint.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TrenchGorger.java b/Mage.Sets/src/mage/cards/t/TrenchGorger.java index 31c5cb1c50c..b7f3772777a 100644 --- a/Mage.Sets/src/mage/cards/t/TrenchGorger.java +++ b/Mage.Sets/src/mage/cards/t/TrenchGorger.java @@ -50,7 +50,8 @@ class TrenchGorgerEffect extends OneShotEffect { public TrenchGorgerEffect() { super(Outcome.BoostCreature); - this.staticText = "you may search your library for any number of land cards, exile them, then shuffle. If you do, {this}'s power and toughness each become equal to the number of cards exiled this way"; + this.staticText = "search your library for any number of land cards, exile them, then shuffle. " + + "If you do, {this} has base power and base toughness each equal to the number of cards exiled this way"; } public TrenchGorgerEffect(final TrenchGorgerEffect effect) { diff --git a/Mage.Sets/src/mage/cards/t/TwoHeadedGiant.java b/Mage.Sets/src/mage/cards/t/TwoHeadedGiant.java index 9161d98cee3..fce10ac9a4f 100644 --- a/Mage.Sets/src/mage/cards/t/TwoHeadedGiant.java +++ b/Mage.Sets/src/mage/cards/t/TwoHeadedGiant.java @@ -50,7 +50,7 @@ class TwoHeadedGiantEffect extends OneShotEffect { public TwoHeadedGiantEffect() { super(Outcome.Benefit); - this.staticText = "flip two coins. If both coins come up heads, {this} gains double strike until end of turn." + this.staticText = "flip two coins. If both coins come up heads, {this} gains double strike until end of turn." + " If both coins come up tails, {this} gains menace until end of turn"; } diff --git a/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java b/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java index 678577b9541..c7b94a362cd 100644 --- a/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java +++ b/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java @@ -62,7 +62,7 @@ class VancesBlastingCannonsExileEffect extends OneShotEffect { public VancesBlastingCannonsExileEffect() { super(Outcome.Benefit); - this.staticText = "exile the top card of your library. If it's a nonland card, you may cast that card this turn"; + this.staticText = "exile the top card of your library. If it's a nonland card, you may cast that card this turn"; } public VancesBlastingCannonsExileEffect(final VancesBlastingCannonsExileEffect effect) { diff --git a/Mage.Sets/src/mage/cards/v/VerdantSuccession.java b/Mage.Sets/src/mage/cards/v/VerdantSuccession.java index a5094c23c08..6b60d0f2868 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantSuccession.java +++ b/Mage.Sets/src/mage/cards/v/VerdantSuccession.java @@ -95,7 +95,7 @@ class VerdantSuccessionTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever a green nontoken creature dies, that creature's controller may search their library for a card with the same name as that creature and put it onto the battlefield. If that player does, they shuffle."; + return "Whenever a green nontoken creature dies, that creature's controller may search their library for a card with the same name as that creature, put it onto the battlefield, then shuffle."; } } diff --git a/Mage.Sets/src/mage/cards/w/WallOfStolenIdentity.java b/Mage.Sets/src/mage/cards/w/WallOfStolenIdentity.java index ececc544a85..9e8ebf28902 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfStolenIdentity.java +++ b/Mage.Sets/src/mage/cards/w/WallOfStolenIdentity.java @@ -36,7 +36,7 @@ import java.util.UUID; public final class WallOfStolenIdentity extends CardImpl { final static private String rule = "You may have Wall of Stolen Identity enter the battlefield as a copy of any " - + "creature on the battlefield, except it's a wall in addition to its other types and it has defender. " + + "creature on the battlefield, except it's a wall in addition to its other types and it has defender. " + "When you do, tap the copied creature and it doesn't untap during its " + "controller's untap step for as long as you control {this}"; diff --git a/Mage.Sets/src/mage/cards/w/WarpedLandscape.java b/Mage.Sets/src/mage/cards/w/WarpedLandscape.java index 294c84c3f3b..806b22c726e 100644 --- a/Mage.Sets/src/mage/cards/w/WarpedLandscape.java +++ b/Mage.Sets/src/mage/cards/w/WarpedLandscape.java @@ -31,7 +31,7 @@ public final class WarpedLandscape extends CardImpl { // {2}, {T}, Sacrifice Warped Landscape: Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true, true), + new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/cards/w/WildFieldScarecrow.java b/Mage.Sets/src/mage/cards/w/WildFieldScarecrow.java index e75d460ca5c..f476e1e38df 100644 --- a/Mage.Sets/src/mage/cards/w/WildFieldScarecrow.java +++ b/Mage.Sets/src/mage/cards/w/WildFieldScarecrow.java @@ -34,7 +34,7 @@ public final class WildFieldScarecrow extends CardImpl { // {2}, Sacrifice Wild-Field Scarecrow: Search your library for up to two basic land cards, reveal them, and put them into your hand. Then shuffle your library. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), true, true), + new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true, true), new GenericManaCost(2)); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/w/WindZendikon.java b/Mage.Sets/src/mage/cards/w/WindZendikon.java index 826f44bba41..697cc9a7ecc 100644 --- a/Mage.Sets/src/mage/cards/w/WindZendikon.java +++ b/Mage.Sets/src/mage/cards/w/WindZendikon.java @@ -40,7 +40,7 @@ public final class WindZendikon extends CardImpl { this.addAbility(ability); Ability ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new BecomesCreatureAttachedEffect( - new WindZendikonElementalToken(), "Enchanted land is a 2/2 blue Elemental creature with flying. It's still a land", + new WindZendikonElementalToken(), "Enchanted land is a 2/2 blue Elemental creature with flying. It's still a land", Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.COLOR)); this.addAbility(ability2); diff --git a/Mage.Sets/src/mage/cards/w/WolfOfDevilsBreach.java b/Mage.Sets/src/mage/cards/w/WolfOfDevilsBreach.java index f09250fcc5d..8a7915319f0 100644 --- a/Mage.Sets/src/mage/cards/w/WolfOfDevilsBreach.java +++ b/Mage.Sets/src/mage/cards/w/WolfOfDevilsBreach.java @@ -42,7 +42,7 @@ public final class WolfOfDevilsBreach extends CardImpl { toPay.add(new DiscardCardCost()); Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(new DamageTargetEffect(new WolfOfDevilsBreachDiscardCostCardConvertedMana()), toPay, "Pay {1}{R} and discard a card to let {this} do damage to target creature or planeswalker equal to the discarded card's mana value?", true), false, - "Whenever {this} attacks you may pay {1}{R} and discard a card. If you do, {this} deals damage to target creature or planeswalker " + "Whenever {this} attacks, you may pay {1}{R} and discard a card. If you do, {this} deals damage to target creature or planeswalker " + "equal to the discarded card's mana value."); ability.addTarget(new TargetCreatureOrPlaneswalker()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/y/YahennisExpertise.java b/Mage.Sets/src/mage/cards/y/YahennisExpertise.java index effd7ee403c..526e36f83d0 100644 --- a/Mage.Sets/src/mage/cards/y/YahennisExpertise.java +++ b/Mage.Sets/src/mage/cards/y/YahennisExpertise.java @@ -23,7 +23,7 @@ public final class YahennisExpertise extends CardImpl { this.getSpellAbility().addEffect(new BoostAllEffect(-3, -3, Duration.EndOfTurn)); // You may cast a card with converted mana cost 3 or less from your hand without paying its mana cost. - this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(3)); + this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(3).concatBy("
")); } private YahennisExpertise(final YahennisExpertise card) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/RollPlanarDieEffect.java b/Mage/src/main/java/mage/abilities/effects/common/RollPlanarDieEffect.java index 45a4d9df39d..6385d094dff 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/RollPlanarDieEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/RollPlanarDieEffect.java @@ -158,7 +158,7 @@ public class RollPlanarDieEffect extends OneShotEffect { } } } - sb.append(". If you roll PW, planeswalk to a new plane"); + sb.append(". If you roll PW, planeswalk to a new plane"); return sb.toString(); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureTargetEffect.java index 462b2ae55ed..3a786431d17 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesCreatureTargetEffect.java @@ -188,7 +188,7 @@ public class BecomesCreatureTargetEffect extends ContinuousEffectImpl { sb.append(". It's still a land"); } } - return sb.toString(); + return sb.toString().replace(" .", "."); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/cost/CastWithoutPayingManaCostEffect.java b/Mage/src/main/java/mage/abilities/effects/common/cost/CastWithoutPayingManaCostEffect.java index 55569283147..81d42fd7c8e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/cost/CastWithoutPayingManaCostEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/cost/CastWithoutPayingManaCostEffect.java @@ -39,7 +39,7 @@ public class CastWithoutPayingManaCostEffect extends OneShotEffect { public CastWithoutPayingManaCostEffect(DynamicValue maxCost) { super(Outcome.PlayForFree); this.manaCost = maxCost; - this.staticText = "you may cast a card with mana value " + this.staticText = "you may cast a spell with mana value " + maxCost + " or less from your hand without paying its mana cost"; } diff --git a/Mage/src/main/java/mage/abilities/keyword/GravestormAbility.java b/Mage/src/main/java/mage/abilities/keyword/GravestormAbility.java index 20b06deb9ee..f4f36701ff5 100644 --- a/Mage/src/main/java/mage/abilities/keyword/GravestormAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/GravestormAbility.java @@ -55,7 +55,7 @@ public class GravestormAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Gravestorm (When you cast this spell, copy it for each permanent put into a graveyard this turn. You may choose new targets for the copies.)"; + return "Gravestorm (When you cast this spell, copy it for each permanent put into a graveyard this turn. You may choose new targets for the copies.)"; } } diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 0a9a6ea9330..c12d8fba34c 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -1211,7 +1211,7 @@ public abstract class GameImpl implements Game, Serializable { return player.getId(); } } - logger.debug("Game was not possible to pick a choosing player. GameId:" + getId()); + logger.debug("Game was not possible to pick a choosing player. GameId:" + getId()); return null; } diff --git a/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java b/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java index 7965e2b21b5..795165bd029 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java @@ -34,7 +34,7 @@ public final class BelzenlokDemonToken extends TokenImpl { public BelzenlokDemonToken() { super("Demon", "6/6 black Demon creature token with flying, trample, and " - + "\"At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you.\""); + + "\"At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you.\""); availableImageSetCodes = tokenImageSets; cardType.add(CardType.CREATURE); color.setBlack(true); @@ -75,7 +75,7 @@ class BelzenlokDemonTokenEffect extends OneShotEffect { BelzenlokDemonTokenEffect() { super(Outcome.Benefit); - this.staticText = "sacrifice another creature. If you can't, this creature deals 6 damage to you."; + this.staticText = "sacrifice another creature. If you can't, this creature deals 6 damage to you."; } BelzenlokDemonTokenEffect(final BelzenlokDemonTokenEffect effect) {