[ZNR] various text fixes

This commit is contained in:
Evan Kranzler 2020-10-07 20:04:34 -04:00
parent 665528b251
commit 6a3240fad3
12 changed files with 38 additions and 21 deletions

View file

@ -4,7 +4,7 @@ import mage.MageInt;
import mage.MageObjectReference;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.common.DealsDamageToAPlayerAllTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
@ -13,6 +13,7 @@ import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
@ -40,8 +41,9 @@ public final class AngelOfDestiny extends CardImpl {
this.addAbility(DoubleStrikeAbility.getInstance());
// Whenever a creature you control deals combat damage to a player, you and that player each gain that much life.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new AngelOfDestinyGainLifeEffect(), false, true
this.addAbility(new DealsDamageToAPlayerAllTriggeredAbility(
new AngelOfDestinyGainLifeEffect(), StaticFilters.FILTER_CONTROLLED_A_CREATURE,
false, SetTargetPointer.NONE, true, true
));
// At the beginning of your end step, if you have at least 15 life more than your starting life total, each player Angel of Destiny attacked this turn loses the game.

View file

@ -17,7 +17,7 @@ public final class Deliberate extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}");
// Scry 2, then draw a card.
this.getSpellAbility().addEffect(new ScryEffect(2));
this.getSpellAbility().addEffect(new ScryEffect(2).setText("scry 2"));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then"));
}

View file

@ -1,19 +1,19 @@
package mage.cards.e;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.dynamicvalue.common.PartyCount;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.constants.SubType;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import java.util.UUID;
/**
* @author TheElk801
*/
@ -36,7 +36,7 @@ public final class EmeriaCaptain extends CardImpl {
// When Emeria Captain enters the battlefield, put a +1/+1 counter on it for each creature in your party.
this.addAbility(new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(
CounterType.P1P1.createInstance(), PartyCount.instance, false
)));
).setText("put a +1/+1 counter on it for each creature in your party. " + PartyCount.getReminder())));
}
private EmeriaCaptain(final EmeriaCaptain card) {

View file

@ -28,9 +28,10 @@ public final class FarsightAdept extends CardImpl {
// When Farsight Adept enters the battlefield, you and target opponent each draw a card.
Ability ability = new EntersBattlefieldTriggeredAbility(
new DrawCardSourceControllerEffect(1).setText("you and")
new DrawCardSourceControllerEffect(1).setText("you")
);
ability.addEffect(new DrawCardTargetEffect(1).setText("target opponent each draw a card"));
ability.addEffect(new DrawCardTargetEffect(1)
.setText("target opponent each draw a card").concatBy("and"));
ability.addTarget(new TargetOpponent());
this.addAbility(ability);
}

View file

@ -37,7 +37,7 @@ public final class InscriptionOfInsight extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2));
// Scry 2, then draw two cards.
Mode mode = new Mode(new ScryEffect(2));
Mode mode = new Mode(new ScryEffect(2).setText("scry 2"));
mode.addEffect(new DrawCardSourceControllerEffect(2).concatBy(", then"));
this.getSpellAbility().addMode(mode);

View file

@ -33,7 +33,7 @@ public final class MalakirBloodPriest extends CardImpl {
);
ability.addEffect(new GainLifeEffect(
PartyCount.instance, "and you gain X life, " +
"where X is your number of creatures in your party. "
"where X is the number of creatures in your party. "
+ PartyCount.getReminder()
));
this.addAbility(ability.addHint(PartyCountHint.instance));

View file

@ -11,7 +11,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
@ -21,6 +22,9 @@ import java.util.UUID;
*/
public final class PyroclasticHellion extends CardImpl {
private static final FilterControlledPermanent filter
= new FilterControlledLandPermanent("a land you control");
public PyroclasticHellion(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}");
@ -34,7 +38,7 @@ public final class PyroclasticHellion extends CardImpl {
new DamagePlayersEffect(2, TargetController.OPPONENT),
false, "{this} deals 2 damage to each opponent"
), new ReturnToHandChosenControlledPermanentCost(
new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND)
new TargetControlledPermanent(filter)
), "Return a land you control to its owner's hand?")
));
}

View file

@ -40,7 +40,7 @@ public final class VerazolTheSplitCurrent extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(
new DoIfCostPaid(
new CopyTargetSpellEffect(false, true)
.withSpellName("that spell"),
.setText("copy that spell. You may choose new targets for that copy"),
new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2))
), StaticFilters.FILTER_SPELL_KICKED_A, false, true
));

View file

@ -52,7 +52,7 @@ public class VerifyCardDataTest {
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
private static final String FULL_ABILITIES_CHECK_SET_CODE = "M21"; // check all abilities and output cards with wrong abilities texts;
private static final String FULL_ABILITIES_CHECK_SET_CODE = "ZNR"; // check all abilities and output cards with wrong abilities texts;
private static final boolean AUTO_FIX_SAMPLE_DECKS = false; // debug only: fix sample decks if it contains errors like wrong card numbers
private static final HashMap<String, Set<String>> skipCheckLists = new HashMap<>();

View file

@ -23,7 +23,7 @@ public class RemoveCountersSourceCost extends CostImpl {
public RemoveCountersSourceCost(Counter counter) {
this.amount = counter.getCount();
this.name = counter.getName();
this.text = new StringBuilder("Remove ").append((amount == 1 ? "a" : CardUtil.numberToText(amount)))
this.text = new StringBuilder("remove ").append((amount == 1 ? "a" : CardUtil.numberToText(amount)))
.append(' ').append(name).append(" counter").append((amount != 1 ? "s" : ""))
.append(" from {this}").toString();

View file

@ -1,6 +1,7 @@
package mage.abilities.effects.common;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect;
@ -23,7 +24,6 @@ public class MillCardsTargetEffect extends OneShotEffect {
public MillCardsTargetEffect(DynamicValue numberCards) {
super(Outcome.Discard);
this.numberCards = numberCards;
this.staticText = setText();
}
public MillCardsTargetEffect(final MillCardsTargetEffect effect) {
@ -46,8 +46,18 @@ public class MillCardsTargetEffect extends OneShotEffect {
return false;
}
private String setText() {
StringBuilder sb = new StringBuilder("target player mills ");
@Override
public String getText(Mode mode) {
if (staticText != null && !staticText.isEmpty()) {
return staticText;
}
StringBuilder sb = new StringBuilder("target ");
if (!mode.getTargets().isEmpty()) {
sb.append(mode.getTargets().get(0).getTargetName());
} else {
sb.append("player");
}
sb.append(" mills ");
if (numberCards.toString().equals("1")) {
sb.append("a card");
} else {