mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
[WHO] various text fixes
This commit is contained in:
parent
242dee70f7
commit
a52f1fd579
17 changed files with 72 additions and 76 deletions
|
|
@ -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))
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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.")
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue