some more text fixes

This commit is contained in:
theelk801 2025-06-14 11:38:00 -04:00
parent 96cc1e40ee
commit d43e96eaf2
18 changed files with 37 additions and 29 deletions

View file

@ -41,12 +41,10 @@ public final class AcererakTheArchlich extends CardImpl {
this.toughness = new MageInt(5);
// When Acererak the Archlich enters the battlefield, if you have not completed Tomb of Annihilation, return Acererak the Archlich to its owner's hand and venture into the dungeon.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandSourceEffect(true).setText("return it to its owner's hand"))
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandSourceEffect(true))
.withInterveningIf(AcererakTheArchlichCondition.instance);
ability.addEffect(new VentureIntoTheDungeonEffect().concatBy("and"));
ability.addHint(CurrentDungeonHint.instance);
ability.addHint(CompletedDungeonCondition.getHint());
this.addAbility(ability, new CompletedDungeonWatcher());
this.addAbility(ability.addHint(CurrentDungeonHint.instance).addHint(CompletedDungeonCondition.getHint()), new CompletedDungeonWatcher());
// Whenever Acererak the Archlich attacks, for each opponent, you create a 2/2 black Zombie creature token unless that player sacrifices a creature.
this.addAbility(new AttacksTriggeredAbility(new AcererakTheArchlichEffect()));

View file

@ -31,7 +31,7 @@ public final class AdaptiveTrainingPost extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(
new AddCountersSourceEffect(CounterType.CHARGE.createInstance()),
StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false
).withInterveningIf(condition));
).withInterveningIf(condition).withRuleTextReplacement(true));
// Remove three charge counters from this artifact: When you next cast an instant or sorcery spell this turn, copy it and you may choose new targets for the copy.
this.addAbility(new SimpleActivatedAbility(

View file

@ -1,12 +1,12 @@
package mage.cards.a;
import mage.MageInt;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
@ -15,18 +15,14 @@ import mage.filter.common.FilterControlledPermanent;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public final class AkutaBornOfAsh extends CardImpl {
private static final FilterControlledPermanent filterSwamp = new FilterControlledPermanent("a Swamp");
static {
filterSwamp.add(SubType.SWAMP.getPredicate());
}
private static final FilterControlledPermanent filterSwamp = new FilterControlledPermanent(SubType.SWAMP, "a Swamp");
public AkutaBornOfAsh(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.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.SPIRIT);
@ -37,9 +33,14 @@ public final class AkutaBornOfAsh extends CardImpl {
this.addAbility(HasteAbility.getInstance());
// At the beginning of your upkeep, if you have more cards in hand than each opponent, you may sacrifice a Swamp. If you do, return Akuta, Born of Ash from your graveyard to the battlefield.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToBattlefieldEffect(), new SacrificeTargetCost(filterSwamp)),
false).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance));
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
Zone.GRAVEYARD, TargetController.YOU,
new DoIfCostPaid(
new ReturnSourceFromGraveyardToBattlefieldEffect()
.setText("return {this} from your graveyard to the battlefield"),
new SacrificeTargetCost(filterSwamp)
), false
).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance));
}
private AkutaBornOfAsh(final AkutaBornOfAsh card) {

View file

@ -61,7 +61,7 @@ enum BorealOutriderCondition implements Condition {
@Override
public String toString() {
return "{S} of any of that spell's color was spent to cast it";
return "{S} of any of that spell's colors was spent to cast it";
}
}

View file

@ -104,7 +104,7 @@ class CurseOfTheCabalTriggeredAbilityConditionalDelay extends AddCountersSourceE
public CurseOfTheCabalTriggeredAbilityConditionalDelay() {
super(CounterType.TIME.createInstance(), StaticValue.get(2), false, true);
staticText = "that player may sacrifice a permanent. If the player does, put two time counters on {this}";
staticText = "that player may sacrifice a permanent of their choice. If the player does, put two time counters on this card";
}
@Override

View file

@ -113,7 +113,7 @@ class DarigaazReincarnatedReturnEffect extends OneShotEffect {
DarigaazReincarnatedReturnEffect() {
super(Outcome.Benefit);
this.staticText = "remove an egg counter from it. Then if {this} has no egg counters on it, return it to the battlefield";
this.staticText = "remove an egg counter from it. Then if this card has no egg counters on it, return it to the battlefield";
}
private DarigaazReincarnatedReturnEffect(final DarigaazReincarnatedReturnEffect effect) {

View file

@ -79,6 +79,11 @@ enum EowynShieldmaidenCondition implements Condition {
source.getSourcePermanentOrLKI(game),
source.getControllerId());
}
@Override
public String toString() {
return "another Human entered the battlefield under your control this turn";
}
}
class EowynShieldmaidenWatcher extends Watcher {

View file

@ -33,7 +33,7 @@ public final class NetherSpirit extends CardImpl {
// At the beginning of your upkeep, if Nether Spirit is the only creature card in your graveyard, you may return Nether Spirit to the battlefield.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
TargetController.YOU, new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return {this} to the battlefield"),
TargetController.YOU, new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return this card to the battlefield"),
true).withInterveningIf(NetherSpiritCondition.instance));
}

View file

@ -45,7 +45,7 @@ public final class OchreJelly extends CardImpl {
this.addAbility(new DiesSourceTriggeredAbility(new CreateDelayedTriggeredAbilityEffect(
new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new OchreJellyEffect())
).setText("create a token that's a copy of it at the beginning of the next end step. " +
"That token enters the battlefield with half that many +1/+1 counters on it, rounded down"))
"The token enters with half that many +1/+1 counters on it, rounded down"))
.withInterveningIf(OchreJellyCondition.instance).withFlavorWord("Split"));
}

