[WOE] text fixes

This commit is contained in:
xenohedron 2023-08-25 22:52:10 -04:00
parent 1107fb5770
commit ed4a1bf33f
37 changed files with 64 additions and 55 deletions

View file

@ -11,6 +11,7 @@ import mage.abilities.keyword.LifelinkAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
@ -34,6 +35,7 @@ public final class ArchonsGlory extends CardImpl {
), BargainedCondition.instance, "if this spell was bargained, " +
"that creature also gains flying and lifelink until end of turn"
));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
private ArchonsGlory(final ArchonsGlory card) {

View file

@ -48,7 +48,7 @@ public final class BarrowNaughty extends CardImpl {
// Barrow Naughty has lifelink as long as you control another Faerie.
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new GainAbilitySourceEffect(LifelinkAbility.getInstance()), condition,
"has lifelink as long as you control another Faerie"
"{this} has lifelink as long as you control another Faerie"
)));
// {2}{B}: Barrow Naughty gets +1/+0 until end of turn.

View file

@ -49,7 +49,7 @@ public final class BraveTheWilds extends CardImpl {
// Search your library for a basic land card, reveal it, put it into your hand, then shuffle.
this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(
new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true
));
).concatBy("<br>"));
}
private BraveTheWilds(final BraveTheWilds card) {

View file

@ -54,7 +54,7 @@ public final class CallousSellSword extends AdventureCard {
this.getSpellCard().getSpellAbility().addEffect(new DamageWithPowerFromOneToAnotherTargetEffect());
this.getSpellCard().getSpellAbility().addTarget(new TargetControlledCreaturePermanent().setTargetTag(1));
this.getSpellCard().getSpellAbility().addTarget(new TargetAnyTarget().setTargetTag(2));
this.getSpellCard().getSpellAbility().addEffect(new CallousSellSwordSacrificeFirstTargetEffect().concatBy(". Then"));
this.getSpellCard().getSpellAbility().addEffect(new CallousSellSwordSacrificeFirstTargetEffect().concatBy("Then"));
}
private CallousSellSword(final CallousSellSword card) {
@ -114,4 +114,4 @@ class CallousSellSwordSacrificeFirstTargetEffect extends OneShotEffect {
Permanent permanent = game.getPermanent(source.getFirstTarget());
return permanent != null && permanent.sacrifice(source, game);
}
}
}

View file

@ -21,7 +21,7 @@ import java.util.UUID;
*/
public final class CruelSomnophage extends AdventureCard {
private static final DynamicValue xValue = new CardsInAllGraveyardsCount(StaticFilters.FILTER_CARD_CREATURE);
private static final DynamicValue xValue = new CardsInAllGraveyardsCount(StaticFilters.FILTER_CARD_CREATURES);
public CruelSomnophage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, new CardType[]{CardType.SORCERY}, "{1}{B}", "Can't Wake Up", "{1}{U}");

View file

@ -38,7 +38,7 @@ class EerieInterferenceEffect extends PreventionEffectImpl {
EerieInterferenceEffect() {
super(Duration.EndOfTurn, Integer.MAX_VALUE, false, false);
staticText = "prevent all damage that would be dealt to you and creatures you control by creatures this turn";
staticText = "prevent all damage that would be dealt to you and creatures you control this turn by creatures";
}
private EerieInterferenceEffect(final EerieInterferenceEffect effect) {

View file

@ -28,7 +28,7 @@ import mage.constants.Duration;
*/
public final class ErietteOfTheCharmedApple extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures enchanted by an Aura you control");
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each creature that's enchanted by an Aura you control");
private static final DynamicValue count = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.AURA));
static {
@ -48,8 +48,10 @@ public final class ErietteOfTheCharmedApple extends CardImpl {
this.addAbility(new SimpleStaticAbility(new CantAttackYouAllEffect(Duration.WhileOnBattlefield, filter, true)));
// At the beginning of your end step, each opponent loses X life and you gain X life, where X is the number of Auras you control.
Ability ability = new BeginningOfEndStepTriggeredAbility(new LoseLifeOpponentsEffect(count), TargetController.YOU, false);
ability.addEffect(new GainLifeEffect(count));
Ability ability = new BeginningOfEndStepTriggeredAbility(new LoseLifeOpponentsEffect(count)
.setText("each opponent loses X life"), TargetController.YOU, false);
ability.addEffect(new GainLifeEffect(count)
.setText("and you gain X life, where X is the number of Auras you control"));
ability.addHint(new ValueHint("Number of Auras you control", count));
this.addAbility(ability);
}
@ -62,4 +64,4 @@ public final class ErietteOfTheCharmedApple extends CardImpl {
public ErietteOfTheCharmedApple copy() {
return new ErietteOfTheCharmedApple(this);
}
}
}

