From 35bb7d513b9eea25b6ca329f884afe70cfce7c87 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Sun, 7 May 2023 13:30:55 -0400 Subject: [PATCH] Another batch of text fixes (#10317) * Fix text: Blind Hunter * Fix text: cards with bloodrush ability * Fix text: populate ability * Fix Goblin Pyromancer to boost all * Fix text: Wellwisher; Kamahl, Fist of Krosa; Snapping Thragg * Fix text: "you may prevent" * Fix text: Elvish Guidance, Elvish Pathcutter * Fix text: [search library for cards named] --- Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java | 2 +- Mage.Sets/src/mage/cards/b/BlindHunter.java | 2 +- Mage.Sets/src/mage/cards/e/ElvishGuidance.java | 4 ++-- Mage.Sets/src/mage/cards/e/ElvishPathcutter.java | 2 +- Mage.Sets/src/mage/cards/e/EmbermageGoblin.java | 2 +- Mage.Sets/src/mage/cards/g/GhorClanRampager.java | 6 ++++-- Mage.Sets/src/mage/cards/g/GoblinPyromancer.java | 4 ++-- Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java | 4 ++-- Mage.Sets/src/mage/cards/r/Rubblehulk.java | 3 ++- Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java | 2 +- Mage.Sets/src/mage/cards/s/SkarrgGoliath.java | 6 ++++-- Mage.Sets/src/mage/cards/s/SnappingThragg.java | 2 +- Mage.Sets/src/mage/cards/v/ViashinoShanktail.java | 6 ++++-- Mage.Sets/src/mage/cards/w/WastelandViper.java | 6 ++++-- Mage.Sets/src/mage/cards/w/Wellwisher.java | 3 ++- Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java | 1 + .../java/mage/abilities/effects/common/PopulateEffect.java | 3 ++- 17 files changed, 35 insertions(+), 23 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java b/Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java index 9f97adf0fa..27880770ad 100644 --- a/Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java +++ b/Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java @@ -41,7 +41,7 @@ public final class ArchaeomancersMap extends CardImpl { // When Archaeomancer's Map enters the battlefield, search your library for up to two basic Plains cards, reveal them, put them into your hand, then shuffle. this.addAbility(new EntersBattlefieldTriggeredAbility( - new SearchLibraryPutInHandEffect(new TargetCardInLibrary(2, filter), true) + new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, filter), true) )); // Whenever a land enters the battlefield under an opponent's control, if that player controls more lands than you, you may put a land card from your hand onto the battlefield. diff --git a/Mage.Sets/src/mage/cards/b/BlindHunter.java b/Mage.Sets/src/mage/cards/b/BlindHunter.java index dc9ecd245a..a4df0d34f8 100644 --- a/Mage.Sets/src/mage/cards/b/BlindHunter.java +++ b/Mage.Sets/src/mage/cards/b/BlindHunter.java @@ -33,7 +33,7 @@ public final class BlindHunter extends CardImpl { // When Blind Hunter enters the battlefield or the creature it haunts dies, target player loses 2 life and you gain 2 life. Ability ability = new HauntAbility(this, new LoseLifeTargetEffect(2)); ability.addTarget(new TargetPlayer()); - ability.addEffect(new GainLifeEffect(2)); + ability.addEffect(new GainLifeEffect(2).concatBy("and")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/ElvishGuidance.java b/Mage.Sets/src/mage/cards/e/ElvishGuidance.java index cd928ba705..7003769023 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishGuidance.java +++ b/Mage.Sets/src/mage/cards/e/ElvishGuidance.java @@ -24,7 +24,7 @@ import java.util.UUID; */ public final class ElvishGuidance extends CardImpl { - private static final FilterPermanent filter = new FilterPermanent(SubType.ELF, ""); + private static final FilterPermanent filter = new FilterPermanent(SubType.ELF, "Elf on the battlefield"); private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter); public ElvishGuidance(UUID ownerId, CardSetInfo setInfo) { @@ -41,7 +41,7 @@ public final class ElvishGuidance extends CardImpl { // Whenever enchanted land is tapped for mana, its controller adds {G} for each Elf on the battlefield. this.addAbility(new EnchantedTappedTriggeredManaAbility(new DynamicManaEffect( Mana.GreenMana(1), xValue - ).setText("its controller adds {G} for each Elf on the battlefield"))); + ))); } private ElvishGuidance(final ElvishGuidance card) { diff --git a/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java b/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java index c0633aa906..e9c9227169 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java +++ b/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java @@ -37,7 +37,7 @@ public final class ElvishPathcutter extends CardImpl { this.toughness = new MageInt(2); // {2}{G}: Target Elf creature gains forestwalk until end of turn. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new ForestwalkAbility(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new ForestwalkAbility(false), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}")); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java b/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java index c5d016bf2e..034eb05e37 100644 --- a/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java +++ b/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java @@ -40,7 +40,7 @@ public final class EmbermageGoblin extends CardImpl { this.toughness = new MageInt(1); // When Embermage Goblin enters the battlefield, you may search your library for a card named Embermage Goblin, reveal it, and put it into your hand. If you do, shuffle your library. - TargetCardInLibrary target = new TargetCardInLibrary(0, 1, filter); + TargetCardInLibrary target = new TargetCardInLibrary(1, 1, filter); this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(target, true, true), true)); // {tap}: Embermage Goblin deals 1 damage to any target. diff --git a/Mage.Sets/src/mage/cards/g/GhorClanRampager.java b/Mage.Sets/src/mage/cards/g/GhorClanRampager.java index 66e0ce0855..af3c0caf56 100644 --- a/Mage.Sets/src/mage/cards/g/GhorClanRampager.java +++ b/Mage.Sets/src/mage/cards/g/GhorClanRampager.java @@ -30,8 +30,10 @@ public final class GhorClanRampager extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // Bloodrush - {R}{G}, Discard Ghor-Clan Rampager: Target attacking creature gets +4/+4 and gains trample until end of turn. - Ability ability = new BloodrushAbility("{R}{G}",new BoostTargetEffect(4,4, Duration.EndOfTurn)); - ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)); + Ability ability = new BloodrushAbility("{R}{G}",new BoostTargetEffect(4,4, Duration.EndOfTurn) + .setText("target attacking creature gets +4/+4")); + ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn) + .setText("and gains trample until end of turn")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java b/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java index 901f49c955..eb1050c609 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.DestroyAllEffect; -import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -37,7 +37,7 @@ public final class GoblinPyromancer extends CardImpl { this.toughness = new MageInt(2); // When Goblin Pyromancer enters the battlefield, Goblin creatures get +3/+0 until end of turn. - this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostControlledEffect(3, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostAllEffect(3, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, false))); // At the beginning of the end step, destroy all Goblins. this.addAbility(new BeginningOfEndStepTriggeredAbility(new DestroyAllEffect(filterPermanent, false), TargetController.ANY, false)); diff --git a/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java b/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java index 015ee53359..6bdd9bc2fa 100644 --- a/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java +++ b/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java @@ -45,9 +45,9 @@ public final class KamahlFistOfKrosa extends CardImpl { // {2}{G}{G}{G}: Creatures you control get +3/+3 and gain trample until end of turn. SimpleActivatedAbility boostAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new BoostControlledEffect(3, 3, Duration.EndOfTurn), + new BoostControlledEffect(3, 3, Duration.EndOfTurn).setText("Creatures you control get +3/+3"), new ManaCostsImpl<>("{2}{G}{G}{G}")); - boostAbility.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES)); + boostAbility.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES).setText("and gain trample until end of turn")); this.addAbility(boostAbility); } diff --git a/Mage.Sets/src/mage/cards/r/Rubblehulk.java b/Mage.Sets/src/mage/cards/r/Rubblehulk.java index e260c6521c..59e268c772 100644 --- a/Mage.Sets/src/mage/cards/r/Rubblehulk.java +++ b/Mage.Sets/src/mage/cards/r/Rubblehulk.java @@ -36,7 +36,8 @@ public final class Rubblehulk extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(controlledLands))); // Bloodrush - 1{R}{G}, Discard Rubblehulk: Target attacking creature gets +X/+X until end of turn, where X is the number of lands you control. - this.addAbility(new BloodrushAbility("{1}{R}{G}", new BoostTargetEffect(controlledLands, controlledLands, Duration.EndOfTurn))); + this.addAbility(new BloodrushAbility("{1}{R}{G}", new BoostTargetEffect(controlledLands, controlledLands, Duration.EndOfTurn) + .setText("target attacking creature gets +X/+X until end of turn, where X is the number of lands you control"))); } private Rubblehulk(final Rubblehulk card) { diff --git a/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java b/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java index 59dd211268..17aee7dd85 100644 --- a/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java +++ b/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java @@ -37,7 +37,7 @@ public final class ScreamingSeahawk extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // When Screaming Seahawk enters the battlefield, you may search your library for a card named Screaming Seahawk, reveal it, and put it into your hand. If you do, shuffle your library. - TargetCardInLibrary target = new TargetCardInLibrary(0, 1, filter); + TargetCardInLibrary target = new TargetCardInLibrary(1, 1, filter); this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(target, true, true), true)); } diff --git a/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java b/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java index 528028375e..7a47b14bf6 100644 --- a/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java +++ b/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java @@ -32,8 +32,10 @@ public final class SkarrgGoliath extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // Bloodrush - {5}{G}{G}, Discard Skarrg Goliath: Target attacking creature gets +9/+9 and gains trample until end of turn. - Ability ability = new BloodrushAbility("{5}{G}{G}", new BoostTargetEffect(9,9, Duration.EndOfTurn)); - ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)); + Ability ability = new BloodrushAbility("{5}{G}{G}", new BoostTargetEffect(9,9, Duration.EndOfTurn) + .setText("target attacking creature gets +9/+9")); + ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn) + .setText("and gains trample until end of turn")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SnappingThragg.java b/Mage.Sets/src/mage/cards/s/SnappingThragg.java index c793aa68aa..ebd441c2b2 100644 --- a/Mage.Sets/src/mage/cards/s/SnappingThragg.java +++ b/Mage.Sets/src/mage/cards/s/SnappingThragg.java @@ -86,6 +86,6 @@ class SnappingThraggTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever {this} deals combat damage to a player, you may have it deal 3 damage to target creature that player controls"; + return "Whenever {this} deals combat damage to a player, you may have it deal 3 damage to target creature that player controls."; } } diff --git a/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java b/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java index 5c22181ffc..ff77e3573b 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java @@ -32,8 +32,10 @@ public final class ViashinoShanktail extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // Bloodrush - 2{R}, Discard Viashino Shanktail: Target attacking creature gets +3/+1 and gains first strike until end of turn. - Ability ability = new BloodrushAbility("{2}{R}", new BoostTargetEffect(3,1, Duration.EndOfTurn)); - ability.addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn)); + Ability ability = new BloodrushAbility("{2}{R}", new BoostTargetEffect(3,1, Duration.EndOfTurn) + .setText("target attacking creature gets +3/+1")); + ability.addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn) + .setText("and gains first strike until end of turn")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/w/WastelandViper.java b/Mage.Sets/src/mage/cards/w/WastelandViper.java index b2d73ff796..6ba7f9d447 100644 --- a/Mage.Sets/src/mage/cards/w/WastelandViper.java +++ b/Mage.Sets/src/mage/cards/w/WastelandViper.java @@ -30,8 +30,10 @@ public final class WastelandViper extends CardImpl { // Deathtouch this.addAbility(DeathtouchAbility.getInstance()); // Bloodrush - {G}, Discard Wasteland Viper: Target attacking creature gets +1/+2 and gains deathtouch until end of turn. - Ability ability = new BloodrushAbility("{G}", new BoostTargetEffect(1, 2, Duration.EndOfTurn)); - ability.addEffect(new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn)); + Ability ability = new BloodrushAbility("{G}", new BoostTargetEffect(1, 2, Duration.EndOfTurn) + .setText("target attacking creature gets +1/+2")); + ability.addEffect(new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn) + .setText("and gains deathtouch until end of turn")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/Wellwisher.java b/Mage.Sets/src/mage/cards/w/Wellwisher.java index acb3804ad8..c70ec7d283 100644 --- a/Mage.Sets/src/mage/cards/w/Wellwisher.java +++ b/Mage.Sets/src/mage/cards/w/Wellwisher.java @@ -34,7 +34,8 @@ public final class Wellwisher extends CardImpl { this.toughness = new MageInt(1); // {tap}: You gain 1 life for each Elf on the battlefield. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(new PermanentsOnBattlefieldCount(filter)), new TapSourceCost())); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(new PermanentsOnBattlefieldCount(filter)) + .setText("you gain 1 life for each Elf on the battlefield"), new TapSourceCost())); } diff --git a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java index 5112f8810e..34527c86c7 100644 --- a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java +++ b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java @@ -210,6 +210,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge || ruleLow.startsWith("exile") || ruleLow.startsWith("gain") || ruleLow.startsWith("goad") + || ruleLow.startsWith("prevent") || ruleLow.startsWith("put") || ruleLow.startsWith("remove") || ruleLow.startsWith("return") diff --git a/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java index d1e7664f8f..aa174fd5f5 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java @@ -46,7 +46,8 @@ public class PopulateEffect extends OneShotEffect { public PopulateEffect(String prefixText) { this(false); - this.staticText = (!prefixText.isEmpty() ? prefixText + " p" : "P") + "opulate (Create a token that's a copy of a creature token you control.)"; + this.staticText = (!prefixText.isEmpty() ? ", " + prefixText + " " : "") + + "populate. (Create a token that's a copy of a creature token you control.)"; } public PopulateEffect(boolean tappedAndAttacking) {