[WHO] various text fixes

This commit is contained in:
theelk801 2025-05-12 14:42:47 -04:00
parent 242dee70f7
commit a52f1fd579
17 changed files with 72 additions and 76 deletions

View file

@ -47,7 +47,7 @@ public final class AutonSoldier extends CardImpl {
Zone.ALL,
new EntersBattlefieldEffect(new CopyPermanentEffect(
StaticFilters.FILTER_PERMANENT_CREATURE, applier
).setText("You may have {this} enter the battlefield as a copy of any creature on the battlefield, " +
).setText("You may have {this} enter as a copy of any creature on the battlefield, " +
"except it isn't legendary, is an artifact in addition to its other types, and has myriad"), "", true))
);
}

View file

@ -1,48 +1,38 @@
package mage.cards.b;
import mage.MageInt;
import mage.MageItem;
import mage.abilities.Ability;
import mage.abilities.Abilities;
import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.common.ActivateAbilityTriggeredAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.CopyStackObjectEffect;
import mage.abilities.meta.OrTriggeredAbility;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.abilities.keyword.DoctorsCompanionAbility;
import mage.abilities.meta.OrTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.filter.common.FilterInstantOrSorcerySpell;
import mage.constants.*;
import mage.filter.FilterSpell;
import mage.filter.FilterStackObject;
import mage.filter.common.FilterInstantOrSorcerySpell;
import mage.filter.predicate.ObjectSourcePlayer;
import mage.filter.predicate.ObjectSourcePlayerPredicate;
import mage.game.Game;
import mage.game.stack.StackObject;
import mage.game.stack.Spell;
import mage.game.stack.StackObject;
import mage.target.Target;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.UUID;
/**
*
* @author padfoot
*/
public final class BillPotts extends CardImpl {
private static final FilterSpell filterInstantOrSorcery = new FilterInstantOrSorcerySpell("an instant or sorcery that targets only {this}");
private static final FilterSpell filterInstantOrSorcery = new FilterInstantOrSorcerySpell("an instant or sorcery spell that targets only {this}");
private static final FilterStackObject filterAbility = new FilterStackObject("an ability that targets only {this}");
static {

View file

@ -34,13 +34,21 @@ public final class Blink extends CardImpl {
// I, III -- Choose target creature. Its owner shuffles it into their library, then investigates.
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_II,
this, SagaChapter.CHAPTER_I,
new BlinkEffect(), new TargetCreaturePermanent()
);
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_III,
new BlinkEffect(), new TargetCreaturePermanent()
);
// II, IV -- Create a 2/2 black Alien Angel artifact creature token with first strike, vigilance, and "Whenever an opponent casts a creature spell, this permanent isn't a creature until end of turn."
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_III, SagaChapter.CHAPTER_IV,
this, SagaChapter.CHAPTER_II,
new CreateTokenEffect(new AlienAngelToken())
);
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_IV,
new CreateTokenEffect(new AlienAngelToken())
);
this.addAbility(sagaAbility);

View file

