mirror of
https://github.com/correl/mage.git
synced 2024-11-28 19:19:55 +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.
|
// At the beginning of your end step, you gain 1 life for each creature you control with vigilance.
|
||||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
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.
|
// 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(
|
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.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("Those creatures"));
|
||||||
ability.setTargetAdjuster(ArchipelagoreAdjuster.instance);
|
ability.setTargetAdjuster(ArchipelagoreAdjuster.instance);
|
||||||
|
|
|
@ -12,9 +12,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.StaticFilters;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
|
||||||
import mage.filter.predicate.mageobject.AnotherPredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -27,12 +25,6 @@ import java.util.UUID;
|
||||||
*/
|
*/
|
||||||
public final class BushmeatPoacher extends CardImpl {
|
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) {
|
public BushmeatPoacher(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
|
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.
|
// {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 ability = new SimpleActivatedAbility(new BushmeatPoacherEffect(), new GenericManaCost(1));
|
||||||
ability.addCost(new TapSourceCost());
|
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);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,7 +54,7 @@ class BushmeatPoacherEffect extends OneShotEffect {
|
||||||
|
|
||||||
BushmeatPoacherEffect() {
|
BushmeatPoacherEffect() {
|
||||||
super(Outcome.Benefit);
|
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) {
|
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}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}{R}");
|
||||||
|
|
||||||
// As an additional cost to cast this spell, discard X cards.
|
// 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.
|
// Target player draws X cards. Channeled Force deals X damage to up to one target creature or planeswalker.
|
||||||
this.getSpellAbility().addEffect(new ChanneledForceEffect());
|
this.getSpellAbility().addEffect(new ChanneledForceEffect());
|
||||||
|
|
|
@ -38,7 +38,7 @@ public final class EscapeProtocol extends CardImpl {
|
||||||
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(
|
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(
|
||||||
new ExileTargetForSourceEffect(), false,
|
new ExileTargetForSourceEffect(), false,
|
||||||
"exile target artifact or creature you control, " +
|
"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.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false));
|
||||||
ability.addTarget(new TargetPermanent(filter));
|
ability.addTarget(new TargetPermanent(filter));
|
||||||
|
|
|
@ -55,7 +55,7 @@ class ExuberantWolfbearEffect extends OneShotEffect {
|
||||||
|
|
||||||
ExuberantWolfbearEffect() {
|
ExuberantWolfbearEffect() {
|
||||||
super(Outcome.Benefit);
|
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";
|
"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.
|
// Ferocious Tigorilla enters the battlefield with your choice of a trample counter or a menace counter on it.
|
||||||
this.addAbility(new EntersBattlefieldAbility(
|
this.addAbility(new EntersBattlefieldAbility(
|
||||||
new AddCounterChoiceSourceEffect(CounterType.TRAMPLE, CounterType.MENACE),
|
new AddCounterChoiceSourceEffect(CounterType.TRAMPLE, CounterType.MENACE),
|
||||||
"Ferocious Tigorilla enters the battlefield with your choice of " +
|
"with your choice of a trample counter or a menace counter on it. " +
|
||||||
"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>"
|
"<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));
|
this.getSpellAbility().addTarget(new TargetPermanent(filter2));
|
||||||
|
|
||||||
// Draw a card.
|
// Draw a card.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private GustOfWind(final GustOfWind card) {
|
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.
|
// 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(
|
this.addAbility(new MutatesSourceTriggeredAbility(new BoostControlledEffect(
|
||||||
SourceMutatedCount.instance, SourceMutatedCount.instance, Duration.EndOfTurn,
|
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
|
@Override
|
||||||
public String getRule() {
|
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(
|
private static final List<SubType> subtypes = Arrays.asList(
|
||||||
|
|
|
@ -31,7 +31,7 @@ public final class KeepSafe extends CardImpl {
|
||||||
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
||||||
|
|
||||||
// Draw a card.
|
// Draw a card.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private KeepSafe(final KeepSafe card) {
|
private KeepSafe(final KeepSafe card) {
|
||||||
|
|
|
@ -8,7 +8,6 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.hint.common.RaidHint;
|
import mage.abilities.hint.common.RaidHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.AbilityWord;
|
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.game.permanent.token.HumanSoldierToken;
|
import mage.game.permanent.token.HumanSoldierToken;
|
||||||
|
@ -33,10 +32,8 @@ public final class NightsquadCommando extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new HumanSoldierToken())),
|
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new HumanSoldierToken())),
|
||||||
RaidCondition.instance, "When {this} enters the battlefield, " +
|
RaidCondition.instance, "When {this} enters the battlefield, " +
|
||||||
"if you attacked this turn, create a 1/1 white Human Soldier creature token.")
|
"if you attacked this turn, create a 1/1 white Human Soldier creature token."
|
||||||
.setAbilityWord(AbilityWord.RAID)
|
).addHint(RaidHint.instance), new PlayerAttackedWatcher());
|
||||||
.addHint(RaidHint.instance),
|
|
||||||
new PlayerAttackedWatcher());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private NightsquadCommando(final NightsquadCommando card) {
|
private NightsquadCommando(final NightsquadCommando card) {
|
||||||
|
|
|
@ -32,9 +32,12 @@ public final class Porcuparrot extends CardImpl {
|
||||||
this.addAbility(new MutateAbility(this, "{2}{R}"));
|
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.
|
// {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(
|
Ability ability = new SimpleActivatedAbility(
|
||||||
SourceMutatedCount.instance, "this creature"
|
new DamageTargetEffect(SourceMutatedCount.instance)
|
||||||
), new TapSourceCost());
|
.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());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
this.addAbility(ability);
|
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.
|
// Whenever this creature mutates, other creatures you control get +2/+1 until end of turn.
|
||||||
this.addAbility(new MutatesSourceTriggeredAbility(
|
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.
|
// Whenever this creature deals combat damage to a player, draw a card.
|
||||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
|
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||||
new DrawCardSourceControllerEffect(1), false
|
new DrawCardSourceControllerEffect(1), false
|
||||||
));
|
).setTriggerPhrase("Whenever this creature deals combat damage to a player, "));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SeaDasherOctopus(final SeaDasherOctopus card) {
|
private SeaDasherOctopus(final SeaDasherOctopus card) {
|
||||||
|
|
|
@ -92,7 +92,7 @@ class TitansNestManaAbility extends ActivatedManaAbilityImpl {
|
||||||
TitansNestManaAbility() {
|
TitansNestManaAbility() {
|
||||||
super(Zone.BATTLEFIELD, (BasicManaEffect) new BasicManaEffect(
|
super(Zone.BATTLEFIELD, (BasicManaEffect) new BasicManaEffect(
|
||||||
new TitansNestConditionalMana(), new CardsInControllerGraveyardCount())
|
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()));
|
new ExileFromGraveCost(new TargetCardInYourGraveyard()));
|
||||||
this.netMana.add(Mana.ColorlessMana(1));
|
this.netMana.add(Mana.ColorlessMana(1));
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ class TitansNestConditionalMana extends ConditionalMana {
|
||||||
|
|
||||||
TitansNestConditionalMana() {
|
TitansNestConditionalMana() {
|
||||||
super(Mana.ColorlessMana(1));
|
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());
|
addCondition(new TitansNestManaCondition());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,7 +62,7 @@ public class VerifyCardDataTest {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
|
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 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
|
private static final boolean ONLY_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue