[SHM] various text fixes

This commit is contained in:
Evan Kranzler 2022-03-07 22:53:52 -05:00
parent 7f95929288
commit 8999a6e647
40 changed files with 121 additions and 121 deletions

View file

@ -28,7 +28,7 @@ public final class CeruleanWisps extends CardImpl {
this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap that creature"));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
}
public CeruleanWisps (final CeruleanWisps card) {

View file

@ -1,26 +1,23 @@
package mage.cards.c;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.effects.common.counter.RemoveCounterTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author jeffwadsworth
*/
public final class Chainbreaker extends CardImpl {
@ -32,14 +29,17 @@ public final class Chainbreaker extends CardImpl {
this.toughness = new MageInt(3);
// Chainbreaker enters the battlefield with two -1/-1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2), false), "with two -1/-1 counters on it"));
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(
CounterType.M1M1.createInstance(2), false
), "with two -1/-1 counters on it"));
// {3}, {tap}: Remove a -1/-1 counter from target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RemoveCounterTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl("{3}"));
Ability ability = new SimpleActivatedAbility(
new RemoveCounterTargetEffect(CounterType.M1M1.createInstance()), new GenericManaCost(3)
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("target creature")));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
private Chainbreaker(final Chainbreaker card) {

View file

@ -21,7 +21,7 @@ public final class Counterbore extends CardImpl {
// Counter target spell.
// Search its controller's graveyard, hand, and library for all cards with the same name as that spell and exile them. Then that player shuffles their library.
this.getSpellAbility().addTarget(new TargetSpell());
this.getSpellAbility().addEffect(new CounterTargetAndSearchGraveyardHandLibraryEffect());
this.getSpellAbility().addEffect(new CounterTargetAndSearchGraveyardHandLibraryEffect().concatBy("."));
}
private Counterbore(final Counterbore card) {

View file

@ -52,7 +52,7 @@ class CragganwickCrematorEffect extends OneShotEffect {
public CragganwickCrematorEffect() {
super(Outcome.Neutral);
this.staticText = "discard a card at random. If you discard a creature card this way, {this} deals damage equal to that card's power to target player";
this.staticText = "discard a card at random. If you discard a creature card this way, {this} deals damage equal to that card's power to target player or planeswalker";
}
public CragganwickCrematorEffect(final CragganwickCrematorEffect effect) {

View file

@ -1,8 +1,5 @@
package mage.cards.c;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continuous.BecomesColorTargetEffect;
@ -14,8 +11,9 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author LevelX
*/
public final class CrimsonWisps extends CardImpl {
@ -24,12 +22,16 @@ public final class CrimsonWisps extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}");
// Target creature becomes red and gains haste until end of turn.
this.getSpellAbility().addEffect(new BecomesColorTargetEffect(
ObjectColor.RED, Duration.EndOfTurn
).setText("target creature becomes red"));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
HasteAbility.getInstance(), Duration.EndOfTurn
).setText("and gains haste until end of turn"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addEffect(new BecomesColorTargetEffect(ObjectColor.RED, Duration.EndOfTurn));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
}
public CrimsonWisps(final CrimsonWisps card) {
@ -40,6 +42,4 @@ public final class CrimsonWisps extends CardImpl {
public CrimsonWisps copy() {
return new CrimsonWisps(this);
}
}

View file

@ -35,7 +35,7 @@ public final class CurseOfChains extends CardImpl {
this.addAbility(ability);
// At the beginning of each upkeep, tap enchanted creature.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapEnchantedEffect(), TargetController.ANY, false));
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapEnchantedEffect(), TargetController.EACH_PLAYER, false));
}
private CurseOfChains(final CurseOfChains card) {

View file

@ -30,7 +30,7 @@ public final class DawnglowInfusion extends CardImpl {
new ManaWasSpentCondition(ColoredManaSymbol.G), "You gain X life if {G} was spent to cast this spell"));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new GainLifeEffect(xValue),
new ManaWasSpentCondition(ColoredManaSymbol.W), " And X life if {W} was spent to cast it"));
new ManaWasSpentCondition(ColoredManaSymbol.W), "and X life if {W} was spent to cast this spell"));
this.getSpellAbility().addEffect(new InfoEffect("<i>(Do both if {G}{W} was spent.)</i>"));