View file

@ -43,7 +43,9 @@ public final class RoseCutthroatRaider extends CardImpl {
// Raid -- At end of combat on your turn, if you attacked this turn, create a Junk token for each opponent you attacked.
this.addAbility(new EndOfCombatTriggeredAbility(
new CreateTokenEffect(new JunkToken(), AttackedThisTurnOpponentsCount.instance), TargetController.YOU, false
new CreateTokenEffect(new JunkToken(), AttackedThisTurnOpponentsCount.instance)
.setText("create a Junk token for each opponent you attacked"),
TargetController.YOU, false
).withInterveningIf(RaidCondition.instance).setAbilityWord(AbilityWord.RAID).addHint(AttackedThisTurnOpponentsCount.getHint()), new PlayersAttackedThisTurnWatcher());
// Whenever you sacrifice a Junk, add {R}.

View file

@ -50,7 +50,7 @@ public final class StarseerMentor extends CardImpl {
new DiscardCardCost()
),
"Sacrifice a nonland permanent or discard a card to prevent losing 3 life?"
)
).setText("target opponent loses 3 life unless they sacrifice a nonland permanent of their choice or discard a card")
).withInterveningIf(YouGainedOrLostLifeCondition.instance);
ability.addTarget(new TargetOpponent());
this.addAbility(ability.addHint(YouGainedOrLostLifeCondition.getHint()), new PlayerGainedLifeWatcher());

View file

@ -51,7 +51,7 @@ public final class TwistsAndTurns extends CardImpl {
this.addAbility(new TransformAbility());
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
new TransformSourceEffect(), StaticFilters.FILTER_LAND
).withInterveningIf(condition));
).withInterveningIf(condition).setTriggerPhrase("When a land you control enters, "));
}
private TwistsAndTurns(final TwistsAndTurns card) {

View file

@ -50,7 +50,7 @@ public final class VesselOfTheAllConsuming extends CardImpl {
// Whenever Vessel of the All-Consuming deals damage to a player, if it has dealt 10 or more damage to that player this turn, they lose the game.
this.addAbility(new DealsDamageToAPlayerTriggeredAbility(
new LoseGameTargetPlayerEffect(), false, true
new LoseGameTargetPlayerEffect().setText("they lose the game"), false, true
).withInterveningIf(VesselOfTheAllConsumingCondition.instance));
}

View file

@ -40,7 +40,7 @@ public final class WallOfResistance extends CardImpl {
this.addAbility(new BeginningOfEndStepTriggeredAbility(
TargetController.ANY, new AddCountersSourceEffect(CounterType.P0P1.createInstance()),
false, WallOfResistanceCondition.instance
));
).withRuleTextReplacement(true));
}
private WallOfResistance(final WallOfResistance card) {

View file

@ -12,6 +12,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.target.targetpointer.FixedTarget;
import mage.util.CardUtil;
/**
* @author North
@ -52,12 +53,13 @@ public class DiesCreatureTriggeredAbility extends TriggeredAbilityImpl {
public DiesCreatureTriggeredAbility(Zone zone, Effect effect, boolean optional, FilterPermanent filter, boolean setTargetPointer) {
this(zone, effect, optional, filter, (setTargetPointer ? SetTargetPointer.PERMANENT : SetTargetPointer.NONE));
}
public DiesCreatureTriggeredAbility(Zone zone, Effect effect, boolean optional, FilterPermanent filter, SetTargetPointer setTargetPointer) {
super(zone, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
setLeavesTheBattlefieldTrigger(true);
setTriggerPhrase("Whenever " + filter.getMessage() + (filter.getMessage().startsWith("one or more") ? " die, " : " dies, "));
setTriggerPhrase("Whenever " + CardUtil.addArticle(filter.getMessage()) + (filter.getMessage().startsWith("one or more") ? " die, " : " dies, "));
}
protected DiesCreatureTriggeredAbility(final DiesCreatureTriggeredAbility ability) {

View file

@ -16,7 +16,7 @@ public class EntersBattlefieldAttachToTarget extends EntersBattlefieldTriggeredA
}
public EntersBattlefieldAttachToTarget(FilterPermanent filter) {
super(new AttachEffect(Outcome.BoostCreature, "attach it to target " + filter.getMessage()));
super(new AttachEffect(Outcome.BoostCreature, "attach {this} to target " + filter.getMessage()));
this.addTarget(new TargetPermanent(filter));
}

View file

@ -29,7 +29,7 @@ public class CreateTokenCopySourceEffect extends OneShotEffect {
this.number = copies;
this.tapped = tapped;
staticText = "create " + CardUtil.numberToText(copies, "a") + " " + (tapped ? "tapped " : "")
+ (copies > 1 ? "tokens that are" : "token that's") + " a copy of {this}";
+ (copies > 1 ? "tokens that are copies of " : "token that's a copy of ") + "{this}";
}
protected CreateTokenCopySourceEffect(final CreateTokenCopySourceEffect effect) {

View file

@ -34,7 +34,7 @@ public class GainAbilityControllerEffect extends ContinuousEffectImpl {
public GainAbilityControllerEffect(Ability ability, Duration duration) {
super(duration, Layer.PlayerEffects, SubLayer.NA, Outcome.AddAbility);
this.ability = ability;
staticText = "you " + (duration == Duration.WhileOnBattlefield ? "have" : "gain") + ability.getRule();
staticText = "you " + (duration == Duration.WhileOnBattlefield ? "have" : "gain") + ' ' + ability.getRule();
if (!duration.toString().isEmpty()) {
staticText += ' ' + duration.toString();
}