text fixes

This commit is contained in:
xenohedron 2024-02-09 22:41:17 -05:00
parent 2c78f6fd27
commit 16a8efa7ea
29 changed files with 46 additions and 43 deletions

View file

@ -38,7 +38,7 @@ public final class AkkiBattleSquad extends CardImpl {
Ability ability = new AttacksCreatureYouControlTriggeredAbility(
new UntapAllEffect(filter), false, filter
).setTriggerPhrase("Whenever one or more modified creatures you control attack, ").setTriggersOnceEachTurn(true);
ability.addEffect(new AdditionalCombatPhaseEffect());
ability.addEffect(new AdditionalCombatPhaseEffect().setText("After this combat phase, there is an additional combat phase"));
this.addAbility(ability);
}

View file

@ -115,6 +115,8 @@ class CallToArmsStateTriggeredAbility extends StateTriggeredAbility {
public CallToArmsStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new SacrificeSourceEffect());
setTriggerPhrase("When the chosen color isn't the most common color among nontoken permanents " +
"the chosen player controls or is tied for most common, ");
}
private CallToArmsStateTriggeredAbility(final CallToArmsStateTriggeredAbility ability) {
@ -141,11 +143,4 @@ class CallToArmsStateTriggeredAbility extends StateTriggeredAbility {
return false;
}
@Override
public String getRule() {
return "When the chosen color isn't the most common color "
+ "among nontoken permanents the chosen player controls "
+ "or is tied for most common, sacrifice {this}";
}
}

View file

@ -37,7 +37,7 @@ public final class ConquerorsGalleon extends CardImpl {
new ExileAndReturnSourceEffect(
PutCards.BATTLEFIELD_TRANSFORMED, Pronoun.IT, true
)
)), false, "When {this} attacks, exile it at the end of combat, " +
)), false, "When {this} attacks, exile it at end of combat, " +
"then return it to the battlefield transformed under your control."
));

View file

@ -24,7 +24,8 @@ public final class Heal extends CardImpl {
// Prevent the next 1 damage that would be dealt to any target this turn.
// Draw a card at the beginning of the next turn's upkeep.
this.getSpellAbility().addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1));
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(
new DrawCardSourceControllerEffect(1)), false).concatBy("<br>"));
this.getSpellAbility().addTarget(new TargetAnyTarget());
}

View file

@ -70,6 +70,7 @@ class ImmolationShamanTriggeredAbility extends TriggeredAbilityImpl {
ImmolationShamanTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(1), true, "that player", true));
setTriggerPhrase("Whenever an opponent activates an ability of an artifact, creature, or land that isn't a mana ability, ");
}
private ImmolationShamanTriggeredAbility(final ImmolationShamanTriggeredAbility ability) {
@ -103,9 +104,4 @@ class ImmolationShamanTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
@Override
public String getRule() {
return "Whenever an opponent activates an ability of an artifact, creature, or land on the battlefield, " +
"if it isn't a mana ability, {this} deals 1 damage to that player.";
}
}

View file

@ -36,7 +36,7 @@ public final class ImperialHellkite extends CardImpl {
// When Imperial Hellkite is turned face up, you may search your library for a Dragon card, reveal it, and put it into your hand. If you do, shuffle your library.
Effect effect = new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, new FilterBySubtypeCard(SubType.DRAGON)), true);
effect.setText("you may search your library for a Dragon card, reveal it, and put it into your hand. If you do, shuffle");
effect.setText("you may search your library for a Dragon card, reveal it, put it into your hand, then shuffle");
this.addAbility(new TurnedFaceUpSourceTriggeredAbility(effect));
}

View file

@ -43,7 +43,7 @@ public final class ImposterMech extends CardImpl {
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
"an opponent controls, except it's a Vehicle artifact with crew 3 and it loses all other card types.", null
));
// Crew 3

View file