View file

@ -51,7 +51,7 @@ class FaerieFencingEffect extends OneShotEffect {
FaerieFencingEffect() {
super(Outcome.UnboostCreature);
this.staticText = "target creature gets -X/-X until end of turn. It gets an additional -3/-3 if you controlled a Faerie as you cast this spell.";
this.staticText = "target creature gets -X/-X until end of turn. That creature gets an additional -3/-3 if you controlled a Faerie as you cast this spell.";
}
private FaerieFencingEffect(final FaerieFencingEffect effect) {
@ -108,4 +108,4 @@ class ControlledFaerieAsSpellCastWatcher extends Watcher {
public int getCount(MageObjectReference mor) {
return permanentsWhenCast.getOrDefault(mor, 0);
}
}
}

View file

@ -35,7 +35,7 @@ public final class GallantPieWielder extends CardImpl {
// Celebration -- Gallant Pie-Wielder has double strike as long as two or more nonland permanents entered the battlefield under your control this turn.
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new GainAbilitySourceEffect(DoubleStrikeAbility.getInstance()),
CelebrationCondition.instance, "{this} as double strike as long as two or " +
CelebrationCondition.instance, "{this} has double strike as long as two or " +
"more nonland permanents entered the battlefield under your control this turn"
)).addHint(CelebrationCondition.getHint()).setAbilityWord(AbilityWord.CELEBRATION), new CelebrationWatcher());
}

View file

@ -52,7 +52,7 @@ public final class GretaSweettoothScourge extends CardImpl {
// {1}{B}, Sacrifice a Food: You draw a card and you lose 1 life.
ability = new SimpleActivatedAbility(
new DrawCardSourceControllerEffect(1),
new DrawCardSourceControllerEffect(1, "you"),
new ManaCostsImpl<>("{1}{B}")
);
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_FOOD)));

View file

@ -49,6 +49,8 @@ public final class HearthElemental extends AdventureCard {
// This spell costs X less to cast, where X is the number of cards in your graveyard that are instant cards, sorcery cards, and/or have an Adventure.
Ability ability = new SimpleStaticAbility(
Zone.ALL, new SpellCostReductionForEachSourceEffect(1, xValue)
.setText("This spell costs {X} less to cast, where X is the number of cards in your graveyard " +
"that are instant cards, sorcery cards, and/or have an Adventure")
).addHint(hint);
this.addAbility(ability);

View file

@ -47,7 +47,7 @@ public final class HornedLochWhale extends AdventureCard {
// Horned Loch-Whale enters the battlefield tapped unless it's your turn.
this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(
new TapSourceEffect(true), NotMyTurnCondition.instance,
"{this} enters the battlefield tapped unless it's your turn"
"tapped unless it's your turn"
)));
// Lagoon Breach

View file

@ -47,7 +47,7 @@ public final class HyldaOfTheIcyCrown extends CardImpl {
// * Scry 2, then draw a card.
Mode mode = new Mode(new ScryEffect(2, false));
mode.addEffect(new DrawCardSourceControllerEffect(1));
mode.addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then"));
delayed.addMode(mode);
this.addAbility(new TapUntappedPermanentTriggeredAbility(

View file

@ -63,7 +63,8 @@ class ImodaneThePyrohammerTriggeredAbility extends TriggeredAbilityImpl {
private static final Hint hint = new ValuePositiveHint("Damage dealt to the target", ImodaneThePyrohammerDynamicValue.instance);
ImodaneThePyrohammerTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamagePlayersEffect(Outcome.Damage, ImodaneThePyrohammerDynamicValue.instance, TargetController.OPPONENT), false);
super(Zone.BATTLEFIELD, new DamagePlayersEffect(Outcome.Damage, ImodaneThePyrohammerDynamicValue.instance, TargetController.OPPONENT)
.setText("{this} deals that much damage to each opponent"), false);
setTriggerPhrase("Whenever an instant or sorcery spell you control that targets only a single creature deals damage to that creature, ");
addHint(hint);
}
@ -140,4 +141,4 @@ enum ImodaneThePyrohammerDynamicValue implements DynamicValue {
public String getMessage() {
return "that much damage";
}
}
}

View file

@ -21,7 +21,7 @@ public final class MonstrousRage extends CardImpl {
// Target creature gets +2/+0 until end of turn. Create a Monster Role attached to it.
this.getSpellAbility().addEffect(new BoostTargetEffect(2, 0));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addEffect(new CreateRoleAttachedTargetEffect(RoleType.MONSTER).setText("create a Monster Role attached to it"));
this.getSpellAbility().addEffect(new CreateRoleAttachedTargetEffect(RoleType.MONSTER).setText("create a Monster Role token attached to it"));
}
private MonstrousRage(final MonstrousRage card) {

View file

@ -37,7 +37,7 @@ public final class MoonshakerCavalry extends CardImpl {
Ability ability = new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(
FlyingAbility.getInstance(), Duration.EndOfTurn,
StaticFilters.FILTER_PERMANENT_CREATURES
));
).setText("creatures you control gain flying"));
ability.addEffect(new BoostControlledEffect(
CreaturesYouControlCount.instance, CreaturesYouControlCount.instance, Duration.EndOfTurn
).setText("and get +X/+X until end of turn, where X is the number of creatures you control"));

View file

@ -18,7 +18,9 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledPermanent;
import mage.game.permanent.token.FoodToken;
import java.util.UUID;
@ -29,7 +31,9 @@ import java.util.UUID;
*/
public final class NightOfTheSweetsRevenge extends CardImpl {
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_FOOD);
private static final FilterControlledPermanent filter = new FilterControlledPermanent(SubType.FOOD, "Foods");
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter);
private static final Hint hint = new ValueHint("Foods you control", xValue);
public NightOfTheSweetsRevenge(UUID ownerId, CardSetInfo setInfo) {
@ -41,8 +45,7 @@ public final class NightOfTheSweetsRevenge extends CardImpl {
// Foods you control have "{T}: Add {G}."
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
new GreenManaAbility(), Duration.WhileOnBattlefield,
StaticFilters.FILTER_CONTROLLED_FOOD
new GreenManaAbility(), Duration.WhileOnBattlefield, filter
)));
// {5}{G}{G}, Sacrifice Night of the Sweets' Revenge: Creatures you control get +X/+X until end of turn, where X is the number of Foods you control. Activate only as a sorcery.

View file

@ -30,7 +30,7 @@ public final class OgreChitterlord extends CardImpl {
private static final FilterControlledCreaturePermanent filter =
new FilterControlledCreaturePermanent(SubType.RAT, "each Rat you control");
private static final FilterControlledPermanent filterCondition =
new FilterControlledPermanent(SubType.RAT, "five or more Rats");
new FilterControlledPermanent(SubType.RAT, "you control five or more Rats");
private static final Condition condition =
new PermanentsOnTheBattlefieldCondition(filterCondition, ComparisonType.OR_GREATER, 5);

View file

@ -6,7 +6,7 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.MorbidCondition;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.hint.common.MorbidHint;
@ -42,9 +42,9 @@ public final class OldFlitterfang extends CardImpl {
MorbidCondition.instance, false
).addHint(MorbidHint.instance));
// {2}, Sacrifice another creature or artifact: Old Flitterfang gets +2/+2 until end of turn.
// {2}{B}, Sacrifice another creature or artifact: Old Flitterfang gets +2/+2 until end of turn.
Ability ability = new SimpleActivatedAbility(
new BoostSourceEffect(2, 2, Duration.EndOfTurn), new GenericManaCost(2)
new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")
);
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT));
this.addAbility(ability);

View file

@ -44,7 +44,7 @@ public final class PicklockPrankster extends AdventureCard {
// Free the Fae
// Mill four cards. Then put an instant, sorcery, or Faerie card from among the milled cards into your hand.
this.getSpellAbility().addEffect(new MillThenPutInHandEffect(4, filter));
this.getSpellCard().getSpellAbility().addEffect(new MillThenPutInHandEffect(4, filter));
}
private PicklockPrankster(final PicklockPrankster card) {

View file

@ -40,11 +40,11 @@ public final class RagingBattleMouse extends CardImpl {
YouCastExactOneSpellThisTurnCondition.instance, "the second spell you cast each turn costs {1} less to cast"
)));
// Celebration -- At the beginning of combat on each of your turns, if two or more nonland permanents entered the battlefield under your control this turn, target creature you control gets +1/+1 until end of turn.
// Celebration -- At the beginning of combat on your turn, if two or more nonland permanents entered the battlefield under your control this turn, target creature you control gets +1/+1 until end of turn.
Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(
new BoostTargetEffect(1, 1, Duration.EndOfTurn), TargetController.YOU, false
), CelebrationCondition.instance, "At the beginning of combat on each of your turns, "
), CelebrationCondition.instance, "At the beginning of combat on your turn, "
+ "if two or more nonland permanents entered the battlefield under your control this turn, "
+ "target creature you control gets +1/+1 until end of turn."
);
@ -72,4 +72,4 @@ enum YouCastExactOneSpellThisTurnCondition implements Condition {
SpellsCastWatcher watcher = game.getState().getWatcher(SpellsCastWatcher.class);
return watcher != null && watcher.getSpellsCastThisTurn(source.getControllerId()).size() == 1;
}
}
}