View file

@ -36,7 +36,7 @@ public final class DeepSlumberTitan extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
// Whenever Deep-Slumber Titan is dealt damage, untap it.
this.addAbility(new DealtDamageToSourceTriggeredAbility(new UntapSourceEffect(), false));
this.addAbility(new DealtDamageToSourceTriggeredAbility(new UntapSourceEffect().setText("untap it"), false));
}

View file

@ -1,31 +1,32 @@
package mage.cards.d;
import java.util.UUID;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.ConspireAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
import mage.target.common.TargetCardInGraveyard;
import java.util.UUID;
/**
*
* @author jeffwadsworth
*/
public final class DisturbingPlot extends CardImpl {
private static final FilterCard filter = new FilterCreatureCard("creature card from a graveyard");
public DisturbingPlot(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}");
// Return target creature card from a graveyard to its owner's hand.
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInGraveyard(new FilterCreatureCard("creature card in a graveyard")));
this.getSpellAbility().addTarget(new TargetCardInGraveyard(filter));
// Conspire
this.addAbility(new ConspireAbility(ConspireAbility.ConspireTargets.ONE));
}
private DisturbingPlot(final DisturbingPlot card) {

View file

@ -28,10 +28,10 @@ public final class DuskUrchins extends CardImpl {
this.toughness = new MageInt(3);
// Whenever Dusk Urchins attacks or blocks, put a -1/-1 counter on it.
this.addAbility(new AttacksOrBlocksTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance()), false));
this.addAbility(new AttacksOrBlocksTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance()).setText("put a -1/-1 counter on it"), false));
// When Dusk Urchins dies, draw a card for each -1/-1 counter on it.
this.addAbility(new DiesSourceTriggeredAbility(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.M1M1))));
this.addAbility(new DiesSourceTriggeredAbility(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.M1M1)).setText("draw a card for each -1/-1 counter on it")));
}

View file

@ -38,7 +38,7 @@ public final class Firespout extends CardImpl {
new ManaWasSpentCondition(ColoredManaSymbol.R), "{this} deals 3 damage to each creature without flying if {R} was spent to cast this spell"));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DamageAllEffect(3, filter2),
new ManaWasSpentCondition(ColoredManaSymbol.G), "and 3 damage to each creature with flying if {G} was spent to cast it. <i>(Do both if {R}{G} was spent.)</i>"));
new ManaWasSpentCondition(ColoredManaSymbol.G), "and 3 damage to each creature with flying if {G} was spent to cast this spell. <i>(Do both if {R}{G} was spent.)</i>"));
}
private Firespout(final Firespout card) {

View file

@ -31,7 +31,7 @@ public final class GriefTyrant extends CardImpl {
this.toughness = new MageInt(8);
// Grief Tyrant enters the battlefield with four -1/-1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4))));
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)),"with four -1/-1 counters on it"));
// When Grief Tyrant dies, put a -1/-1 counter on target creature for each -1/-1 counter on Grief Tyrant.
Ability ability = new DiesSourceTriggeredAbility(new GriefTyrantEffect());

View file

@ -38,7 +38,7 @@ public final class GrimPoppet extends CardImpl {
this.toughness = new MageInt(4);
// Grim Poppet enters the battlefield with three -1/-1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(3), false)));
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(3)), "with three -1/-1 counters on it"));
// Remove a -1/-1 counter from Grim Poppet: Put a -1/-1 counter on another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new RemoveCountersSourceCost(CounterType.M1M1.createInstance()));

View file

@ -27,7 +27,7 @@ public final class HungrySpriggan extends CardImpl {
this.toughness = new MageInt(1);
this.addAbility(TrampleAbility.getInstance());
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(3, 3, Duration.EndOfTurn), false));
this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(3, 3, Duration.EndOfTurn).setText("it gets +3/+3 until end of turn"), false));
}
private HungrySpriggan(final HungrySpriggan card) {

View file

@ -43,7 +43,7 @@ public final class LeechBonder extends CardImpl {
this.toughness = new MageInt(3);
// Leech Bonder enters the battlefield with two -1/-1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2))));
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2)), "with two -1/-1 counters on it"));
// {U}, {untap}: Move a counter from target creature onto another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LeechBonderEffect(), new ManaCostsImpl("{U}"));

View file

@ -22,7 +22,7 @@ public final class Manamorphose extends CardImpl {
this.getSpellAbility().addEffect(new AddManaInAnyCombinationEffect(2));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
}
private Manamorphose(final Manamorphose card) {

View file

@ -3,6 +3,7 @@ package mage.cards.m;
import java.util.UUID;
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.ConspireAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@ -17,7 +18,7 @@ import mage.target.common.TargetCardInGraveyard;
*/
public final class MineExcavation extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact or enchantment card in a graveyard");
private static final FilterCard filter = new FilterCard("artifact or enchantment card from a graveyard");
static {
filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
@ -28,7 +29,7 @@ public final class MineExcavation extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{W}");
// Return target artifact or enchantment card from a graveyard to its owner's hand.
this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect());
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInGraveyard(filter));
// Conspire

View file

@ -30,7 +30,7 @@ public final class Morselhoarder extends CardImpl {
this.toughness = new MageInt(4);
// Morselhoarder enters the battlefield with two -1/-1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2), false)));
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2)), "with two -1/-1 counters on it"));
// Remove a -1/-1 counter from Morselhoarder: Add one mana of any color.
this.addAbility(new MorselhoarderAbility());

View file

@ -25,9 +25,9 @@ public final class NiveousWisps extends CardImpl {
// Target creature becomes white until end of turn. Tap that creature.
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addEffect(new BecomesColorTargetEffect(ObjectColor.WHITE, Duration.EndOfTurn));
this.getSpellAbility().addEffect(new TapTargetEffect());
this.getSpellAbility().addEffect(new TapTargetEffect("tap that creature"));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
}
public NiveousWisps (final NiveousWisps card) {

View file

@ -19,10 +19,9 @@ public final class PunctureBolt extends CardImpl {
public PunctureBolt(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}");
// Puncture Bolt deals 1 damage to target creature. Put a -1/-1 counter on that creature.
this.getSpellAbility().addEffect(new DamageTargetEffect(1));
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance()));
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance()).setText("put a -1/-1 counter on that creature"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}

View file

@ -23,7 +23,7 @@ public final class RageReflection extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}{R}");
// Creatures you control have double strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, false)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
}
private RageReflection(final RageReflection card) {

View file

@ -1,35 +1,43 @@
package mage.cards.r;
import java.util.UUID;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.common.TapTargetCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author North
*/
public final class RevelsongHorn extends CardImpl {
private static final FilterControlledPermanent filter
= new FilterControlledCreaturePermanent("an untapped creature you control");
static {
filter.add(TappedPredicate.UNTAPPED);
}
public RevelsongHorn(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {1}, {tap}, Tap an untapped creature you control: Target creature gets +1/+1 until end of turn.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BoostTargetEffect(1, 1, Duration.EndOfTurn),
new ManaCostsImpl("{1}"));
SimpleActivatedAbility ability = new SimpleActivatedAbility(
new BoostTargetEffect(1, 1, Duration.EndOfTurn), new GenericManaCost(1)
);
ability.addCost(new TapSourceCost());
ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent()));
ability.addCost(new TapTargetCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}

View file

@ -76,7 +76,7 @@ class RiverKelpieTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
return "Whenever {this} or another permanent is put onto the battlefield from a graveyard, draw a card.";
return "Whenever {this} or another permanent enters the battlefield from a graveyard, draw a card.";
}
}

View file

@ -31,7 +31,7 @@ public final class SeedcradleWitch extends CardImpl {
// {2}{G}{W}: Target creature gets +3/+3 until end of turn. Untap that creature.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}{W}"));
ability.addEffect(new UntapTargetEffect());
ability.addEffect(new UntapTargetEffect().setText("untap that creature"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}

View file

@ -42,7 +42,7 @@ public final class ShieldOfTheOversoul extends CardImpl {
this.addAbility(ability);
// As long as enchanted creature is green, it gets +1/+1 and is indestructible.
SimpleStaticAbility greenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "As long as enchanted creature is green, it gets +1/+1"));
greenAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(IndestructibleAbility.getInstance() ,AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and is indestructible"));
greenAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(IndestructibleAbility.getInstance() ,AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and has indestructible"));
this.addAbility(greenAbility);
// As long as enchanted creature is white, it gets +1/+1 and has flying.
SimpleStaticAbility whiteAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "As long as enchanted creature is white, it gets +1/+1"));

View file

@ -47,8 +47,8 @@ public final class SinkingFeeling extends CardImpl {
// Enchanted creature has "{1}, Put a -1/-1 counter on this creature: Untap this creature.
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{1}"));
ability2.addCost(new PutCountersSourceCost(CounterType.M1M1.createInstance()));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability2, AttachmentType.AURA, Duration.Custom, "Enchanted creature has \"{1}, Put a -1/-1 counter on this creature: Untap this creature.")));
ability2.addCost(new PutCountersSourceCost(CounterType.M1M1.createInstance()).setText("put a -1/-1 counter on this creature"));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability2, AttachmentType.AURA, Duration.Custom, "Enchanted creature has \"{1}, Put a -1/-1 counter on this creature: Untap this creature.\"")));
}

View file

@ -28,7 +28,7 @@ public final class SlinkingGiant extends CardImpl {
this.addAbility(WitherAbility.getInstance());
// Whenever Slinking Giant blocks or becomes blocked, it gets -3/-0 until end of turn.
this.addAbility(new BlocksOrBecomesBlockedSourceTriggeredAbility(new BoostSourceEffect(-3, 0, Duration.EndOfTurn), false));
this.addAbility(new BlocksOrBecomesBlockedSourceTriggeredAbility(new BoostSourceEffect(-3, 0, Duration.EndOfTurn).setText("it gets -3/-0 until end of turn"), false).setTriggerPhrase("Whenever {this} blocks or becomes blocked, "));
}
private SlinkingGiant(final SlinkingGiant card) {

View file

@ -29,7 +29,7 @@ public final class SpitefulVisions extends CardImpl {
// At the beginning of each player's draw step, that player draws an additional card.
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1), TargetController.ANY, false));
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1).setText("that player draws an additional card"), TargetController.ANY, false));
// Whenever a player draws a card, Spiteful Visions deals 1 damage to that player.
TriggeredAbility triggeredAbility = new SpitefulVisionsTriggeredAbility(new DamageTargetEffect(1), false);
@ -74,7 +74,7 @@ class SpitefulVisionsTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
return "Whenever a player draws a card, Spiteful Visions deals 1 damage to that player.";
return "Whenever a player draws a card, {this} deals 1 damage to that player.";
}
@Override

View file

@ -38,7 +38,7 @@ public final class TattermungeWitch extends CardImpl {
this.toughness = new MageInt(1);
// {R}{G}: Each blocked creature gets +1/+0 and gains trample until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false), new ManaCostsImpl("{R}{G}"));
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false).setText("each blocked creature gets +1/+0"), new ManaCostsImpl("{R}{G}"));
ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filter, "and gains trample until end of turn"));
this.addAbility(ability);

View file

@ -52,7 +52,7 @@ class TowerAboveEffect extends OneShotEffect {
public TowerAboveEffect() {
super(Outcome.BoostCreature);
staticText = "Until end of turn, target creature gets +4/+4 and gains trample, wither, and \"When this creature attacks, target creature blocks it this turn if able.";
staticText = "Until end of turn, target creature gets +4/+4 and gains trample, wither, and \"When this creature attacks, target creature blocks it this turn if able.\"";
}
public TowerAboveEffect(final TowerAboveEffect effect) {

View file

@ -1,12 +1,10 @@
package mage.cards.u;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.UntapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility;
@ -14,13 +12,12 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.constants.SubType;
import java.util.UUID;
/**
*
* @author Plopman
*/
public final class UmbralMantle extends CardImpl {
@ -30,11 +27,12 @@ public final class UmbralMantle extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has "{3}, {untap}: This creature gets +2/+2 until end of turn."
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{3}"));
Ability ability = new SimpleActivatedAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn).setText("this creature gets +2/+2 until end of turn"), new GenericManaCost(3));
ability.addCost(new UntapSourceCost());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
// Equip {0}
this.addAbility(new EquipAbility(Outcome.AddAbility, new ManaCostsImpl()));
this.addAbility(new EquipAbility(0));
}
private UmbralMantle(final UmbralMantle card) {

View file

@ -1,8 +1,5 @@
package mage.cards.v;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continuous.BecomesColorTargetEffect;
@ -13,8 +10,9 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author LevelX
*/
public final class ViridescentWisps extends CardImpl {
@ -23,11 +21,16 @@ public final class ViridescentWisps extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}");
// Target creature becomes green and gets +1/+0 until end of turn.
this.getSpellAbility().addEffect(new BecomesColorTargetEffect(
ObjectColor.GREEN, Duration.EndOfTurn
).setText("target creature becomes green"));
this.getSpellAbility().addEffect(new BoostTargetEffect(
1, 0, Duration.EndOfTurn
).setText("and gets +1/+0 until end of turn"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addEffect(new BecomesColorTargetEffect(ObjectColor.GREEN, Duration.EndOfTurn));
this.getSpellAbility().addEffect(new BoostTargetEffect(1,0, Duration.EndOfTurn));
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
}
public ViridescentWisps(final ViridescentWisps card) {
@ -38,6 +41,4 @@ public final class ViridescentWisps extends CardImpl {
public ViridescentWisps copy() {
return new ViridescentWisps(this);
}
}

View file

@ -1,12 +1,8 @@
package mage.cards.w;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.common.AttacksOrBlocksTriggeredAbility;
import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
@ -15,8 +11,9 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import java.util.UUID;
/**
*
* @author jeffwadsworth
*/
public final class WickerWarcrawler extends CardImpl {
@ -28,11 +25,11 @@ public final class WickerWarcrawler extends CardImpl {
this.toughness = new MageInt(6);
// Whenever Wicker Warcrawler attacks or blocks, put a -1/-1 counter on it at end of combat.
Effect effect = new AddCountersSourceEffect(CounterType.M1M1.createInstance(), true);
effect.setText("put a -1/-1 counter on it at end of combat");
DelayedTriggeredAbility ability = new AtTheEndOfCombatDelayedTriggeredAbility(effect);
this.addAbility(new AttacksOrBlocksTriggeredAbility(new CreateDelayedTriggeredAbilityEffect(ability, false, false), false));
this.addAbility(new AttacksOrBlocksTriggeredAbility(
new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(
new AddCountersSourceEffect(CounterType.M1M1.createInstance(), true)
), false, false).setText("put a -1/-1 counter on it at end of combat"), false
).setTriggerPhrase("Whenever {this} attacks or blocks, "));
}
private WickerWarcrawler(final WickerWarcrawler card) {

View file

@ -34,7 +34,7 @@ public final class WitherscaleWurm extends CardImpl {
// Whenever Witherscale Wurm blocks or becomes blocked by a creature, that creature gains wither until end of turn.
Effect effect = new GainAbilityTargetEffect(WitherAbility.getInstance(), Duration.EndOfTurn);
effect.setText("that creature gains wither until end of turn");
Ability ability = new BlocksOrBecomesBlockedSourceTriggeredAbility(effect, StaticFilters.FILTER_PERMANENT_A_CREATURE, false, null, true);
Ability ability = new BlocksOrBecomesBlockedSourceTriggeredAbility(effect, StaticFilters.FILTER_PERMANENT_CREATURE, false, null, true);
this.addAbility(ability);
// Whenever Witherscale Wurm deals damage to an opponent, remove all -1/-1 counters from it.

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_CODE = "EVE"; // check all abilities and output cards with wrong abilities texts;
private static final String FULL_ABILITIES_CHECK_SET_CODE = "SHM"; // 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

View file

@ -144,12 +144,7 @@ public class ConspireAbility extends StaticAbility implements OptionalAdditional
@Override
public String getRule() {
StringBuilder sb = new StringBuilder();
if (conspireCost != null) {
sb.append(conspireCost.getText(false));
sb.append(' ').append(conspireCost.getReminderText());
}
return sb.toString();
return "Conspire <i>(" + reminderText + ")</i>";
}
@Override