@ -91,7 +91,7 @@ enum GenesisOfTheDaleksValue implements DynamicValue {
@Override
public String getMessage() {
return "for each lore counter on {this}";
return "lore counter on {this}";
}
@Override

View file

@ -138,7 +138,7 @@ class MeTheImmortalCastEffect extends AsThoughEffectImpl {
MeTheImmortalCastEffect() {
super(AsThoughEffectType.CAST_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit);
this.staticText = "you may cast {this} from your graveyard " +
this.staticText = "you may cast this card from your graveyard " +
"by discarding two cards in addition to paying its other costs";
}

View file

@ -91,7 +91,7 @@ class MidnightCrusaderShuttleEffect extends OneShotEffect {
class MidnightCrusaderShuttleFirstChoice extends VillainousChoice {
MidnightCrusaderShuttleFirstChoice() {
super("That player sacrifices a creature", "Sacrifice a creature");
super("That player sacrifices a creature of their choice", "Sacrifice a creature");
}
@Override

View file

@ -25,7 +25,7 @@ import java.util.UUID;
*/
public final class RomanaII extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("token that entered the battlefield this turn");
private static final FilterPermanent filter = new FilterPermanent("token that entered this turn");
static {
filter.add(TokenPredicate.TRUE);

View file

@ -70,7 +70,7 @@ public final class TheDalekEmperor extends CardImpl {
class TheDalekEmperorFirstChoice extends VillainousChoice {
TheDalekEmperorFirstChoice() {
super("That player sacrifices a creature they control", "You sacrifice a creature");
super("That player sacrifices a creature of their choice", "You sacrifice a creature");
}
@Override

View file

@ -45,7 +45,7 @@ public final class TheEleventhDoctor extends CardImpl {
this.toughness = new MageInt(2);
// I. AM. TALKING! -- Whenever The Eleventh Doctor deals combat damage to a player, you may exile a card from your hand with a number of time counters on it equal to its mana value. If it doesn't have suspend, it gains suspend.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new TheEleventhDoctorEffect()).setTriggerPhrase("I. AM. TALKING!"));
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new TheEleventhDoctorEffect()).withFlavorWord("I. AM. TALKING!"));
// {2}: Target creature with power 3 or less can't be blocked this turn.
Ability ability = new SimpleActivatedAbility(new CantBeBlockedTargetEffect(Duration.EndOfTurn), new GenericManaCost(2));

View file

@ -28,7 +28,7 @@ import java.util.UUID;
public final class TheFifthDoctor extends CardImpl {
private static final FilterPermanent filter = new FilterControlledCreaturePermanent(
"creature you control that didn't attack or enter the battlefield this turn"
"creature you control that didn't attack or enter this turn"
);
static {

View file

@ -33,7 +33,7 @@ import java.util.UUID;
*/
public final class TheMasterMesmerist extends CardImpl {
private static final FilterPermanent filter = new FilterOpponentsCreaturePermanent("power less than or equal to {this}'s power");
private static final FilterPermanent filter = new FilterOpponentsCreaturePermanent("creature an opponent controls with power less than or equal to {this}'s power");
private static final FilterPermanent filter2 = new FilterCreaturePermanent();
static {

View file

@ -55,7 +55,7 @@ public final class TheWarGames extends CardImpl {
// II, III -- Put a +1/+1 counter on each Warrior creature.
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_II,
this, SagaChapter.CHAPTER_II, SagaChapter.CHAPTER_III,
new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter)
);

View file

@ -25,7 +25,7 @@ public final class TraverseEternity extends CardImpl {
// Draw cards equal to the highest mana value among historic permanents you control.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(TraverseEternityValue.instance)
.setText("draw cards equal to the highest mana value among historic permanents you control"));
.setText("draw cards equal to the greatest mana value among historic permanents you control"));
this.getSpellAbility().addHint(TraverseEternityValue.getHint());
}
@ -41,7 +41,7 @@ public final class TraverseEternity extends CardImpl {
enum TraverseEternityValue implements DynamicValue {
instance;
private static final Hint hint = new ValueHint("Highest mana value among your historic permanents", instance);
private static final Hint hint = new ValueHint("Greatest mana value among your historic permanents", instance);
public static Hint getHint() {
return hint;

View file

@ -1,28 +1,24 @@
package mage.cards.w;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.PutCards;
import mage.constants.*;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.common.FilterNonlandCard;
import mage.filter.predicate.mageobject.ManaValuePredicate;
import mage.filter.predicate.mageobject.PermanentPredicate;
import java.util.UUID;
/**
*
* @author padfoot
*/
public final class WilfredMott extends CardImpl {
@ -45,12 +41,14 @@ public final class WilfredMott extends CardImpl {
this.toughness = new MageInt(4);
// Look to the Stars -- At the beginning of your upkeep, put a time counter on Wilfred Mott. Then look at the top X cards of your library, where X is the number of time counters on Wilfred Mott. You may put a nonland permanent card with mana value 3 or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance())).withFlavorWord("Look to the Stars");
LookLibraryAndPickControllerEffect effect = new LookLibraryAndPickControllerEffect(xValue, 1, filter, PutCards.BATTLEFIELD, PutCards.BOTTOM_RANDOM);
effect.setText("Then look at the top X cards of your library, where X is the number of time counters on Wilfred Mott. " +
Ability ability = new BeginningOfUpkeepTriggeredAbility(
new AddCountersSourceEffect(CounterType.TIME.createInstance())
).withFlavorWord("Look to the Stars");
ability.addEffect(new LookLibraryAndPickControllerEffect(
xValue, 1, filter, PutCards.BATTLEFIELD, PutCards.BOTTOM_RANDOM
).setText("Then look at the top X cards of your library, where X is the number of time counters on {this}. " +
"You may put a nonland permanent card with mana value 3 or less from among them onto the battlefield. " +
" Put the rest on the bottom of your library in a random order.");
ability.addEffect(effect);
"Put the rest on the bottom of your library in a random order."));
this.addAbility(ability);
}

View file

@ -70,7 +70,7 @@ public class VerifyCardDataTest {
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
private static final String FULL_ABILITIES_CHECK_SET_CODES = "DFT"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
private static final String FULL_ABILITIES_CHECK_SET_CODES = "WHO"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
private static final boolean CHECK_ONLY_ABILITIES_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
private static final boolean CHECK_COPYABLE_FIELDS = true; // disable for better verify test performance

View file

@ -29,7 +29,7 @@ public class CounterRemovedFromSourceWhileExiledTriggeredAbility extends Trigger
this.onlyController = onlyController;
setTriggerPhrase("Whenever " + (
onlyController ? ("you remove a " + counterType.getName() + " counter") : ("a " + counterType.getName() + " counter is removed")
) + " from {this} while it's exiled, ");
) + " from this card while it's exiled, ");
}
private CounterRemovedFromSourceWhileExiledTriggeredAbility(final CounterRemovedFromSourceWhileExiledTriggeredAbility ability) {

View file

@ -14,7 +14,7 @@ import mage.constants.Duration;
public final class TheGirlInTheFireplaceHumanNobleToken extends TokenImpl {
public TheGirlInTheFireplaceHumanNobleToken() {
super("Human Noble Token", "1/1 white Human Noble creature token with vanishing 3 and \"Prevent all damage that would be dealt to this creature.\"");
super("Human Noble Token", "1/1 white Human Noble creature token with vanishing 3 and \"Prevent all damage that would be dealt to this token.\"");
cardType.add(CardType.CREATURE);
color.setWhite(true);
subtype.add(SubType.HUMAN,SubType.NOBLE);
@ -25,7 +25,7 @@ public final class TheGirlInTheFireplaceHumanNobleToken extends TokenImpl {
new PreventDamageToSourceEffect(
Duration.WhileOnBattlefield,
Integer.MAX_VALUE
).setText("Prevent all damage that would be dealt to this creature.")
).setText("Prevent all damage that would be dealt to this token.")
));
}