View file

@ -23,7 +23,7 @@ public final class RatOut extends CardImpl {
// Up to one target creature gets -1/-1 until end of turn. You create a 1/1 black Rat creature token with "This creature can't block."
this.getSpellAbility().addEffect(new BoostTargetEffect(-1, -1, Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 1));
this.getSpellAbility().addEffect(new CreateTokenEffect(new RatCantBlockToken()));
this.getSpellAbility().addEffect(new CreateTokenEffect(new RatCantBlockToken()).concatBy("You"));
}
private RatOut(final RatOut card) {

View file

@ -45,7 +45,7 @@ public final class RestlessCottage extends CardImpl {
// Whenever Restless Cottage attacks, create a Food token and exile up to one target card from a graveyard.
Ability ability = new AttacksTriggeredAbility(new CreateTokenEffect(new FoodToken()));
ability.addEffect(new ExileTargetEffect());
ability.addEffect(new ExileTargetEffect().concatBy("and"));
ability.addTarget(new TargetCardInGraveyard(0, 1));
this.addAbility(ability);
}

View file

@ -27,7 +27,7 @@ public final class ReturnFromTheWilds extends CardImpl {
// * Search your library for a basic land card, put it onto the battlefield tapped, then shuffle.
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(
new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true
new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, false
));
// * Create a 1/1 white Human creature token.

View file

@ -25,7 +25,7 @@ public final class RimefurReindeer extends CardImpl {
this.toughness = new MageInt(4);
// Whenever an enchantment enters the battlefield under your control, tap target creature an opponent controls.
Ability ability = new ConstellationAbility(new TapTargetEffect());
Ability ability = new ConstellationAbility(new TapTargetEffect(), false, false);
ability.addTarget(new TargetOpponentsCreaturePermanent());
this.addAbility(ability.setAbilityWord(null));
}

View file

@ -2,9 +2,13 @@ package mage.cards.s;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.game.permanent.token.RatCantBlockToken;
import java.util.UUID;
@ -19,6 +23,8 @@ public final class SongOfTotentanz extends CardImpl {
// Create X 1/1 black Rat creature tokens with This creature cant block. Creatures you control gain haste until end of turn.
this.getSpellAbility().addEffect(new CreateTokenEffect(new RatCantBlockToken(), ManacostVariableValue.REGULAR));
this.getSpellAbility().addEffect(new GainAbilityControlledEffect(
HasteAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
}
private SongOfTotentanz(final SongOfTotentanz card) {

View file

@ -32,7 +32,7 @@ public final class SpellStutter extends CardImpl {
// Counter target spell unless its controller pays {2} plus an additional {1} for each Faerie you control.
this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(xValue).setText(
"Counter target spell unless its controller pays {2}"
"Counter target spell unless its controller pays {2} "
+ "plus an additional {1} for each Faerie you control."
));
this.getSpellAbility().addTarget(new TargetSpell());

View file

@ -54,7 +54,7 @@ public final class TalionTheKindlyLord extends CardImpl {
.setText("that player loses 2 life"),
filter, false, SetTargetPointer.PLAYER
);
ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy("and"));
ability.addEffect(new DrawCardSourceControllerEffect(1, "you").concatBy("and"));
this.addAbility(ability);
}

View file

@ -17,7 +17,7 @@ import java.util.UUID;
*/
public final class TatteredRatter extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent(SubType.RAT, "Rat you control");
private static final FilterControlledPermanent filter = new FilterControlledPermanent(SubType.RAT, "a Rat you control");
public TatteredRatter(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}");

View file

@ -39,7 +39,7 @@ public final class TorchTheTower extends CardImpl {
// If a permanent dealt damage by Torch the Tower would die this turn, exile it instead.
this.getSpellAbility().addEffect(new DealtDamageToCreatureBySourceDies(this, Duration.EndOfTurn)
.setText("if a permanent dealt damage by {this} would die this turn, exile it instead"));
.setText("<br>If a permanent dealt damage by {this} would die this turn, exile it instead"));
this.getSpellAbility().addWatcher(new DamagedByWatcher(false));
}

View file

@ -54,7 +54,7 @@ public final class ToughCookie extends CardImpl {
).setText("target noncreature artifact you control becomes"), new ManaCostsImpl<>("{2}{G}"));
ability.addEffect(new SetBasePowerToughnessTargetEffect(
4, 4, Duration.EndOfTurn
).setText("a 4/4 artifact creature until end of turn"));
).setText(" a 4/4 artifact creature until end of turn"));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);

View file

@ -72,14 +72,14 @@ class TroyanGutsyExplorerManaBuilder extends ConditionalManaBuilder {
@Override
public String getRule() {
return "Spend this mana only to cast spells with mana value 5 or greater or spells with X in their mana costs";
return "Spend this mana only to cast spells with mana value 5 or greater or spells with {X} in their mana costs";
}
}
class TroyanGutsyExplorerConditionalMana extends ConditionalMana {
TroyanGutsyExplorerConditionalMana(Mana mana) {
super(mana);
staticText = "Spend this mana only to cast spells with mana value 5 or greater or spells with X in their mana costs";
staticText = "Spend this mana only to cast spells with mana value 5 or greater or spells with {X} in their mana costs";
addCondition(TroyanGutsyExplorerCondition.instance);
}
}

View file

@ -33,7 +33,7 @@ public final class TwistedFealty extends CardImpl {
// Create a Wicked Role token attached to up to one target creature.
this.getSpellAbility().addEffect(new CreateRoleAttachedTargetEffect(RoleType.WICKED)
.setTargetPointer(new SecondTargetPointer()));
.setTargetPointer(new SecondTargetPointer()).concatBy("<br>"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 1));
}

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_CODES = "LTR;LTC;CMM"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
private static final String FULL_ABILITIES_CHECK_SET_CODES = "WOE"; // 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 AUTO_FIX_SAMPLE_DECKS = false; // debug only: auto-fix sample decks by test_checkSampleDecks test run

View file

@ -41,7 +41,7 @@ public class PayMoreToCastAsThoughtItHadFlashAbility extends SpellAbility {
@Override
public String getRule() {
return "You may cast this spell as though it had flash if you pay " + costsToAdd.getText() + " more to cast it. <i>(You may cast it any time you could cast an instant.)</i>";
return "You may cast {this} as though it had flash if you pay " + costsToAdd.getText() + " more to cast it. <i>(You may cast it any time you could cast an instant.)</i>";
}
}

View file

@ -32,6 +32,7 @@ public class AddCountersAllEffect extends OneShotEffect {
this.counter = counter;
this.amount = amount;
this.filter = filter;
staticText = "put " + counter.getDescription() + " on each " + filter.getMessage();
}
protected AddCountersAllEffect(final AddCountersAllEffect effect) {
@ -72,14 +73,6 @@ public class AddCountersAllEffect extends OneShotEffect {
return false;
}
@Override
public String getText(Mode mode) {
if (!staticText.isEmpty()) {
return staticText;
}
return CardUtil.getAddRemoveCountersText(amount, counter, getTargetPointer().describeTargets(mode.getTargets(), "that creature"), true);
}
@Override
public AddCountersAllEffect copy() {
return new AddCountersAllEffect(this);

View file

@ -53,7 +53,7 @@ public class BargainAbility extends StaticAbility implements OptionalAdditionalS
super(Zone.STACK, null);
this.additionalCost = new OptionalAdditionalCostImpl(keywordText, reminderText, new SacrificeTargetCost(bargainFilter));
this.additionalCost.setRepeatable(false);
this.rule = additionalCost.getName() + additionalCost.getReminderText();
this.rule = additionalCost.getName() + ' ' + additionalCost.getReminderText();
this.setRuleAtTheTop(true);
this.addHint(BargainCostWasPaidHint.instance);
this.activationKey = null;
@ -146,4 +146,4 @@ public class BargainAbility extends StaticAbility implements OptionalAdditionalS
public String getRule() {
return rule;
}
}
}