[IKO] various text fixes

This commit is contained in:
Evan Kranzler 2022-03-02 21:18:10 -05:00
parent 2e44b3246c
commit 68cf2a36c3
17 changed files with 30 additions and 37 deletions

View file

@ -44,7 +44,9 @@ public final class AlertHeedbonder extends CardImpl {
// At the beginning of your end step, you gain 1 life for each creature you control with vigilance.
this.addAbility(new BeginningOfEndStepTriggeredAbility(
new GainLifeEffect(xValue), TargetController.YOU, false
new GainLifeEffect(xValue)
.setText("you gain 1 life for each creature you control with vigilance"),
TargetController.YOU, false
));
}

View file

@ -34,7 +34,7 @@ public final class Archipelagore extends CardImpl {
// Whenever this creature mutates, tap up to X target creatures, where X is the number of times this creature has mutated. Those creatures don't untap during their controller's next untap step.
Ability ability = new MutatesSourceTriggeredAbility(new TapTargetEffect(
"up to X target creatures, where X is the number of times this creature has mutated."
"tap up to X target creatures, where X is the number of times this creature has mutated."
));
ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("Those creatures"));
ability.setTargetAdjuster(ArchipelagoreAdjuster.instance);

View file

@ -12,9 +12,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@ -27,12 +25,6 @@ import java.util.UUID;
*/
public final class BushmeatPoacher extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledCreaturePermanent("another creature");
static {
filter.add(AnotherPredicate.instance);
}
public BushmeatPoacher(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
@ -44,7 +36,7 @@ public final class BushmeatPoacher extends CardImpl {
// {1}, {T}, Sacrifice another creature: You gain life equal to that creature's toughness. Draw a card.
Ability ability = new SimpleActivatedAbility(new BushmeatPoacherEffect(), new GenericManaCost(1));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)));
this.addAbility(ability);
}
@ -62,7 +54,7 @@ class BushmeatPoacherEffect extends OneShotEffect {
BushmeatPoacherEffect() {
super(Outcome.Benefit);
staticText = "you gain life equal to that creature's toughness. Draw a card";
staticText = "you gain life equal to the sacrificed creature's toughness. Draw a card";
}
private BushmeatPoacherEffect(final BushmeatPoacherEffect effect) {

View file

@ -25,7 +25,7 @@ public final class ChanneledForce extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}{R}");
// As an additional cost to cast this spell, discard X cards.
this.getSpellAbility().addCost(new DiscardXTargetCost(StaticFilters.FILTER_CARD_CARDS, true));
this.getSpellAbility().addCost(new DiscardXTargetCost(StaticFilters.FILTER_CARD_CARDS));
// Target player draws X cards. Channeled Force deals X damage to up to one target creature or planeswalker.
this.getSpellAbility().addEffect(new ChanneledForceEffect());

View file

@ -38,7 +38,7 @@ public final class EscapeProtocol extends CardImpl {
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(
new ExileTargetForSourceEffect(), false,
"exile target artifact or creature you control, " +
"then return it to the battlefield under its owner's control."
"then return it to the battlefield under its owner's control"
);
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
ability.addTarget(new TargetPermanent(filter));

View file

@ -55,7 +55,7 @@ class ExuberantWolfbearEffect extends OneShotEffect {
ExuberantWolfbearEffect() {
super(Outcome.Benefit);
staticText = "change the base power and toughness of target Human you control " +
staticText = "you may change the base power and toughness of target Human you control " +
"to {this}'s power and toughness until end of turn";
}

View file

@ -27,8 +27,7 @@ public final class FerociousTigorilla extends CardImpl {
// Ferocious Tigorilla enters the battlefield with your choice of a trample counter or a menace counter on it.
this.addAbility(new EntersBattlefieldAbility(
new AddCounterChoiceSourceEffect(CounterType.TRAMPLE, CounterType.MENACE),
"Ferocious Tigorilla enters the battlefield with your choice of " +
"a trample counter or a menace counter on it. " +
"with your choice of a trample counter or a menace counter on it. " +
"<i>(A creature with menace can't be blocked except by two or more creatures.)</i>"
));
}

View file

@ -51,7 +51,7 @@ public final class GustOfWind extends CardImpl {
this.getSpellAbility().addTarget(new TargetPermanent(filter2));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
}
private GustOfWind(final GustOfWind card) {

View file

@ -32,7 +32,7 @@ public final class HuntmasterLiger extends CardImpl {
// Whenever this creature mutates, other creatures you control get +X/+X until end of turn, where X is the number of times this creature has mutated.
this.addAbility(new MutatesSourceTriggeredAbility(new BoostControlledEffect(
SourceMutatedCount.instance, SourceMutatedCount.instance, Duration.EndOfTurn,
StaticFilters.FILTER_PERMANENT_CREATURE, true, true
StaticFilters.FILTER_PERMANENT_CREATURES, true, true
)));
}

View file

@ -80,7 +80,7 @@ enum KaheeraTheOrphanguardCompanionCondition implements CompanionCondition {
@Override
public String getRule() {
return "Each creature card in your starting deck is a Cat, Elemental, Nightmare, Dinosaur or Beast card.";
return "Each creature card in your starting deck is a Cat, Elemental, Nightmare, Dinosaur, or Beast card.";
}
private static final List<SubType> subtypes = Arrays.asList(

View file

@ -31,7 +31,7 @@ public final class KeepSafe extends CardImpl {
this.getSpellAbility().addTarget(new TargetSpell(filter));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
}
private KeepSafe(final KeepSafe card) {

View file

@ -8,7 +8,6 @@ import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.hint.common.RaidHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.HumanSoldierToken;
@ -31,12 +30,10 @@ public final class NightsquadCommando extends CardImpl {
// When Nightsquad Commando enters the battlefield, if you attacked this turn, create a 1/1 white Human Soldier creature token.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new HumanSoldierToken())),
RaidCondition.instance, "When {this} enters the battlefield, " +
"if you attacked this turn, create a 1/1 white Human Soldier creature token.")
.setAbilityWord(AbilityWord.RAID)
.addHint(RaidHint.instance),
new PlayerAttackedWatcher());
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new HumanSoldierToken())),
RaidCondition.instance, "When {this} enters the battlefield, " +
"if you attacked this turn, create a 1/1 white Human Soldier creature token."
).addHint(RaidHint.instance), new PlayerAttackedWatcher());
}
private NightsquadCommando(final NightsquadCommando card) {

View file

@ -32,9 +32,12 @@ public final class Porcuparrot extends CardImpl {
this.addAbility(new MutateAbility(this, "{2}{R}"));
// {T}: This creature deals X damage to any target, where X is the number of times this creature has mutated.
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(
SourceMutatedCount.instance, "this creature"
), new TapSourceCost());
Ability ability = new SimpleActivatedAbility(
new DamageTargetEffect(SourceMutatedCount.instance)
.setText("this creature deals X damage to any target, " +
"where X is the number of times this creature has mutated"),
new TapSourceCost()
);
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ public final class RegalLeosaur extends CardImpl {
// Whenever this creature mutates, other creatures you control get +2/+1 until end of turn.
this.addAbility(new MutatesSourceTriggeredAbility(
new BoostControlledEffect(2, 1, Duration.EndOfTurn, false)
new BoostControlledEffect(2, 1, Duration.EndOfTurn, true)
));
}

View file

@ -33,7 +33,7 @@ public final class SeaDasherOctopus extends CardImpl {
// Whenever this creature deals combat damage to a player, draw a card.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new DrawCardSourceControllerEffect(1), false
));
).setTriggerPhrase("Whenever this creature deals combat damage to a player, "));
}
private SeaDasherOctopus(final SeaDasherOctopus card) {

View file

@ -92,7 +92,7 @@ class TitansNestManaAbility extends ActivatedManaAbilityImpl {
TitansNestManaAbility() {
super(Zone.BATTLEFIELD, (BasicManaEffect) new BasicManaEffect(
new TitansNestConditionalMana(), new CardsInControllerGraveyardCount())
.setText("Add {C}. Spend this mana only to cast a colored spell without {X} in its mana cost."),
.setText("Add {C}. Spend this mana only to cast a spell that's one or more colors without {X} in its mana cost."),
new ExileFromGraveCost(new TargetCardInYourGraveyard()));
this.netMana.add(Mana.ColorlessMana(1));
}
@ -111,7 +111,7 @@ class TitansNestConditionalMana extends ConditionalMana {
TitansNestConditionalMana() {
super(Mana.ColorlessMana(1));
staticText = "Spend this mana only to cast a colored spell without {X} in its mana cost.";
staticText = "Spend this mana only to cast a spell that's one or more colors without {X} in its mana cost.";
addCondition(new TitansNestManaCondition());
}
}

View file

@ -62,7 +62,7 @@ public class VerifyCardDataTest {
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
private static final String FULL_ABILITIES_CHECK_SET_CODE = "SLD"; // check all abilities and output cards with wrong abilities texts;
private static final String FULL_ABILITIES_CHECK_SET_CODE = "IKO"; // check all abilities and output cards with wrong abilities texts;
private static final boolean AUTO_FIX_SAMPLE_DECKS = false; // debug only: auto-fix sample decks by test_checkSampleDecks test run
private static final boolean ONLY_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages