[CLB] various text fixes

This commit is contained in:
Evan Kranzler 2022-06-02 21:58:45 -04:00
parent 0b5c42dffa
commit 6d4b7ee601
13 changed files with 27 additions and 19 deletions

View file

@ -44,7 +44,7 @@ public final class AcolyteOfBahamut extends CardImpl {
new SpellsCostReductionControllerEffect(filter, 2) new SpellsCostReductionControllerEffect(filter, 2)
.setText("the first Dragon spell you cast each turn costs {2} less to cast") .setText("the first Dragon spell you cast each turn costs {2} less to cast")
), Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER ), Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER
)), new AcolyteOfBahamutWatcher()); ).withForceQuotes()), new AcolyteOfBahamutWatcher());
} }
private AcolyteOfBahamut(final AcolyteOfBahamut card) { private AcolyteOfBahamut(final AcolyteOfBahamut card) {

View file

@ -30,7 +30,7 @@ public final class AltarOfBhaal extends AdventureCard {
new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{2}{B}") new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{2}{B}")
); );
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addCost(new ExileTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); ability.addCost(new ExileTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_CREATURE)));
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
this.addAbility(ability); this.addAbility(ability);

View file

@ -44,10 +44,14 @@ public final class BeckoningWillOWisp extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// Lure the Unwary At the beginning of combat on your turn, choose an opponent. // Lure the Unwary At the beginning of combat on your turn, choose an opponent.
this.addAbility(new BeginningOfCombatTriggeredAbility(new BeckoningWillOWispEffect(), TargetController.YOU, false)); this.addAbility(new BeginningOfCombatTriggeredAbility(
new BeckoningWillOWispEffect(), TargetController.YOU, false
).withFlavorWord("Lure the Unwary"));
// Creatures attacking the last chosen player get +1/+0. // Creatures attacking the last chosen player get +1/+0.
this.addAbility(new SimpleStaticAbility(new BoostAllEffect(1, 0, Duration.WhileOnBattlefield, filter, false))); this.addAbility(new SimpleStaticAbility(new BoostAllEffect(
1, 0, Duration.WhileOnBattlefield, filter, false
)));
} }
private BeckoningWillOWisp(final BeckoningWillOWisp card) { private BeckoningWillOWisp(final BeckoningWillOWisp card) {

View file

@ -33,7 +33,7 @@ import java.util.UUID;
*/ */
public final class CaptainNghathrod extends CardImpl { public final class CaptainNghathrod extends CardImpl {
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.HORROR); private static final FilterPermanent filter = new FilterControlledPermanent(SubType.HORROR, "a Horror");
private static final FilterCard filter2 = new FilterCard( private static final FilterCard filter2 = new FilterCard(
"artifact or creature card in an opponent's graveyard that was put there from their library this turn" "artifact or creature card in an opponent's graveyard that was put there from their library this turn"
); );

View file

@ -4,8 +4,8 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility; import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.AttachmentType; import mage.constants.AttachmentType;
@ -29,8 +29,8 @@ public final class CloakOfTheBat extends CardImpl {
FlyingAbility.getInstance(), AttachmentType.EQUIPMENT FlyingAbility.getInstance(), AttachmentType.EQUIPMENT
)); ));
ability.addEffect(new GainAbilityAttachedEffect( ability.addEffect(new GainAbilityAttachedEffect(
FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT HasteAbility.getInstance(), AttachmentType.EQUIPMENT
).setText("and first strike")); ).setText("and haste"));
this.addAbility(ability); this.addAbility(ability);
// Equip {2} // Equip {2}

View file

@ -4,7 +4,7 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.CreaturePutInYourGraveyardCondition; import mage.abilities.condition.common.CreaturePutInYourGraveyardCondition;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.*; import mage.constants.*;
@ -26,12 +26,12 @@ public final class CloakwoodHermit extends CardImpl {
this.subtype.add(SubType.BACKGROUND); this.subtype.add(SubType.BACKGROUND);
// Commander creatures you own have "At the beginning of your end step, if a creature card was put into your graveyard from anywhere this turn, create two tapped 1/1 green Squirrel creature tokens." // Commander creatures you own have "At the beginning of your end step, if a creature card was put into your graveyard from anywhere this turn, create two tapped 1/1 green Squirrel creature tokens."
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect( this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
new BeginningOfEndStepTriggeredAbility( new BeginningOfEndStepTriggeredAbility(
new CreateTokenEffect(new SquirrelToken(), 2, true, false), new CreateTokenEffect(new SquirrelToken(), 2, true, false),
TargetController.YOU, CreaturePutInYourGraveyardCondition.instance, false TargetController.YOU, CreaturePutInYourGraveyardCondition.instance, false
), Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER ), Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER
)).addHint(CreaturePutInYourGraveyardCondition.getHint()), new CreaturePutIntoGraveyardWatcher()); ).withForceQuotes()).addHint(CreaturePutInYourGraveyardCondition.getHint()), new CreaturePutIntoGraveyardWatcher());
} }
private CloakwoodHermit(final CloakwoodHermit card) { private CloakwoodHermit(final CloakwoodHermit card) {

View file

@ -45,6 +45,8 @@ public final class ConeOfCold extends CardImpl {
StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURES, Duration.EndOfTurn StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURES, Duration.EndOfTurn
).setText("Until your next turn, creatures your opponents control enter the battlefield tapped") ).setText("Until your next turn, creatures your opponents control enter the battlefield tapped")
); );
this.getSpellAbility().addEffect(effect);
} }
private ConeOfCold(final ConeOfCold card) { private ConeOfCold(final ConeOfCold card) {

View file

@ -38,7 +38,7 @@ public final class DescentIntoAvernus extends CardImpl {
ability.addEffect(new DescentIntoAvernusEffect()); ability.addEffect(new DescentIntoAvernusEffect());
ability.addEffect(new DamagePlayersEffect( ability.addEffect(new DamagePlayersEffect(
Outcome.Damage, xValue, TargetController.ANY Outcome.Damage, xValue, TargetController.ANY
).concatBy("and")); ).setText("and {this} deals X damage to each player, where X is the number of descent counters on {this}"));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -29,7 +29,7 @@ public final class DungeonDelver extends CardImpl {
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect( this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
new SimpleStaticAbility(new DungeonDelverEffect()), new SimpleStaticAbility(new DungeonDelverEffect()),
Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER
))); ).withForceQuotes()));
} }
private DungeonDelver(final DungeonDelver card) { private DungeonDelver(final DungeonDelver card) {

View file

@ -3,6 +3,7 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.ActivateAsSorceryActivatedAbility; import mage.abilities.common.ActivateAsSorceryActivatedAbility;
import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -29,10 +30,11 @@ public final class DungeoneersPack extends CardImpl {
// {2}, {T}, Sacrifice Dungeoneer's Pack: You take the initiative, gain 3 life, draw a card, and create a Treasure token. Activate only as a sorcery. // {2}, {T}, Sacrifice Dungeoneer's Pack: You take the initiative, gain 3 life, draw a card, and create a Treasure token. Activate only as a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(new TakeTheInitiativeEffect(), new GenericManaCost(2)); Ability ability = new ActivateAsSorceryActivatedAbility(new TakeTheInitiativeEffect(), new GenericManaCost(2));
ability.addEffect(new GainLifeEffect(3).concatBy(",")); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new GainLifeEffect(3).concatBy(", you"));
ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy(",")); ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy(","));
ability.addEffect(new CreateTokenEffect(new TreasureToken()).concatBy(", and")); ability.addEffect(new CreateTokenEffect(new TreasureToken()).concatBy(", and"));
ability.addCost(new TapSourceCost());
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -45,7 +45,7 @@ public final class EmeraldDragon extends AdventureCard {
// Dissonant Wave // Dissonant Wave
// Counter target activated or triggered ability from a noncreature source. // Counter target activated or triggered ability from a noncreature source.
this.getSpellCard().getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellCard().getSpellAbility().addEffect(new CounterTargetEffect());
this.getSpellAbility().addTarget(new TargetActivatedOrTriggeredAbility(filter)); this.getSpellCard().getSpellAbility().addTarget(new TargetActivatedOrTriggeredAbility(filter));
} }
private EmeraldDragon(final EmeraldDragon card) { private EmeraldDragon(final EmeraldDragon card) {

View file

@ -39,8 +39,8 @@ public final class Ettercap extends AdventureCard {
// Web Shot // Web Shot
// Destroy target creature with flying. // Destroy target creature with flying.
this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellCard().getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent(filter)); this.getSpellCard().getSpellAbility().addTarget(new TargetPermanent(filter));
} }
private Ettercap(final Ettercap card) { private Ettercap(final Ettercap card) {

View file

@ -60,7 +60,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 = "NCC"; // check all abilities and output cards with wrong abilities texts; private static final String FULL_ABILITIES_CHECK_SET_CODE = "CLB"; // 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