@ -36,7 +36,8 @@ public final class Infuse extends CardImpl {
this.getSpellAbility().addTarget(new TargetPermanent(filter));
// Draw a card at the beginning of the next turn's upkeep.
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(
new DrawCardSourceControllerEffect(1)), false).concatBy("<br>"));
}
private Infuse(final Infuse card) {

View file

@ -37,7 +37,7 @@ public final class IvoryGargoyle extends CardImpl {
Ability ability = new DiesSourceTriggeredAbility(new CreateDelayedTriggeredAbilityEffect(
new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ReturnSourceFromGraveyardToBattlefieldEffect(false, true)
.setText("return it to the battlefield under its owner's control at the beginning of the next end step")
).setTriggerPhrase("")));
).setTriggerPhrase("")).setText("return it to the battlefield under its owner's control at the beginning of the next end step"));
ability.addEffect(new SkipNextDrawStepControllerEffect().concatBy("and"));
this.addAbility(ability);

View file

@ -44,7 +44,7 @@ public final class KravTheUnredeemed extends CardImpl {
// {B}, Sacrifice X creatures: Target player draws X cards and gains X life. Put X +1/+1 counters on Krav, the Unredeemed.
Ability ability = new SimpleActivatedAbility(new KravTheUnredeemedEffect(), new ManaCostsImpl<>("{B}"));
ability.addTarget(new TargetPlayer());
ability.addCost(new SacrificeXTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE));
ability.addCost(new SacrificeXTargetCost(StaticFilters.FILTER_PERMANENT_CREATURES));
this.addAbility(ability);
}

View file

@ -28,7 +28,7 @@ public final class LightningBlow extends CardImpl {
// Draw a card at the beginning of the next turn's upkeep.
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(
new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1), Duration.OneUse), false));
new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1), Duration.OneUse), false).concatBy("<br>"));
}
private LightningBlow(final LightningBlow card) {

View file

@ -36,7 +36,7 @@ public final class MandateOfPeace extends CardImpl {
this.getSpellAbility().addEffect(new MandateOfPeaceOpponentsCantCastSpellsEffect());
// End the combat phase.
this.getSpellAbility().addEffect(new MandateOfPeaceEndCombatEffect());
this.getSpellAbility().addEffect(new MandateOfPeaceEndCombatEffect().concatBy("<br>"));
}
private MandateOfPeace(final MandateOfPeace card) {

View file

@ -39,7 +39,7 @@ public final class MinotaurIllusionist extends CardImpl {
Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}")));
// {R}, Sacrifice Minotaur Illusionist: Minotaur Illusionist deals damage equal to its power to target creature.
Effect effect = new DamageTargetEffect(new SourcePermanentPowerCount());
effect.setText("{this} deals damage equal to its power to target creature.");
effect.setText("it deals damage equal to its power to target creature.");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{R}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent());

View file

@ -45,11 +45,11 @@ public final class NeurokTransmuter extends CardImpl {
this.addAbility(becomeArtifactAbility);
// {U}: Until end of turn, target artifact creature becomes blue and isn't an artifact.
Effect blueEffect = new BecomesColorTargetEffect(ObjectColor.BLUE, Duration.EndOfTurn);
blueEffect.setText("Until end of turn, target artifact creature becomes blue and ");
blueEffect.setText("Until end of turn, target artifact creature becomes blue");
Ability becomeBlueAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, blueEffect, new ManaCostsImpl<>("{U}"));
becomeBlueAbility.addTarget(new TargetCreaturePermanent(filter));
Effect loseArtifactEffect = new LoseArtifactTypeTargetEffect(Duration.EndOfTurn);
loseArtifactEffect.setText("isn't an artifact");
loseArtifactEffect.setText("and isn't an artifact");
becomeBlueAbility.addEffect(loseArtifactEffect);
this.addAbility(becomeBlueAbility);
}

View file

@ -17,7 +17,7 @@ import java.util.UUID;
*/
public final class OpenTheGates extends CardImpl {
private static final FilterCard filter = new FilterCard("a basic land card or a Gate card");
private static final FilterCard filter = new FilterCard("a basic land card or Gate card");
static {
filter.add(Predicates.or(

View file

@ -1,4 +1,3 @@
package mage.cards.p;
import mage.abilities.Ability;
@ -15,7 +14,7 @@ import mage.constants.Outcome;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.common.FilterInstantOrSorcerySpell;
import mage.filter.StaticFilters;
import mage.filter.predicate.Predicates;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -46,7 +45,7 @@ public final class PrimalAmulet extends CardImpl {
// Whenever you cast an instant or sorcery spell, put a charge counter on Primal Amulet. Then if there are four or more charge counters on it, you may remove those counters and transform it.
this.addAbility(new TransformAbility());
this.addAbility(new SpellCastControllerTriggeredAbility(new PrimalAmuletEffect(), new FilterInstantOrSorcerySpell(), false));
this.addAbility(new SpellCastControllerTriggeredAbility(new PrimalAmuletEffect(), StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false));
}
private PrimalAmulet(final PrimalAmulet card) {

View file

@ -68,7 +68,7 @@ class PrimordialMistCost extends CostImpl {
public PrimordialMistCost(TargetPermanent target) {
this.target = target;
this.text = "Exile a face-down permanent you control face-up";
this.text = "Exile a face-down permanent you control face up";
}
private PrimordialMistCost(final PrimordialMistCost cost) {
@ -121,7 +121,7 @@ class PrimordialMistCastFromExileEffect extends AsThoughEffectImpl {
PrimordialMistCastFromExileEffect() {
super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit);
staticText = "Exile a face-down permanent you control face up: You may play that card this turn.";
staticText = "You may play that card this turn.";
}
private PrimordialMistCastFromExileEffect(final PrimordialMistCastFromExileEffect effect) {

View file

@ -44,7 +44,8 @@ public final class RighteousAuthority extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(boost, boost, Duration.WhileOnBattlefield)));
// At the beginning of the draw step of enchanted creature's controller, that player draws an additional card.
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1), TargetController.CONTROLLER_ATTACHED_TO, false));
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1)
.setText("that player draws an additional card"), TargetController.CONTROLLER_ATTACHED_TO, false));
}
private RighteousAuthority(final RighteousAuthority card) {

View file

@ -51,7 +51,7 @@ class RingOfMarufEffect extends ReplacementEffectImpl {
RingOfMarufEffect() {
super(Duration.EndOfTurn, Outcome.Benefit);
staticText = "The next time you would draw a card this turn, instead choose a card you own from outside the game and put it into your hand.";
staticText = "The next time you would draw a card this turn, instead put a card you own from outside the game into your hand";
}
private RingOfMarufEffect(final RingOfMarufEffect effect) {

View file

@ -33,7 +33,7 @@ public final class TheTabernacleAtPendrellVale extends CardImpl {
new InfoEffect(""), new DestroySourceEffect(), new GenericManaCost(1)
).setText("destroy this creature unless you pay {1}"),
TargetController.YOU, false
), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)
), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES)
));
}

View file

@ -58,7 +58,7 @@ public final class ThingInTheIce extends CardImpl {
effect.setText("remove an ice counter from {this}");
Ability ability = new SpellCastControllerTriggeredAbility(effect, filter, false);
effect = new ConditionalOneShotEffect(new TransformSourceEffect(), new SourceHasCounterCondition(CounterType.ICE, 0, 0),
"if there are no ice counters on it, transform it");
"Then if it has no ice counters on it, transform it");
ability.addEffect(effect);
this.addAbility(ability);

View file

@ -35,7 +35,7 @@ public final class UrzasBauble extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookAtRandomCardEffect(), new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPlayer());
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1, "you")), false));
this.addAbility(ability);
}

View file

@ -42,7 +42,7 @@ public final class Venom extends CardImpl {
// Whenever enchanted creature blocks or becomes blocked by a non-Wall creature, destroy the other creature at end of combat.
Effect effect = new CreateDelayedTriggeredAbilityEffect(
new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect()), true);
effect.setText("destroy that creature at end of combat");
effect.setText("destroy the other creature at end of combat");
this.addAbility(new VenomTriggeredAbility(effect));
}

View file

@ -63,7 +63,7 @@ class VileRedeemerEffect extends OneShotEffect {
VileRedeemerEffect() {
super(Outcome.PutCreatureInPlay);
this.staticText = "create a 1/1 colorless Eldrazi Scion creature token for each nontoken creature that died under your control this turn. They have \"Sacrifice this creature: Add {C}";
this.staticText = "create a 1/1 colorless Eldrazi Scion creature token for each nontoken creature that died under your control this turn. Those tokens have \"Sacrifice this creature: Add {C}.\"";
}
private VileRedeemerEffect(final VileRedeemerEffect effect) {

View file

@ -1,4 +1,3 @@
package mage.cards.w;
import java.util.UUID;
@ -29,7 +28,7 @@ import mage.target.TargetPermanent;
*/
public final class WillowPriestess extends CardImpl {
private static final FilterPermanentCard filter = new FilterPermanentCard("Faerie");
private static final FilterPermanentCard filter = new FilterPermanentCard("a Faerie permanent card");
private static final FilterCreaturePermanent greenCreature = new FilterCreaturePermanent("green creature");
static {

View file

@ -26,7 +26,7 @@ import mage.target.common.TargetCardInYourGraveyard;
*/
public final class XiahouDunTheOneEyed extends CardImpl {
private static final FilterCard filter = new FilterCard("a black card");
private static final FilterCard filter = new FilterCard("black card");
static {
filter.add(new ColorPredicate(ObjectColor.BLACK));

View file

@ -1,6 +1,7 @@
package mage.abilities.effects.common;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.effects.RedirectionEffect;
import mage.constants.Duration;
import mage.game.Game;
@ -14,7 +15,6 @@ public class RedirectDamageFromSourceToTargetEffect extends RedirectionEffect {
public RedirectDamageFromSourceToTargetEffect(Duration duration, int amountToRedirect, UsageType usageType) {
super(duration, amountToRedirect, usageType);
staticText = "The next " + amountToRedirect + " damage that would be dealt to {this} this turn is dealt to target creature you control instead.";
}
protected RedirectDamageFromSourceToTargetEffect(final RedirectDamageFromSourceToTargetEffect effect) {
@ -39,4 +39,14 @@ public class RedirectDamageFromSourceToTargetEffect extends RedirectionEffect {
}
return false;
}
@Override
public String getText(Mode mode) {
if (staticText != null && !staticText.isEmpty()) {
return staticText;
}
return "the next " + amountToRedirect + " damage that would be dealt to {this} this turn is dealt to "
+ getTargetPointer().describeTargets(mode.getTargets(), "that creature")
+ " instead";
}
}

View file

@ -12,7 +12,7 @@ import mage.constants.Zone;
public final class EldraziSliverToken extends TokenImpl {
public EldraziSliverToken() {
super("Eldrazi Sliver Token", "1/1 colorless Eldrazi Sliver creature token with \"Sacrifice this creature: Add {C}.\"");
super("Eldrazi Sliver Token", "1/1 colorless Eldrazi Sliver creature token. It has \"Sacrifice this creature: Add {C}.\"");
cardType.add(CardType.CREATURE);
subtype.add(SubType.ELDRAZI);
subtype.add(SubType.SLIVER);

View file

@ -986,6 +986,7 @@ public final class CardUtil {
|| text.startsWith("an ")
|| text.startsWith("another ")
|| text.startsWith("any ")
|| text.startsWith("{this} ")
|| text.startsWith("one ")) {
return text;
}