From 68cf2a36c3d1ead96f0c8f4751d7da1b07566e73 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 2 Mar 2022 21:18:10 -0500 Subject: [PATCH] [IKO] various text fixes --- Mage.Sets/src/mage/cards/a/AlertHeedbonder.java | 4 +++- Mage.Sets/src/mage/cards/a/Archipelagore.java | 2 +- Mage.Sets/src/mage/cards/b/BushmeatPoacher.java | 14 +++----------- Mage.Sets/src/mage/cards/c/ChanneledForce.java | 2 +- Mage.Sets/src/mage/cards/e/EscapeProtocol.java | 2 +- Mage.Sets/src/mage/cards/e/ExuberantWolfbear.java | 2 +- Mage.Sets/src/mage/cards/f/FerociousTigorilla.java | 3 +-- Mage.Sets/src/mage/cards/g/GustOfWind.java | 2 +- Mage.Sets/src/mage/cards/h/HuntmasterLiger.java | 2 +- .../src/mage/cards/k/KaheeraTheOrphanguard.java | 2 +- Mage.Sets/src/mage/cards/k/KeepSafe.java | 2 +- Mage.Sets/src/mage/cards/n/NightsquadCommando.java | 11 ++++------- Mage.Sets/src/mage/cards/p/Porcuparrot.java | 9 ++++++--- Mage.Sets/src/mage/cards/r/RegalLeosaur.java | 2 +- Mage.Sets/src/mage/cards/s/SeaDasherOctopus.java | 2 +- Mage.Sets/src/mage/cards/t/TitansNest.java | 4 ++-- .../test/java/mage/verify/VerifyCardDataTest.java | 2 +- 17 files changed, 30 insertions(+), 37 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AlertHeedbonder.java b/Mage.Sets/src/mage/cards/a/AlertHeedbonder.java index 8e77c371bd..02eb1bdb7c 100644 --- a/Mage.Sets/src/mage/cards/a/AlertHeedbonder.java +++ b/Mage.Sets/src/mage/cards/a/AlertHeedbonder.java @@ -44,7 +44,9 @@ public final class AlertHeedbonder extends CardImpl { // At the beginning of your end step, you gain 1 life for each creature you control with vigilance. this.addAbility(new BeginningOfEndStepTriggeredAbility( - new GainLifeEffect(xValue), TargetController.YOU, false + new GainLifeEffect(xValue) + .setText("you gain 1 life for each creature you control with vigilance"), + TargetController.YOU, false )); } diff --git a/Mage.Sets/src/mage/cards/a/Archipelagore.java b/Mage.Sets/src/mage/cards/a/Archipelagore.java index 55a15bdb0d..276ce4a252 100644 --- a/Mage.Sets/src/mage/cards/a/Archipelagore.java +++ b/Mage.Sets/src/mage/cards/a/Archipelagore.java @@ -34,7 +34,7 @@ public final class Archipelagore extends CardImpl { // Whenever this creature mutates, tap up to X target creatures, where X is the number of times this creature has mutated. Those creatures don't untap during their controller's next untap step. Ability ability = new MutatesSourceTriggeredAbility(new TapTargetEffect( - "up to X target creatures, where X is the number of times this creature has mutated." + "tap up to X target creatures, where X is the number of times this creature has mutated." )); ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("Those creatures")); ability.setTargetAdjuster(ArchipelagoreAdjuster.instance); diff --git a/Mage.Sets/src/mage/cards/b/BushmeatPoacher.java b/Mage.Sets/src/mage/cards/b/BushmeatPoacher.java index 7be8a1fb83..5219f80806 100644 --- a/Mage.Sets/src/mage/cards/b/BushmeatPoacher.java +++ b/Mage.Sets/src/mage/cards/b/BushmeatPoacher.java @@ -12,9 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -27,12 +25,6 @@ import java.util.UUID; */ public final class BushmeatPoacher extends CardImpl { - private static final FilterControlledPermanent filter = new FilterControlledCreaturePermanent("another creature"); - - static { - filter.add(AnotherPredicate.instance); - } - public BushmeatPoacher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); @@ -44,7 +36,7 @@ public final class BushmeatPoacher extends CardImpl { // {1}, {T}, Sacrifice another creature: You gain life equal to that creature's toughness. Draw a card. Ability ability = new SimpleActivatedAbility(new BushmeatPoacherEffect(), new GenericManaCost(1)); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter))); + ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE))); this.addAbility(ability); } @@ -62,7 +54,7 @@ class BushmeatPoacherEffect extends OneShotEffect { BushmeatPoacherEffect() { super(Outcome.Benefit); - staticText = "you gain life equal to that creature's toughness. Draw a card"; + staticText = "you gain life equal to the sacrificed creature's toughness. Draw a card"; } private BushmeatPoacherEffect(final BushmeatPoacherEffect effect) { diff --git a/Mage.Sets/src/mage/cards/c/ChanneledForce.java b/Mage.Sets/src/mage/cards/c/ChanneledForce.java index 7e933d2919..698172bc82 100644 --- a/Mage.Sets/src/mage/cards/c/ChanneledForce.java +++ b/Mage.Sets/src/mage/cards/c/ChanneledForce.java @@ -25,7 +25,7 @@ public final class ChanneledForce extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}{R}"); // As an additional cost to cast this spell, discard X cards. - this.getSpellAbility().addCost(new DiscardXTargetCost(StaticFilters.FILTER_CARD_CARDS, true)); + this.getSpellAbility().addCost(new DiscardXTargetCost(StaticFilters.FILTER_CARD_CARDS)); // Target player draws X cards. Channeled Force deals X damage to up to one target creature or planeswalker. this.getSpellAbility().addEffect(new ChanneledForceEffect()); diff --git a/Mage.Sets/src/mage/cards/e/EscapeProtocol.java b/Mage.Sets/src/mage/cards/e/EscapeProtocol.java index 4aa3a6b602..a67aebae61 100644 --- a/Mage.Sets/src/mage/cards/e/EscapeProtocol.java +++ b/Mage.Sets/src/mage/cards/e/EscapeProtocol.java @@ -38,7 +38,7 @@ public final class EscapeProtocol extends CardImpl { ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility( new ExileTargetForSourceEffect(), false, "exile target artifact or creature you control, " + - "then return it to the battlefield under its owner's control." + "then return it to the battlefield under its owner's control" ); ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false)); ability.addTarget(new TargetPermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/e/ExuberantWolfbear.java b/Mage.Sets/src/mage/cards/e/ExuberantWolfbear.java index 7b2432fd80..c676b9cc54 100644 --- a/Mage.Sets/src/mage/cards/e/ExuberantWolfbear.java +++ b/Mage.Sets/src/mage/cards/e/ExuberantWolfbear.java @@ -55,7 +55,7 @@ class ExuberantWolfbearEffect extends OneShotEffect { ExuberantWolfbearEffect() { super(Outcome.Benefit); - staticText = "change the base power and toughness of target Human you control " + + staticText = "you may change the base power and toughness of target Human you control " + "to {this}'s power and toughness until end of turn"; } diff --git a/Mage.Sets/src/mage/cards/f/FerociousTigorilla.java b/Mage.Sets/src/mage/cards/f/FerociousTigorilla.java index 25e4776a2b..d5b09548e5 100644 --- a/Mage.Sets/src/mage/cards/f/FerociousTigorilla.java +++ b/Mage.Sets/src/mage/cards/f/FerociousTigorilla.java @@ -27,8 +27,7 @@ public final class FerociousTigorilla extends CardImpl { // Ferocious Tigorilla enters the battlefield with your choice of a trample counter or a menace counter on it. this.addAbility(new EntersBattlefieldAbility( new AddCounterChoiceSourceEffect(CounterType.TRAMPLE, CounterType.MENACE), - "Ferocious Tigorilla enters the battlefield with your choice of " + - "a trample counter or a menace counter on it. " + + "with your choice of a trample counter or a menace counter on it. " + "(A creature with menace can't be blocked except by two or more creatures.)" )); } diff --git a/Mage.Sets/src/mage/cards/g/GustOfWind.java b/Mage.Sets/src/mage/cards/g/GustOfWind.java index 19c5a506f2..b114d17773 100644 --- a/Mage.Sets/src/mage/cards/g/GustOfWind.java +++ b/Mage.Sets/src/mage/cards/g/GustOfWind.java @@ -51,7 +51,7 @@ public final class GustOfWind extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent(filter2)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
")); } private GustOfWind(final GustOfWind card) { diff --git a/Mage.Sets/src/mage/cards/h/HuntmasterLiger.java b/Mage.Sets/src/mage/cards/h/HuntmasterLiger.java index 3524529dd9..14dd6f51a1 100644 --- a/Mage.Sets/src/mage/cards/h/HuntmasterLiger.java +++ b/Mage.Sets/src/mage/cards/h/HuntmasterLiger.java @@ -32,7 +32,7 @@ public final class HuntmasterLiger extends CardImpl { // Whenever this creature mutates, other creatures you control get +X/+X until end of turn, where X is the number of times this creature has mutated. this.addAbility(new MutatesSourceTriggeredAbility(new BoostControlledEffect( SourceMutatedCount.instance, SourceMutatedCount.instance, Duration.EndOfTurn, - StaticFilters.FILTER_PERMANENT_CREATURE, true, true + StaticFilters.FILTER_PERMANENT_CREATURES, true, true ))); } diff --git a/Mage.Sets/src/mage/cards/k/KaheeraTheOrphanguard.java b/Mage.Sets/src/mage/cards/k/KaheeraTheOrphanguard.java index 90a868ddd7..d9d7611fba 100644 --- a/Mage.Sets/src/mage/cards/k/KaheeraTheOrphanguard.java +++ b/Mage.Sets/src/mage/cards/k/KaheeraTheOrphanguard.java @@ -80,7 +80,7 @@ enum KaheeraTheOrphanguardCompanionCondition implements CompanionCondition { @Override public String getRule() { - return "Each creature card in your starting deck is a Cat, Elemental, Nightmare, Dinosaur or Beast card."; + return "Each creature card in your starting deck is a Cat, Elemental, Nightmare, Dinosaur, or Beast card."; } private static final List subtypes = Arrays.asList( diff --git a/Mage.Sets/src/mage/cards/k/KeepSafe.java b/Mage.Sets/src/mage/cards/k/KeepSafe.java index a7a676677e..86857f6a1f 100644 --- a/Mage.Sets/src/mage/cards/k/KeepSafe.java +++ b/Mage.Sets/src/mage/cards/k/KeepSafe.java @@ -31,7 +31,7 @@ public final class KeepSafe extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell(filter)); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
")); } private KeepSafe(final KeepSafe card) { diff --git a/Mage.Sets/src/mage/cards/n/NightsquadCommando.java b/Mage.Sets/src/mage/cards/n/NightsquadCommando.java index 8ae8c016bc..90943a1c83 100644 --- a/Mage.Sets/src/mage/cards/n/NightsquadCommando.java +++ b/Mage.Sets/src/mage/cards/n/NightsquadCommando.java @@ -8,7 +8,6 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.hint.common.RaidHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.AbilityWord; import mage.constants.CardType; import mage.constants.SubType; import mage.game.permanent.token.HumanSoldierToken; @@ -31,12 +30,10 @@ public final class NightsquadCommando extends CardImpl { // When Nightsquad Commando enters the battlefield, if you attacked this turn, create a 1/1 white Human Soldier creature token. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new HumanSoldierToken())), - RaidCondition.instance, "When {this} enters the battlefield, " + - "if you attacked this turn, create a 1/1 white Human Soldier creature token.") - .setAbilityWord(AbilityWord.RAID) - .addHint(RaidHint.instance), - new PlayerAttackedWatcher()); + new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new HumanSoldierToken())), + RaidCondition.instance, "When {this} enters the battlefield, " + + "if you attacked this turn, create a 1/1 white Human Soldier creature token." + ).addHint(RaidHint.instance), new PlayerAttackedWatcher()); } private NightsquadCommando(final NightsquadCommando card) { diff --git a/Mage.Sets/src/mage/cards/p/Porcuparrot.java b/Mage.Sets/src/mage/cards/p/Porcuparrot.java index 1f8bf3b988..a6a5fed909 100644 --- a/Mage.Sets/src/mage/cards/p/Porcuparrot.java +++ b/Mage.Sets/src/mage/cards/p/Porcuparrot.java @@ -32,9 +32,12 @@ public final class Porcuparrot extends CardImpl { this.addAbility(new MutateAbility(this, "{2}{R}")); // {T}: This creature deals X damage to any target, where X is the number of times this creature has mutated. - Ability ability = new SimpleActivatedAbility(new DamageTargetEffect( - SourceMutatedCount.instance, "this creature" - ), new TapSourceCost()); + Ability ability = new SimpleActivatedAbility( + new DamageTargetEffect(SourceMutatedCount.instance) + .setText("this creature deals X damage to any target, " + + "where X is the number of times this creature has mutated"), + new TapSourceCost() + ); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RegalLeosaur.java b/Mage.Sets/src/mage/cards/r/RegalLeosaur.java index da3993b7e8..24ef8eba65 100644 --- a/Mage.Sets/src/mage/cards/r/RegalLeosaur.java +++ b/Mage.Sets/src/mage/cards/r/RegalLeosaur.java @@ -30,7 +30,7 @@ public final class RegalLeosaur extends CardImpl { // Whenever this creature mutates, other creatures you control get +2/+1 until end of turn. this.addAbility(new MutatesSourceTriggeredAbility( - new BoostControlledEffect(2, 1, Duration.EndOfTurn, false) + new BoostControlledEffect(2, 1, Duration.EndOfTurn, true) )); } diff --git a/Mage.Sets/src/mage/cards/s/SeaDasherOctopus.java b/Mage.Sets/src/mage/cards/s/SeaDasherOctopus.java index a79023fef8..0fe597505f 100644 --- a/Mage.Sets/src/mage/cards/s/SeaDasherOctopus.java +++ b/Mage.Sets/src/mage/cards/s/SeaDasherOctopus.java @@ -33,7 +33,7 @@ public final class SeaDasherOctopus extends CardImpl { // Whenever this creature deals combat damage to a player, draw a card. this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility( new DrawCardSourceControllerEffect(1), false - )); + ).setTriggerPhrase("Whenever this creature deals combat damage to a player, ")); } private SeaDasherOctopus(final SeaDasherOctopus card) { diff --git a/Mage.Sets/src/mage/cards/t/TitansNest.java b/Mage.Sets/src/mage/cards/t/TitansNest.java index 1b6e3a2c29..fd7d9af527 100644 --- a/Mage.Sets/src/mage/cards/t/TitansNest.java +++ b/Mage.Sets/src/mage/cards/t/TitansNest.java @@ -92,7 +92,7 @@ class TitansNestManaAbility extends ActivatedManaAbilityImpl { TitansNestManaAbility() { super(Zone.BATTLEFIELD, (BasicManaEffect) new BasicManaEffect( new TitansNestConditionalMana(), new CardsInControllerGraveyardCount()) - .setText("Add {C}. Spend this mana only to cast a colored spell without {X} in its mana cost."), + .setText("Add {C}. Spend this mana only to cast a spell that's one or more colors without {X} in its mana cost."), new ExileFromGraveCost(new TargetCardInYourGraveyard())); this.netMana.add(Mana.ColorlessMana(1)); } @@ -111,7 +111,7 @@ class TitansNestConditionalMana extends ConditionalMana { TitansNestConditionalMana() { super(Mana.ColorlessMana(1)); - staticText = "Spend this mana only to cast a colored spell without {X} in its mana cost."; + staticText = "Spend this mana only to cast a spell that's one or more colors without {X} in its mana cost."; addCondition(new TitansNestManaCondition()); } } diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java index 3d2b0189a2..d0c2a69890 100644 --- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java +++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java @@ -62,7 +62,7 @@ public class VerifyCardDataTest { private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class); - private static final String FULL_ABILITIES_CHECK_SET_CODE = "SLD"; // check all abilities and output cards with wrong abilities texts; + private static final String FULL_ABILITIES_CHECK_SET_CODE = "IKO"; // check all abilities and output cards with wrong abilities texts; private static final boolean AUTO_FIX_SAMPLE_DECKS = false; // debug only: auto-fix sample decks by test_checkSampleDecks test run private static final boolean ONLY_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages