some text fixes

This commit is contained in:
Evan Kranzler 2017-10-06 16:55:46 -04:00
parent 17b7de4e87
commit 3baabe2534
28 changed files with 78 additions and 74 deletions

View file

@ -59,7 +59,7 @@ public class Bequeathal extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
// When enchanted creature dies, you draw two cards. // When enchanted creature dies, you draw two cards.
this.addAbility( new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(2), "enchanted creature")); this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(2).setText("you draw two cards"), "enchanted creature"));
} }
public Bequeathal(final Bequeathal card) { public Bequeathal(final Bequeathal card) {

View file

@ -50,7 +50,7 @@ public class ChillHaunting extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}");
// As an additional cost to cast Chill Haunting, exile X creature cards from your graveyard. // As an additional cost to cast Chill Haunting, exile X creature cards from your graveyard.
this.getSpellAbility().addCost(new ExileXFromYourGraveCost(new FilterCreatureCard("cards from your graveyard"))); this.getSpellAbility().addCost(new ExileXFromYourGraveCost(new FilterCreatureCard("cards from your graveyard"), true));
// Target creature gets -X/-X until end of turn. // Target creature gets -X/-X until end of turn.
this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addTarget(new TargetCreaturePermanent());

View file

@ -45,7 +45,7 @@ import mage.constants.CardType;
import mage.constants.SetTargetPointer; import mage.constants.SetTargetPointer;
import mage.constants.Zone; import mage.constants.Zone;
import mage.counters.CounterType; import mage.counters.CounterType;
import mage.filter.StaticFilters; import mage.filter.FilterSpell;
import mage.target.TargetSpell; import mage.target.TargetSpell;
/** /**
@ -60,7 +60,7 @@ public class DecreeOfSilence extends CardImpl {
// Whenever an opponent casts a spell, counter that spell and put a depletion counter on Decree of Silence. If there are three or more depletion counters on Decree of Silence, sacrifice it. // Whenever an opponent casts a spell, counter that spell and put a depletion counter on Decree of Silence. If there are three or more depletion counters on Decree of Silence, sacrifice it.
Effect effect = new CounterTargetEffect(); Effect effect = new CounterTargetEffect();
effect.setText("counter that spell"); effect.setText("counter that spell");
Ability ability = new SpellCastOpponentTriggeredAbility(Zone.BATTLEFIELD, effect, StaticFilters.FILTER_SPELL, Ability ability = new SpellCastOpponentTriggeredAbility(Zone.BATTLEFIELD, effect, new FilterSpell("a spell"),
false, SetTargetPointer.SPELL); false, SetTargetPointer.SPELL);
effect = new AddCountersSourceEffect(CounterType.DEPLETION.createInstance()); effect = new AddCountersSourceEffect(CounterType.DEPLETION.createInstance());
effect.setText("and put a depletion counter on {this}."); effect.setText("and put a depletion counter on {this}.");

View file

@ -105,7 +105,7 @@ class CardsInTargetPlayerHandCount implements DynamicValue {
@Override @Override
public String getMessage() { public String getMessage() {
return "cards in chosen opponents hand"; return "cards in the chosen player's hand";
} }
@Override @Override

View file

@ -56,7 +56,7 @@ public class MercurialKite extends CardImpl {
// Whenever Mercurial Kite deals combat damage to a creature, tap that creature. That creature doesn't untap during its controller's next untap step. // Whenever Mercurial Kite deals combat damage to a creature, tap that creature. That creature doesn't untap during its controller's next untap step.
Ability ability; Ability ability;
ability = new DealsDamageToACreatureTriggeredAbility(new TapTargetEffect("that creature"), true, false, true); ability = new DealsDamageToACreatureTriggeredAbility(new TapTargetEffect("that creature"), true, false, true);
ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("and it")); ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect(". That creature"));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -60,7 +60,7 @@ public class MischievousQuanar extends CardImpl {
// {3}{U}{U}: Turn Mischievous Quanar face down. // {3}{U}{U}: Turn Mischievous Quanar face down.
Effect effect = new BecomesFaceDownCreatureEffect(Duration.Custom, BecomesFaceDownCreatureEffect.FaceDownType.MANUAL); Effect effect = new BecomesFaceDownCreatureEffect(Duration.Custom, BecomesFaceDownCreatureEffect.FaceDownType.MANUAL);
effect.setText("Turn Michievous Quanar face down. <i>(It becomes a 2/2 creature.)</i>"); effect.setText("Turn {this} face down. <i>(It becomes a 2/2 creature.)</i>");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{3}{U}{U}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{3}{U}{U}")));
// Morph {1}{U}{U} // Morph {1}{U}{U}

View file

@ -64,7 +64,8 @@ public class OneWithNature extends CardImpl {
// Whenever enchanted creature deals combat damage to a player, you may search your library for a basic land card, put that card onto the battlefield tapped, then shuffle your library. // Whenever enchanted creature deals combat damage to a player, you may search your library for a basic land card, put that card onto the battlefield tapped, then shuffle your library.
ability = new DealsDamageToAPlayerAttachedTriggeredAbility( ability = new DealsDamageToAPlayerAttachedTriggeredAbility(
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_BASIC_LAND_CARD), true, Outcome.PutLandInPlay), new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_BASIC_LAND_CARD), true, Outcome.PutLandInPlay)
.setText("you may search your library for a basic land card, put that card onto the battlefield tapped, then shuffle your library."),
"enchanted creature", true, false, true, TargetController.ANY); "enchanted creature", true, false, true, TargetController.ANY);
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -45,7 +45,7 @@ import mage.target.common.TargetControlledPermanent;
*/ */
public class RavenGuildInitiate extends CardImpl { public class RavenGuildInitiate extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledPermanent("Bird you control"); private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Bird you control");
static { static {
filter.add(new SubtypePredicate(SubType.BIRD)); filter.add(new SubtypePredicate(SubType.BIRD));

View file

@ -45,10 +45,9 @@ public class ReapingTheGraves extends CardImpl {
public ReapingTheGraves(UUID ownerId, CardSetInfo setInfo) { public ReapingTheGraves(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{B}"); super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{B}");
// Return target creature card from your graveyard to your hand. // Return target creature card from your graveyard to your hand.
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card from your graveyard"))); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card from your graveyard")));
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addEffect(new ReturnToHandTargetEffect().setText("Return target creature card from your graveyard to your hand."));
// Storm // Storm
this.addAbility(new StormAbility()); this.addAbility(new StormAbility());
} }

View file

@ -47,7 +47,7 @@ public class ReapingTheRewards extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}");
// Buyback-Sacrifice a land. // Buyback-Sacrifice a land.
this.addAbility(new BuybackAbility(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent())))); this.addAbility(new BuybackAbility(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land")))));
// You gain 2 life. // You gain 2 life.
this.getSpellAbility().addEffect(new GainLifeEffect(2)); this.getSpellAbility().addEffect(new GainLifeEffect(2));

View file

@ -50,7 +50,7 @@ public class RecklessOgre extends CardImpl {
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// Whenever Reckless Ogre attacks alone, it gets +3/+0 until end of turn. // Whenever Reckless Ogre attacks alone, it gets +3/+0 until end of turn.
this.addAbility(new AttacksAloneTriggeredAbility(new BoostSourceEffect(3, 0, Duration.EndOfTurn))); this.addAbility(new AttacksAloneTriggeredAbility(new BoostSourceEffect(3, 0, Duration.EndOfTurn).setText("it gets +3/+0 until end of turn")));
} }
public RecklessOgre(final RecklessOgre card) { public RecklessOgre(final RecklessOgre card) {

View file

@ -45,7 +45,8 @@ public class RewardTheFaithful extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}");
// Any number of target players each gain life equal to the highest converted mana cost among permanents you control. // Any number of target players each gain life equal to the highest converted mana cost among permanents you control.
this.getSpellAbility().addEffect(new GainLifeTargetEffect(new HighestConvertedManaCostValue())); this.getSpellAbility().addEffect(new GainLifeTargetEffect(new HighestConvertedManaCostValue())
.setText("Any number of target players each gain life equal to the highest converted mana cost among permanents you control."));
this.getSpellAbility().addTarget(new TargetPlayer(0, Integer.MAX_VALUE, false)); this.getSpellAbility().addTarget(new TargetPlayer(0, Integer.MAX_VALUE, false));
} }

View file

@ -66,7 +66,7 @@ public class ScaldingSalamander extends CardImpl {
// Whenever Scalding Salamander attacks, you may have it deal 1 damage to each creature without flying defending player controls. // Whenever Scalding Salamander attacks, you may have it deal 1 damage to each creature without flying defending player controls.
this.addAbility(new AttacksTriggeredAbility( this.addAbility(new AttacksTriggeredAbility(
new DamageAllEffect(1, filter), true, new DamageAllEffect(1, filter), true,
"Whenever Scalding Salamander attacks, you may have it deal 1 damage to each creature without flying defending player controls" "Whenever Scalding Salamander attacks, you may have it deal 1 damage to each creature without flying defending player controls."
)); ));
} }

View file

@ -59,7 +59,7 @@ public class SpikeCannibal extends CardImpl {
this.toughness = new MageInt(0); this.toughness = new MageInt(0);
// Spike Cannibal enters the battlefield with a +1/+1 counter on it. // Spike Cannibal enters the battlefield with a +1/+1 counter on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), "Spike Cannibal enters the battlefield with a +1/+1 counter on it")); this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), "with a +1/+1 counter on it"));
// When Spike Cannibal enters the battlefield, move all +1/+1 counters from all creatures onto it. // When Spike Cannibal enters the battlefield, move all +1/+1 counters from all creatures onto it.
this.addAbility(new EntersBattlefieldTriggeredAbility(new SpikeCannibalEffect())); this.addAbility(new EntersBattlefieldTriggeredAbility(new SpikeCannibalEffect()));

View file

@ -60,7 +60,7 @@ public class SpikeRogue extends CardImpl {
this.toughness = new MageInt(0); this.toughness = new MageInt(0);
// Spike Rogue enters the battlefield with two +1/+1 counters on it. // Spike Rogue enters the battlefield with two +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)))); this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), "with two +1/+1 counters on it"));
// {2}, Remove a +1/+1 counter from Spike Rogue: Put a +1/+1 counter on target creature. // {2}, Remove a +1/+1 counter from Spike Rogue: Put a +1/+1 counter on target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new GenericManaCost(2));

View file

@ -60,7 +60,7 @@ public class SpikeWeaver extends CardImpl {
this.toughness = new MageInt(0); this.toughness = new MageInt(0);
// Spike Weaver enters the battlefield with three +1/+1 counters on it. // Spike Weaver enters the battlefield with three +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)))); this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), "with three +1/+1 counters on it"));
// {2}, Remove a +1/+1 counter from Spike Weaver: Put a +1/+1 counter on target creature. // {2}, Remove a +1/+1 counter from Spike Weaver: Put a +1/+1 counter on target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new GenericManaCost(2)); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new GenericManaCost(2));

View file

@ -45,7 +45,9 @@ public class TorrentOfFire extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}"); super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}");
// Torrent of Fire deals damage equal to the highest converted mana cost among permanents you control to target creature or player. // Torrent of Fire deals damage equal to the highest converted mana cost among permanents you control to target creature or player.
this.getSpellAbility().addEffect(new DamageTargetEffect(new HighestConvertedManaCostValue())); this.getSpellAbility().addEffect(new DamageTargetEffect(new HighestConvertedManaCostValue())
.setText("{this} deals damage to target creature or player equal to the highest converted mana cost among permanents you control.")
);
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
} }

View file

@ -44,7 +44,7 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
*/ */
public class VengefulDead extends CardImpl { public class VengefulDead extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("{this} or another Zombie"); private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Zombie");
static { static {
filter.add(new SubtypePredicate(SubType.ZOMBIE)); filter.add(new SubtypePredicate(SubType.ZOMBIE));

View file

@ -44,7 +44,6 @@ import mage.target.common.TargetCardInLibrary;
* *
* @author fireshoes * @author fireshoes
*/ */
public class WelkinHawk extends CardImpl { public class WelkinHawk extends CardImpl {
private static final FilterCard filter = new FilterCard("card named Welkin Hawk"); private static final FilterCard filter = new FilterCard("card named Welkin Hawk");
@ -63,7 +62,7 @@ public class WelkinHawk extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// When Welkin Hawk dies, you may search your library for a card named Welkin Hawk, reveal that card, put it into your hand, then shuffle your library. // When Welkin Hawk dies, you may search your library for a card named Welkin Hawk, reveal that card, put it into your hand, then shuffle your library.
TargetCardInLibrary target = new TargetCardInLibrary(0, 1, filter); TargetCardInLibrary target = new TargetCardInLibrary(1, 1, filter);
this.addAbility(new DiesTriggeredAbility(new SearchLibraryPutInHandEffect(target, true, true), true)); this.addAbility(new DiesTriggeredAbility(new SearchLibraryPutInHandEffect(target, true, true), true));
} }

View file

@ -773,7 +773,7 @@ public abstract class AbilityImpl implements Ability {
} }
if (!costs.isEmpty()) { if (!costs.isEmpty()) {
if (sbRule.length() > 0) { if (sbRule.length() > 0) {
sbRule.append(','); sbRule.append(", ");
} }
sbRule.append(costs.getText()); sbRule.append(costs.getText());
} }

View file

@ -15,7 +15,6 @@ import mage.game.events.GameEvent;
* *
* @author LevelX2 * @author LevelX2
*/ */
public class EndOfCombatTriggeredAbility extends TriggeredAbilityImpl { public class EndOfCombatTriggeredAbility extends TriggeredAbilityImpl {
public EndOfCombatTriggeredAbility(Effect effect, boolean optional) { public EndOfCombatTriggeredAbility(Effect effect, boolean optional) {
@ -43,6 +42,6 @@ public class EndOfCombatTriggeredAbility extends TriggeredAbilityImpl {
@Override @Override
public String getRule() { public String getRule() {
return "At the end of combat, " + super.getRule(); return "At end of combat, " + super.getRule();
} }
} }

View file

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed * authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com. * or implied, of BetaSteward_at_googlemail.com.
*/ */
package mage.abilities.effects.common; package mage.abilities.effects.common;
import java.util.List; import java.util.List;
@ -52,6 +51,7 @@ public class ExileAllEffect extends OneShotEffect {
public ExileAllEffect(FilterPermanent filter) { public ExileAllEffect(FilterPermanent filter) {
this(filter, null, null); this(filter, null, null);
} }
public ExileAllEffect(FilterPermanent filter, UUID exileId, String exileZone) { public ExileAllEffect(FilterPermanent filter, UUID exileId, String exileZone) {
super(Outcome.Exile); super(Outcome.Exile);
this.filter = filter; this.filter = filter;
@ -84,12 +84,11 @@ public class ExileAllEffect extends OneShotEffect {
} }
return false; return false;
} }
private void setText() { private void setText() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("Exile all ").append(filter.getMessage()); sb.append("exile all ").append(filter.getMessage());
staticText = sb.toString(); staticText = sb.toString();
} }
} }

View file

@ -152,14 +152,20 @@ public class AddCountersSourceEffect extends OneShotEffect {
private void setText() { private void setText() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("put "); sb.append("put ");
boolean plural = true;
if (counter.getCount() > 1) { if (counter.getCount() > 1) {
sb.append(CardUtil.numberToText(counter.getCount())).append(' '); sb.append(CardUtil.numberToText(counter.getCount())).append(' ');
} else if (amount.toString().equals("X") && amount.getMessage().isEmpty()) { } else if (amount.toString().equals("X") && amount.getMessage().isEmpty()) {
sb.append("X "); sb.append("X ");
} else { } else {
sb.append("a "); sb.append("a ");
plural = false;
} }
sb.append(counter.getName().toLowerCase()).append(" counter on {this}"); sb.append(counter.getName().toLowerCase()).append(" counter");
if (plural) {
sb.append('s');
}
sb.append(" on {this}");
if (!amount.getMessage().isEmpty()) { if (!amount.getMessage().isEmpty()) {
sb.append(" for each ").append(amount.getMessage()); sb.append(" for each ").append(amount.getMessage());
} }

View file

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed * authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com. * or implied, of BetaSteward_at_googlemail.com.
*/ */
package mage.abilities.keyword; package mage.abilities.keyword;
import mage.abilities.Ability; import mage.abilities.Ability;
@ -62,7 +61,7 @@ public class FlyingAbility extends EvasionAbility implements MageSingleton {
@Override @Override
public String getRule() { public String getRule() {
return "Flying"; return "flying";
} }
@Override @Override

View file

@ -56,7 +56,7 @@ public class ShroudAbility extends StaticAbility implements MageSingleton {
@Override @Override
public String getRule() { public String getRule() {
return "Shroud"; return "shroud";
} }
@Override @Override

View file

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed * authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com. * or implied, of BetaSteward_at_googlemail.com.
*/ */
package mage.abilities.keyword; package mage.abilities.keyword;
import mage.constants.Zone; import mage.constants.Zone;
@ -56,7 +55,7 @@ public class VigilanceAbility extends StaticAbility implements MageSingleton {
@Override @Override
public String getRule() { public String getRule() {
return "Vigilance"; return "vigilance";
} }
@Override @Override