From a2a0466212ad646e1e64c4e5f47b9df0042b4208 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 14 Feb 2022 20:49:07 -0500 Subject: [PATCH] [NEC] various text fixes --- Mage.Sets/src/mage/cards/b/BearUmbra.java | 27 ++++++++++--------- .../src/mage/cards/c/CyberdriveAwakener.java | 2 +- .../src/mage/cards/g/GoblinRazerunners.java | 2 +- Mage.Sets/src/mage/cards/i/ImposterMech.java | 9 ++++--- .../mage/cards/k/KatsumasaTheAnimator.java | 4 ++- Mage.Sets/src/mage/cards/m/MageSlayer.java | 2 +- .../src/mage/cards/o/OneWithTheKami.java | 2 +- .../mage/cards/r/RishkarPeemaRenegade.java | 2 +- .../mage/cards/r/RuthlessTechnomancer.java | 6 ++--- Mage.Sets/src/mage/cards/s/Silkguard.java | 4 +-- .../src/mage/cards/t/ThopterSpyNetwork.java | 4 +-- .../src/mage/cards/w/WhiptongueHydra.java | 2 +- .../java/mage/verify/VerifyCardDataTest.java | 2 +- .../mage/abilities/keyword/CrewAbility.java | 2 +- 14 files changed, 37 insertions(+), 33 deletions(-) diff --git a/Mage.Sets/src/mage/cards/b/BearUmbra.java b/Mage.Sets/src/mage/cards/b/BearUmbra.java index 66a746ee6f2..d0a3fe5b28f 100644 --- a/Mage.Sets/src/mage/cards/b/BearUmbra.java +++ b/Mage.Sets/src/mage/cards/b/BearUmbra.java @@ -1,7 +1,5 @@ - package mage.cards.b; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -13,33 +11,36 @@ import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.TotemArmorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.*; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author jeffwadsworth */ public final class BearUmbra extends CardImpl { public BearUmbra(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{G}"); this.subtype.add(SubType.AURA); - // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); - Ability ability = new EnchantAbility(auraTarget.getTargetName()); - this.addAbility(ability); - + this.addAbility(new EnchantAbility(auraTarget.getTargetName())); + // Enchanted creature gets +2/+2 and has "Whenever this creature attacks, untap all lands you control." - Ability attachedAbility = new AttacksTriggeredAbility(new UntapAllLandsControllerEffect(), false); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(attachedAbility, AttachmentType.AURA))); - + Ability ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2)); + ability.addEffect(new GainAbilityAttachedEffect(new AttacksTriggeredAbility( + new UntapAllLandsControllerEffect(), false + ), AttachmentType.AURA).setText("and has \"Whenever this creature attacks, untap all lands you control.\"")); + // Totem armor this.addAbility(new TotemArmorAbility()); } diff --git a/Mage.Sets/src/mage/cards/c/CyberdriveAwakener.java b/Mage.Sets/src/mage/cards/c/CyberdriveAwakener.java index a2296452cbb..a1cfa8d872e 100644 --- a/Mage.Sets/src/mage/cards/c/CyberdriveAwakener.java +++ b/Mage.Sets/src/mage/cards/c/CyberdriveAwakener.java @@ -41,7 +41,7 @@ public final class CyberdriveAwakener extends CardImpl { // Other artifact creatures you control have flying. this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect( FlyingAbility.getInstance(), Duration.WhileOnBattlefield, - StaticFilters.FILTER_PERMANENTS_ARTIFACT_CREATURE + StaticFilters.FILTER_PERMANENTS_ARTIFACT_CREATURE, true ))); // When Cyberdrive Awakener enters the battlefield, until end of turn, each noncreature artifact you control becomes an artifact creature with base power and toughness 4/4. diff --git a/Mage.Sets/src/mage/cards/g/GoblinRazerunners.java b/Mage.Sets/src/mage/cards/g/GoblinRazerunners.java index d60674eeb85..fa861bae0ab 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRazerunners.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRazerunners.java @@ -44,7 +44,7 @@ public final class GoblinRazerunners extends CardImpl { this.addAbility(ability); // At the beginning of your end step, you may have Goblin Razerunners deal damage equal to the number of +1/+1 counters on it to target player. - ability = new BeginningOfYourEndStepTriggeredAbility(new DamageTargetEffect(new CountersSourceCount(CounterType.P1P1)), true); + ability = new BeginningOfYourEndStepTriggeredAbility(new DamageTargetEffect(new CountersSourceCount(CounterType.P1P1)).setText("you may have {this} deal damage equal to the number of +1/+1 counters on it to target player or planeswalker"), true); ability.addTarget(new TargetPlayerOrPlaneswalker()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/i/ImposterMech.java b/Mage.Sets/src/mage/cards/i/ImposterMech.java index ccf9234b973..f48be1ad829 100644 --- a/Mage.Sets/src/mage/cards/i/ImposterMech.java +++ b/Mage.Sets/src/mage/cards/i/ImposterMech.java @@ -40,10 +40,11 @@ public final class ImposterMech extends CardImpl { this.toughness = new MageInt(1); // You may have Imposter Mech enter the battlefield as a copy of a creature an opponent controls, except its a Vehicle artifact with crew 3 and it loses all other card types. - this.addAbility(new EntersBattlefieldAbility(new CopyPermanentEffect( - StaticFilters.FILTER_OPPONENTS_PERMANENT_A_CREATURE, applier - ).setText("You may have {this} enter the battlefield as a copy of a creature an opponent controls, " + - "except its a Vehicle artifact with crew 3 and it loses all other card types."))); + this.addAbility(new EntersBattlefieldAbility( + new CopyPermanentEffect(StaticFilters.FILTER_OPPONENTS_PERMANENT_A_CREATURE, applier), + null, "You may have {this} enter the battlefield as a copy of a creature " + + "an opponent controls, except its a Vehicle artifact with crew 3 and it loses all other card types.", null + )); // Crew 3 this.addAbility(new CrewAbility(3)); diff --git a/Mage.Sets/src/mage/cards/k/KatsumasaTheAnimator.java b/Mage.Sets/src/mage/cards/k/KatsumasaTheAnimator.java index df4f6e83499..a4609e36b3a 100644 --- a/Mage.Sets/src/mage/cards/k/KatsumasaTheAnimator.java +++ b/Mage.Sets/src/mage/cards/k/KatsumasaTheAnimator.java @@ -59,7 +59,9 @@ public final class KatsumasaTheAnimator extends CardImpl { // At the beginning of your upkeep, put a +1/+1 counter on each of up to three target noncreature artifacts. ability = new BeginningOfUpkeepTriggeredAbility( - new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false + new AddCountersTargetEffect(CounterType.P1P1.createInstance()) + .setText("put a +1/+1 counter on each of up to three target noncreature artifacts"), + TargetController.YOU, false ); ability.addTarget(new TargetPermanent(0, 3, filter2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MageSlayer.java b/Mage.Sets/src/mage/cards/m/MageSlayer.java index 61b083e1595..9f416778e54 100644 --- a/Mage.Sets/src/mage/cards/m/MageSlayer.java +++ b/Mage.Sets/src/mage/cards/m/MageSlayer.java @@ -47,7 +47,7 @@ class MageSlayerEffect extends OneShotEffect { public MageSlayerEffect() { super(Outcome.Damage); - staticText = "it deals damage equal to the player or planeswalker it's attacking"; + staticText = "it deals damage equal to its power to the player or planeswalker it's attacking"; } public MageSlayerEffect(final MageSlayerEffect effect) { diff --git a/Mage.Sets/src/mage/cards/o/OneWithTheKami.java b/Mage.Sets/src/mage/cards/o/OneWithTheKami.java index b4da7cc1629..b8b699132e9 100644 --- a/Mage.Sets/src/mage/cards/o/OneWithTheKami.java +++ b/Mage.Sets/src/mage/cards/o/OneWithTheKami.java @@ -30,7 +30,7 @@ import java.util.UUID; public final class OneWithTheKami extends CardImpl { private static final FilterPermanent filter - = new FilterControlledCreaturePermanent("{this} or another modified creature you control"); + = new FilterControlledCreaturePermanent("enchanted creature or another modified creature you control"); static { filter.add(ModifiedPredicate.instance); diff --git a/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java b/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java index 963bb2ccd04..4666bc3d435 100644 --- a/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java +++ b/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java @@ -43,7 +43,7 @@ public final class RishkarPeemaRenegade extends CardImpl { // When Rishkar, Peema Renegade enters the battlefield, put a +1/+1 counter on each of up to two target creatures. Effect effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); - effect.setText("Put a +1/+1 counter on each of up to two target creatures"); + effect.setText("put a +1/+1 counter on each of up to two target creatures"); Ability ability = new EntersBattlefieldTriggeredAbility(effect, false); ability.addTarget(new TargetCreaturePermanent(0, 2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/r/RuthlessTechnomancer.java b/Mage.Sets/src/mage/cards/r/RuthlessTechnomancer.java index 957365f1689..e825319f923 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessTechnomancer.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessTechnomancer.java @@ -52,8 +52,8 @@ public final class RuthlessTechnomancer extends CardImpl { // {2}{B}, Sacrifice X artifacts: Return target creature card with power X or less from your graveyard to the battlefield. X can't be 0. Ability ability = new SimpleActivatedAbility( new ReturnFromGraveyardToBattlefieldTargetEffect() - .setText("return target creature card with power X " + - "or less from your graveyard to the battlefield"), + .setText("return target creature card with power X or less " + + "from your graveyard to the battlefield. X can't be 0"), new ManaCostsImpl<>("{2}{B}") ); ability.addCost(new SacrificeXTargetCost(filter, false, 1)); @@ -90,7 +90,7 @@ class RuthlessTechnomancerEffect extends OneShotEffect { RuthlessTechnomancerEffect() { super(Outcome.Benefit); staticText = "you may sacrifice another creature you control. If you do, " + - "create a number of Treasure tokens equal to that creature's power. X can't be 0"; + "create a number of Treasure tokens equal to that creature's power"; } private RuthlessTechnomancerEffect(final RuthlessTechnomancerEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/Silkguard.java b/Mage.Sets/src/mage/cards/s/Silkguard.java index 5f95a98af5a..c22d3a855b7 100644 --- a/Mage.Sets/src/mage/cards/s/Silkguard.java +++ b/Mage.Sets/src/mage/cards/s/Silkguard.java @@ -26,7 +26,7 @@ import java.util.UUID; public final class Silkguard extends CardImpl { private static final FilterPermanent filter - = new FilterControlledPermanent("Auras, Equipment, and modified creatures you control"); + = new FilterControlledPermanent("Auras, Equipment, and modified creatures"); static { filter.add(Predicates.or( @@ -50,7 +50,7 @@ public final class Silkguard extends CardImpl { // Auras, Equipment, and modified creatures you control gain hexproof until end of turn. this.getSpellAbility().addEffect(new GainAbilityControlledEffect( HexproofAbility.getInstance(), Duration.EndOfTurn, filter - )); + ).concatBy("
")); } private Silkguard(final Silkguard card) { diff --git a/Mage.Sets/src/mage/cards/t/ThopterSpyNetwork.java b/Mage.Sets/src/mage/cards/t/ThopterSpyNetwork.java index 7f3f104d419..feb59d0f8e1 100644 --- a/Mage.Sets/src/mage/cards/t/ThopterSpyNetwork.java +++ b/Mage.Sets/src/mage/cards/t/ThopterSpyNetwork.java @@ -76,7 +76,7 @@ class ThopterSpyNetworkUpkeepTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "At the beginning of your upkeep, if you control an artifact, create a 1/1 colorless Thopter artifact creature token with flying"; + return "At the beginning of your upkeep, if you control an artifact, create a 1/1 colorless Thopter artifact creature token with flying."; } } @@ -123,6 +123,6 @@ class ThopterSpyNetworkDamageTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever one or more artifact creatures you control deal combat damage to a player, draw a card"; + return "Whenever one or more artifact creatures you control deal combat damage to a player, draw a card."; } } diff --git a/Mage.Sets/src/mage/cards/w/WhiptongueHydra.java b/Mage.Sets/src/mage/cards/w/WhiptongueHydra.java index a37a3aaecef..f42b3b81156 100644 --- a/Mage.Sets/src/mage/cards/w/WhiptongueHydra.java +++ b/Mage.Sets/src/mage/cards/w/WhiptongueHydra.java @@ -60,7 +60,7 @@ class WhiptongueHydraEffect extends OneShotEffect { public WhiptongueHydraEffect() { super(Outcome.DestroyPermanent); this.staticText = "destroy all creatures with flying. " - + "Put a +1/+1 counter on {this} for each permanent destroyed this way"; + + "Put a +1/+1 counter on {this} for each creature destroyed this way"; } public WhiptongueHydraEffect(final WhiptongueHydraEffect effect) { diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java index 512b0cdab8c..d54062e0ada 100644 --- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java +++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java @@ -59,7 +59,7 @@ public class VerifyCardDataTest { private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class); - private static final String FULL_ABILITIES_CHECK_SET_CODE = "NEO"; // check all abilities and output cards with wrong abilities texts; + private static final String FULL_ABILITIES_CHECK_SET_CODE = "NEC"; // 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 diff --git a/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java b/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java index 913a6fbbe19..ad4f98a5730 100644 --- a/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java @@ -61,7 +61,7 @@ public class CrewAbility extends SimpleActivatedAbility { @Override public String getRule() { - return "Crew " + value + " (Tap any number of creatures you control with total power " + return "crew " + value + " (Tap any number of creatures you control with total power " + value + " or more: This Vehicle becomes an artifact creature until end of turn.)"; } }