mirror of
https://github.com/correl/mage.git
synced 2024-12-26 11:09:27 +00:00
[IKO] various text fixes
This commit is contained in:
parent
2e44b3246c
commit
68cf2a36c3
17 changed files with 30 additions and 37 deletions
|
@ -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
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
||||
|
|
|
@ -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>"
|
||||
));
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue