From 56ba6b10727943ffa6a140117505382a573390c8 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Thu, 14 Mar 2024 23:13:56 -0400 Subject: [PATCH] fix some text --- Mage.Sets/src/mage/cards/a/AssemblyHall.java | 4 ++-- Mage.Sets/src/mage/cards/b/BloodHound.java | 5 +++-- Mage.Sets/src/mage/cards/b/BrutalCathar.java | 3 ++- Mage.Sets/src/mage/cards/c/ChandraGremlinWrangler.java | 8 ++++---- Mage.Sets/src/mage/cards/c/CharnelSerenade.java | 2 +- Mage.Sets/src/mage/cards/g/GangrenousGoliath.java | 4 ++-- Mage.Sets/src/mage/cards/h/HickoryWoodlot.java | 8 ++++++-- Mage.Sets/src/mage/cards/k/KnowledgeVault.java | 3 +-- Mage.Sets/src/mage/cards/o/Overtaker.java | 8 ++++---- Mage.Sets/src/mage/cards/p/PeatBog.java | 8 ++++++-- Mage.Sets/src/mage/cards/r/RemoteFarm.java | 8 ++++++-- Mage.Sets/src/mage/cards/r/RuneflareTrap.java | 4 ++-- Mage.Sets/src/mage/cards/s/SandstoneNeedle.java | 8 ++++++-- Mage.Sets/src/mage/cards/s/SaprazzanSkerry.java | 8 ++++++-- Mage.Sets/src/mage/cards/s/SnowHound.java | 5 ++--- Mage.Sets/src/mage/cards/t/TrawlerDrake.java | 3 ++- .../java/mage/target/common/TargetCreatureOrPlayer.java | 8 -------- 17 files changed, 55 insertions(+), 42 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AssemblyHall.java b/Mage.Sets/src/mage/cards/a/AssemblyHall.java index 55d37ab8d5b..8cdd37df5b8 100644 --- a/Mage.Sets/src/mage/cards/a/AssemblyHall.java +++ b/Mage.Sets/src/mage/cards/a/AssemblyHall.java @@ -53,9 +53,9 @@ class AssemblyHallEffect extends OneShotEffect { AssemblyHallEffect() { super(Outcome.Benefit); - this.staticText = "reveal a creature card from your hand. " + this.staticText = "reveal a creature card in your hand. " + "Search your library for a card with the same name as that card, " - + "reveal it, and put it into your hand. Then shuffle"; + + "reveal it, put it into your hand, then shuffle"; } private AssemblyHallEffect(final AssemblyHallEffect effect) { diff --git a/Mage.Sets/src/mage/cards/b/BloodHound.java b/Mage.Sets/src/mage/cards/b/BloodHound.java index f7fb93c540e..c7cfffaea0a 100644 --- a/Mage.Sets/src/mage/cards/b/BloodHound.java +++ b/Mage.Sets/src/mage/cards/b/BloodHound.java @@ -1,4 +1,3 @@ - package mage.cards.b; import mage.MageInt; @@ -35,7 +34,9 @@ public final class BloodHound extends CardImpl { // At the beginning of your end step, remove all +1/+1 counters from Blood Hound. this.addAbility(new BeginningOfEndStepTriggeredAbility( - new RemoveAllCountersSourceEffect(CounterType.P1P1), TargetController.YOU, false + new RemoveAllCountersSourceEffect(CounterType.P1P1) + .setText("remove all +1/+1 counters from {this}"), + TargetController.YOU, false )); } diff --git a/Mage.Sets/src/mage/cards/b/BrutalCathar.java b/Mage.Sets/src/mage/cards/b/BrutalCathar.java index 12eb86f0834..a52ad602d22 100644 --- a/Mage.Sets/src/mage/cards/b/BrutalCathar.java +++ b/Mage.Sets/src/mage/cards/b/BrutalCathar.java @@ -30,7 +30,8 @@ public final class BrutalCathar extends CardImpl { // When this creature enters the battlefield or transforms into Brutal Cathar, exile target creature an opponent controls until this creature leaves the battlefield. Ability ability = new TransformsOrEntersTriggeredAbility( - new ExileUntilSourceLeavesEffect(), false + new ExileUntilSourceLeavesEffect() + .setText("exile target creature an opponent controls until this creature leaves the battlefield"), false ).setTriggerPhrase("When this creature enters the battlefield or transforms into {this}, "); ability.addTarget(new TargetOpponentsCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/ChandraGremlinWrangler.java b/Mage.Sets/src/mage/cards/c/ChandraGremlinWrangler.java index 6a9dd59690a..bacc5be6347 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraGremlinWrangler.java +++ b/Mage.Sets/src/mage/cards/c/ChandraGremlinWrangler.java @@ -14,7 +14,7 @@ import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.GremlinToken; -import mage.target.common.TargetAnyTarget; +import mage.target.common.TargetCreatureOrPlayer; import java.util.UUID; @@ -41,9 +41,9 @@ public final class ChandraGremlinWrangler extends CardImpl { // +1: Create a 2/2 red Gremlin creature token. this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new GremlinToken()), 1)); - // -2: Chandra, Gremlin Wrangler deals X damage to any target, where X is the number of Gremlins you control. - Ability ability = new LoyaltyAbility(new DamageTargetEffect(xValue).setText("{this} deals X damage to any target, where X is the number of Gremlins you control."), -2); - ability.addTarget(new TargetAnyTarget()); + // -2: Chandra, Gremlin Wrangler deals X damage to target creature or player, where X is the number of Gremlins you control. + Ability ability = new LoyaltyAbility(new DamageTargetEffect(xValue).setText("{this} deals X damage to target creature or player, where X is the number of Gremlins you control."), -2); + ability.addTarget(new TargetCreatureOrPlayer()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CharnelSerenade.java b/Mage.Sets/src/mage/cards/c/CharnelSerenade.java index 5cb862a72ff..999b003cc2c 100644 --- a/Mage.Sets/src/mage/cards/c/CharnelSerenade.java +++ b/Mage.Sets/src/mage/cards/c/CharnelSerenade.java @@ -31,7 +31,7 @@ public final class CharnelSerenade extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{B}{B}"); // Surveil 3, then return a creature card from your graveyard to the battlefield with a finality counter on it. Exile Charnel Serenade with three time counters on it. - this.getSpellAbility().addEffect(new SurveilEffect(3)); + this.getSpellAbility().addEffect(new SurveilEffect(3, false)); this.getSpellAbility().addEffect(new CharnelSerenadeEffect()); this.getSpellAbility().addEffect(new ExileSpellWithTimeCountersEffect(3)); diff --git a/Mage.Sets/src/mage/cards/g/GangrenousGoliath.java b/Mage.Sets/src/mage/cards/g/GangrenousGoliath.java index 7313417579a..e5a885a2f3c 100644 --- a/Mage.Sets/src/mage/cards/g/GangrenousGoliath.java +++ b/Mage.Sets/src/mage/cards/g/GangrenousGoliath.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapTargetCost; -import mage.abilities.effects.common.ReturnToHandSourceEffect; +import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; @@ -31,7 +31,7 @@ public final class GangrenousGoliath extends CardImpl { // Tap three untapped Clerics you control: Return Gangrenous Goliath from your graveyard to your hand. this.addAbility(new SimpleActivatedAbility( Zone.GRAVEYARD, - new ReturnToHandSourceEffect(), + new ReturnSourceFromGraveyardToHandEffect(), new TapTargetCost(new TargetControlledPermanent(3, 3, filter, true)))); } diff --git a/Mage.Sets/src/mage/cards/h/HickoryWoodlot.java b/Mage.Sets/src/mage/cards/h/HickoryWoodlot.java index ecc70d82c05..56bb98e3b48 100644 --- a/Mage.Sets/src/mage/cards/h/HickoryWoodlot.java +++ b/Mage.Sets/src/mage/cards/h/HickoryWoodlot.java @@ -11,6 +11,7 @@ import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.TapSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; @@ -29,8 +30,11 @@ public final class HickoryWoodlot extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Hickory Woodlot enters the battlefield tapped with two depletion counters on it. - this.addAbility(new EntersBattlefieldTappedAbility()); - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2)))); + Ability etbAbility = new EntersBattlefieldAbility( + new TapSourceEffect(true), "tapped with two depletion counters on it" + ); + etbAbility.addEffect(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2))); + this.addAbility(etbAbility); // {tap}, Remove a depletion counter from Hickory Woodlot: Add {G}{G}. If there are no depletion counters on Hickory Woodlot, sacrifice it. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.DEPLETION.createInstance(1))); diff --git a/Mage.Sets/src/mage/cards/k/KnowledgeVault.java b/Mage.Sets/src/mage/cards/k/KnowledgeVault.java index 95665972de9..e24f0d58ed8 100644 --- a/Mage.Sets/src/mage/cards/k/KnowledgeVault.java +++ b/Mage.Sets/src/mage/cards/k/KnowledgeVault.java @@ -1,4 +1,3 @@ - package mage.cards.k; import java.util.UUID; @@ -60,7 +59,7 @@ class KnowledgeVaultReturnEffect extends OneShotEffect { KnowledgeVaultReturnEffect() { super(Outcome.DrawCard); - this.staticText = "Sacrifice {this}. If you do, discard your hand, then put all cards exiled with {this} into their owners' hands"; + this.staticText = "Sacrifice {this}. If you do, discard your hand, then put all cards exiled with {this} into their owner's hand"; } private KnowledgeVaultReturnEffect(final KnowledgeVaultReturnEffect effect) { diff --git a/Mage.Sets/src/mage/cards/o/Overtaker.java b/Mage.Sets/src/mage/cards/o/Overtaker.java index 0a470a8140e..c710da37192 100644 --- a/Mage.Sets/src/mage/cards/o/Overtaker.java +++ b/Mage.Sets/src/mage/cards/o/Overtaker.java @@ -38,10 +38,10 @@ public final class Overtaker extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl<>("{3}{U}")); ability.addCost(new TapSourceCost()); ability.addCost(new DiscardCardCost()); - Effect effect = new GainControlTargetEffect(Duration.EndOfTurn); - ability.addEffect(effect); - effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn); - ability.addEffect(effect); + ability.addEffect(new GainControlTargetEffect(Duration.EndOfTurn) + .setText("and gain control of it until end of turn")); + ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn) + .setText("that creature gains haste until end of turn")); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PeatBog.java b/Mage.Sets/src/mage/cards/p/PeatBog.java index 1b9d54e3d63..efcfde01a27 100644 --- a/Mage.Sets/src/mage/cards/p/PeatBog.java +++ b/Mage.Sets/src/mage/cards/p/PeatBog.java @@ -11,6 +11,7 @@ import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.TapSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; @@ -29,8 +30,11 @@ public final class PeatBog extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Peat Bog enters the battlefield tapped with two depletion counters on it. - this.addAbility(new EntersBattlefieldTappedAbility()); - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2)))); + Ability etbAbility = new EntersBattlefieldAbility( + new TapSourceEffect(true), "tapped with two depletion counters on it" + ); + etbAbility.addEffect(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2))); + this.addAbility(etbAbility); // {T}, Remove a depletion counter from Peat Bog: Add {B}{B}. If there are no depletion counters on Peat Bog, sacrifice it. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.DEPLETION.createInstance(1))); diff --git a/Mage.Sets/src/mage/cards/r/RemoteFarm.java b/Mage.Sets/src/mage/cards/r/RemoteFarm.java index 0337bf248db..83584b66def 100644 --- a/Mage.Sets/src/mage/cards/r/RemoteFarm.java +++ b/Mage.Sets/src/mage/cards/r/RemoteFarm.java @@ -11,6 +11,7 @@ import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.TapSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; @@ -29,8 +30,11 @@ public final class RemoteFarm extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Remote Farm enters the battlefield tapped with two depletion counters on it. - this.addAbility(new EntersBattlefieldTappedAbility()); - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2)))); + Ability etbAbility = new EntersBattlefieldAbility( + new TapSourceEffect(true), "tapped with two depletion counters on it" + ); + etbAbility.addEffect(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2))); + this.addAbility(etbAbility); // {tap}, Remove a depletion counter from Remote Farm: Add {W}{W}. If there are no depletion counters on Remote Farm, sacrifice it. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.DEPLETION.createInstance(1))); diff --git a/Mage.Sets/src/mage/cards/r/RuneflareTrap.java b/Mage.Sets/src/mage/cards/r/RuneflareTrap.java index 58924058dff..99fc5c5dbdf 100644 --- a/Mage.Sets/src/mage/cards/r/RuneflareTrap.java +++ b/Mage.Sets/src/mage/cards/r/RuneflareTrap.java @@ -1,4 +1,3 @@ - package mage.cards.r; import mage.abilities.Ability; @@ -33,7 +32,8 @@ public final class RuneflareTrap extends CardImpl { this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl<>("{R}"), RuneflareTrapCondition.instance), new CardsAmountDrawnThisTurnWatcher()); // Runeflare Trap deals damage to target player equal to the number of cards in that player's hand. - this.getSpellAbility().addEffect(new DamageTargetEffect(new TargetPlayerCardsInHandCount())); + this.getSpellAbility().addEffect(new DamageTargetEffect(new TargetPlayerCardsInHandCount()) + .setText("{this} deals damage to target player equal to the number of cards in that player's hand")); this.getSpellAbility().addTarget(new TargetPlayer()); } diff --git a/Mage.Sets/src/mage/cards/s/SandstoneNeedle.java b/Mage.Sets/src/mage/cards/s/SandstoneNeedle.java index db59c59fc89..f4c019a1bd8 100644 --- a/Mage.Sets/src/mage/cards/s/SandstoneNeedle.java +++ b/Mage.Sets/src/mage/cards/s/SandstoneNeedle.java @@ -11,6 +11,7 @@ import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.TapSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; @@ -29,8 +30,11 @@ public final class SandstoneNeedle extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Sandstone Needle enters the battlefield tapped with two depletion counters on it. - this.addAbility(new EntersBattlefieldTappedAbility()); - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2)))); + Ability etbAbility = new EntersBattlefieldAbility( + new TapSourceEffect(true), "tapped with two depletion counters on it" + ); + etbAbility.addEffect(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2))); + this.addAbility(etbAbility); // {tap}, Remove a depletion counter from Sandstone Needle: Add {R}{R}. If there are no depletion counters on Sandstone Needle, sacrifice it. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.DEPLETION.createInstance(1))); diff --git a/Mage.Sets/src/mage/cards/s/SaprazzanSkerry.java b/Mage.Sets/src/mage/cards/s/SaprazzanSkerry.java index fa60c60d6ca..ba09afc094f 100644 --- a/Mage.Sets/src/mage/cards/s/SaprazzanSkerry.java +++ b/Mage.Sets/src/mage/cards/s/SaprazzanSkerry.java @@ -11,6 +11,7 @@ import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.TapSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; @@ -29,8 +30,11 @@ public final class SaprazzanSkerry extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Saprazzan Skerry enters the battlefield tapped with two depletion counters on it. - this.addAbility(new EntersBattlefieldTappedAbility()); - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2)))); + Ability etbAbility = new EntersBattlefieldAbility( + new TapSourceEffect(true), "tapped with two depletion counters on it" + ); + etbAbility.addEffect(new AddCountersSourceEffect(CounterType.DEPLETION.createInstance(2))); + this.addAbility(etbAbility); // {tap}, Remove a depletion counter from Saprazzan Skerry: Add {U}{U}. If there are no depletion counters on Saprazzan Skerry, sacrifice it. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.DEPLETION.createInstance(1))); diff --git a/Mage.Sets/src/mage/cards/s/SnowHound.java b/Mage.Sets/src/mage/cards/s/SnowHound.java index 236c3a0f563..ba72ef47f7d 100644 --- a/Mage.Sets/src/mage/cards/s/SnowHound.java +++ b/Mage.Sets/src/mage/cards/s/SnowHound.java @@ -1,4 +1,3 @@ - package mage.cards.s; import java.util.UUID; @@ -41,11 +40,11 @@ public final class SnowHound extends CardImpl { // {1}, {tap}: Return Snow Hound and target green or blue creature you control to their owner's hand. Effect effect = new ReturnToHandSourceEffect(true); - effect.setText("Return Snow Hound"); + effect.setText("Return {this}"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}")); ability.addCost(new TapSourceCost()); effect = new ReturnToHandTargetEffect(); - effect.setText("and target green or blue creature you control to their owners' hands"); + effect.setText("and target green or blue creature you control to their owner's hand"); ability.addTarget(new TargetControlledCreaturePermanent(filter)); ability.addEffect(effect); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/TrawlerDrake.java b/Mage.Sets/src/mage/cards/t/TrawlerDrake.java index 5a292648eb2..c343e7f7774 100644 --- a/Mage.Sets/src/mage/cards/t/TrawlerDrake.java +++ b/Mage.Sets/src/mage/cards/t/TrawlerDrake.java @@ -44,7 +44,8 @@ public final class TrawlerDrake extends CardImpl { )); // Trawler Drake gets +1/+1 for each oil counter on it. - this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(xValue, xValue, Duration.WhileOnBattlefield))); + this.addAbility(new SimpleStaticAbility(new BoostSourceEffect(xValue, xValue, Duration.WhileOnBattlefield) + .setText("{this} gets +1/+1 for each oil counter on it"))); // Whenever you cast a noncreature spell, put an oil counter on Trawler Drake. this.addAbility(new SpellCastControllerTriggeredAbility( diff --git a/Mage/src/main/java/mage/target/common/TargetCreatureOrPlayer.java b/Mage/src/main/java/mage/target/common/TargetCreatureOrPlayer.java index f977286b797..874ee9aa7cb 100644 --- a/Mage/src/main/java/mage/target/common/TargetCreatureOrPlayer.java +++ b/Mage/src/main/java/mage/target/common/TargetCreatureOrPlayer.java @@ -26,18 +26,10 @@ public class TargetCreatureOrPlayer extends TargetImpl { this(1, 1, new FilterCreatureOrPlayer()); } - public TargetCreatureOrPlayer(int numTargets) { - this(numTargets, numTargets, new FilterCreatureOrPlayer()); - } - public TargetCreatureOrPlayer(FilterCreatureOrPlayer filter) { this(1, 1, filter); } - public TargetCreatureOrPlayer(int numTargets, int maxNumTargets) { - this(numTargets, maxNumTargets, new FilterCreatureOrPlayer()); - } - public TargetCreatureOrPlayer(int minNumTargets, int maxNumTargets, FilterCreatureOrPlayer filter) { this.minNumberOfTargets = minNumTargets; this.maxNumberOfTargets = maxNumTargets;