mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
text fixes
This commit is contained in:
parent
2c78f6fd27
commit
16a8efa7ea
29 changed files with 46 additions and 43 deletions
|
|
@ -38,7 +38,7 @@ public final class AkkiBattleSquad extends CardImpl {
|
|||
Ability ability = new AttacksCreatureYouControlTriggeredAbility(
|
||||
new UntapAllEffect(filter), false, filter
|
||||
).setTriggerPhrase("Whenever one or more modified creatures you control attack, ").setTriggersOnceEachTurn(true);
|
||||
ability.addEffect(new AdditionalCombatPhaseEffect());
|
||||
ability.addEffect(new AdditionalCombatPhaseEffect().setText("After this combat phase, there is an additional combat phase"));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -115,6 +115,8 @@ class CallToArmsStateTriggeredAbility extends StateTriggeredAbility {
|
|||
|
||||
public CallToArmsStateTriggeredAbility() {
|
||||
super(Zone.BATTLEFIELD, new SacrificeSourceEffect());
|
||||
setTriggerPhrase("When the chosen color isn't the most common color among nontoken permanents " +
|
||||
"the chosen player controls or is tied for most common, ");
|
||||
}
|
||||
|
||||
private CallToArmsStateTriggeredAbility(final CallToArmsStateTriggeredAbility ability) {
|
||||
|
|
@ -141,11 +143,4 @@ class CallToArmsStateTriggeredAbility extends StateTriggeredAbility {
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When the chosen color isn't the most common color "
|
||||
+ "among nontoken permanents the chosen player controls "
|
||||
+ "or is tied for most common, sacrifice {this}";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class ConquerorsGalleon extends CardImpl {
|
|||
new ExileAndReturnSourceEffect(
|
||||
PutCards.BATTLEFIELD_TRANSFORMED, Pronoun.IT, true
|
||||
)
|
||||
)), false, "When {this} attacks, exile it at the end of combat, " +
|
||||
)), false, "When {this} attacks, exile it at end of combat, " +
|
||||
"then return it to the battlefield transformed under your control."
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ public final class Heal extends CardImpl {
|
|||
// Prevent the next 1 damage that would be dealt to any target this turn.
|
||||
// Draw a card at the beginning of the next turn's upkeep.
|
||||
this.getSpellAbility().addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1));
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(1)), false).concatBy("<br>"));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ class ImmolationShamanTriggeredAbility extends TriggeredAbilityImpl {
|
|||
|
||||
ImmolationShamanTriggeredAbility() {
|
||||
super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(1), true, "that player", true));
|
||||
setTriggerPhrase("Whenever an opponent activates an ability of an artifact, creature, or land that isn't a mana ability, ");
|
||||
}
|
||||
|
||||
private ImmolationShamanTriggeredAbility(final ImmolationShamanTriggeredAbility ability) {
|
||||
|
|
@ -103,9 +104,4 @@ class ImmolationShamanTriggeredAbility extends TriggeredAbilityImpl {
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever an opponent activates an ability of an artifact, creature, or land on the battlefield, " +
|
||||
"if it isn't a mana ability, {this} deals 1 damage to that player.";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class ImperialHellkite extends CardImpl {
|
|||
|
||||
// When Imperial Hellkite is turned face up, you may search your library for a Dragon card, reveal it, and put it into your hand. If you do, shuffle your library.
|
||||
Effect effect = new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, new FilterBySubtypeCard(SubType.DRAGON)), true);
|
||||
effect.setText("you may search your library for a Dragon card, reveal it, and put it into your hand. If you do, shuffle");
|
||||
effect.setText("you may search your library for a Dragon card, reveal it, put it into your hand, then shuffle");
|
||||
this.addAbility(new TurnedFaceUpSourceTriggeredAbility(effect));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class ImposterMech extends CardImpl {
|
|||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new CopyPermanentEffect(StaticFilters.FILTER_OPPONENTS_PERMANENT_A_CREATURE, applier),
|
||||
null, "You may have {this} enter the battlefield as a copy of a creature " +
|
||||
"an opponent controls, except its a Vehicle artifact with crew 3 and it loses all other card types.", null
|
||||
"an opponent controls, except it's a Vehicle artifact with crew 3 and it loses all other card types.", null
|
||||
));
|
||||
|
||||
// Crew 3
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@ public final class Infuse extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetPermanent(filter));
|
||||
|
||||
// Draw a card at the beginning of the next turn's upkeep.
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(
|
||||
new DrawCardSourceControllerEffect(1)), false).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private Infuse(final Infuse card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class IvoryGargoyle extends CardImpl {
|
|||
Ability ability = new DiesSourceTriggeredAbility(new CreateDelayedTriggeredAbilityEffect(
|
||||
new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ReturnSourceFromGraveyardToBattlefieldEffect(false, true)
|
||||
.setText("return it to the battlefield under its owner's control at the beginning of the next end step")
|
||||
).setTriggerPhrase("")));
|
||||
).setTriggerPhrase("")).setText("return it to the battlefield under its owner's control at the beginning of the next end step"));
|
||||
ability.addEffect(new SkipNextDrawStepControllerEffect().concatBy("and"));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public final class KravTheUnredeemed extends CardImpl {
|
|||
// {B}, Sacrifice X creatures: Target player draws X cards and gains X life. Put X +1/+1 counters on Krav, the Unredeemed.
|
||||
Ability ability = new SimpleActivatedAbility(new KravTheUnredeemedEffect(), new ManaCostsImpl<>("{B}"));
|
||||
ability.addTarget(new TargetPlayer());
|
||||
ability.addCost(new SacrificeXTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE));
|
||||
ability.addCost(new SacrificeXTargetCost(StaticFilters.FILTER_PERMANENT_CREATURES));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class LightningBlow extends CardImpl {
|
|||
|
||||
// Draw a card at the beginning of the next turn's upkeep.
|
||||
this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(
|
||||
new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1), Duration.OneUse), false));
|
||||
new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1), Duration.OneUse), false).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private LightningBlow(final LightningBlow card) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class MandateOfPeace extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new MandateOfPeaceOpponentsCantCastSpellsEffect());
|
||||
|
||||
// End the combat phase.
|
||||
this.getSpellAbility().addEffect(new MandateOfPeaceEndCombatEffect());
|
||||
this.getSpellAbility().addEffect(new MandateOfPeaceEndCombatEffect().concatBy("<br>"));
|
||||
}
|
||||
|
||||
private MandateOfPeace(final MandateOfPeace card) {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class MinotaurIllusionist extends CardImpl {
|
|||
Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}")));
|
||||
// {R}, Sacrifice Minotaur Illusionist: Minotaur Illusionist deals damage equal to its power to target creature.
|
||||
Effect effect = new DamageTargetEffect(new SourcePermanentPowerCount());
|
||||
effect.setText("{this} deals damage equal to its power to target creature.");
|
||||
effect.setText("it deals damage equal to its power to target creature.");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{R}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
|||
|
|
@ -45,11 +45,11 @@ public final class NeurokTransmuter extends CardImpl {
|
|||
this.addAbility(becomeArtifactAbility);
|
||||
// {U}: Until end of turn, target artifact creature becomes blue and isn't an artifact.
|
||||
Effect blueEffect = new BecomesColorTargetEffect(ObjectColor.BLUE, Duration.EndOfTurn);
|
||||
blueEffect.setText("Until end of turn, target artifact creature becomes blue and ");
|
||||
blueEffect.setText("Until end of turn, target artifact creature becomes blue");
|
||||
Ability becomeBlueAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, blueEffect, new ManaCostsImpl<>("{U}"));
|
||||
becomeBlueAbility.addTarget(new TargetCreaturePermanent(filter));
|
||||
Effect loseArtifactEffect = new LoseArtifactTypeTargetEffect(Duration.EndOfTurn);
|
||||
loseArtifactEffect.setText("isn't an artifact");
|
||||
loseArtifactEffect.setText("and isn't an artifact");
|
||||
becomeBlueAbility.addEffect(loseArtifactEffect);
|
||||
this.addAbility(becomeBlueAbility);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class OpenTheGates extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("a basic land card or a Gate card");
|
||||
private static final FilterCard filter = new FilterCard("a basic land card or Gate card");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.p;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -15,7 +14,7 @@ import mage.constants.Outcome;
|
|||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.common.FilterInstantOrSorcerySpell;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
|
@ -46,7 +45,7 @@ public final class PrimalAmulet extends CardImpl {
|
|||
|
||||
// Whenever you cast an instant or sorcery spell, put a charge counter on Primal Amulet. Then if there are four or more charge counters on it, you may remove those counters and transform it.
|
||||
this.addAbility(new TransformAbility());
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new PrimalAmuletEffect(), new FilterInstantOrSorcerySpell(), false));
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new PrimalAmuletEffect(), StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false));
|
||||
}
|
||||
|
||||
private PrimalAmulet(final PrimalAmulet card) {
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ class PrimordialMistCost extends CostImpl {
|
|||
|
||||
public PrimordialMistCost(TargetPermanent target) {
|
||||
this.target = target;
|
||||
this.text = "Exile a face-down permanent you control face-up";
|
||||
this.text = "Exile a face-down permanent you control face up";
|
||||
}
|
||||
|
||||
private PrimordialMistCost(final PrimordialMistCost cost) {
|
||||
|
|
@ -121,7 +121,7 @@ class PrimordialMistCastFromExileEffect extends AsThoughEffectImpl {
|
|||
|
||||
PrimordialMistCastFromExileEffect() {
|
||||
super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit);
|
||||
staticText = "Exile a face-down permanent you control face up: You may play that card this turn.";
|
||||
staticText = "You may play that card this turn.";
|
||||
}
|
||||
|
||||
private PrimordialMistCastFromExileEffect(final PrimordialMistCastFromExileEffect effect) {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,8 @@ public final class RighteousAuthority extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(boost, boost, Duration.WhileOnBattlefield)));
|
||||
|
||||
// At the beginning of the draw step of enchanted creature's controller, that player draws an additional card.
|
||||
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1), TargetController.CONTROLLER_ATTACHED_TO, false));
|
||||
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1)
|
||||
.setText("that player draws an additional card"), TargetController.CONTROLLER_ATTACHED_TO, false));
|
||||
}
|
||||
|
||||
private RighteousAuthority(final RighteousAuthority card) {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ class RingOfMarufEffect extends ReplacementEffectImpl {
|
|||
|
||||
RingOfMarufEffect() {
|
||||
super(Duration.EndOfTurn, Outcome.Benefit);
|
||||
staticText = "The next time you would draw a card this turn, instead choose a card you own from outside the game and put it into your hand.";
|
||||
staticText = "The next time you would draw a card this turn, instead put a card you own from outside the game into your hand";
|
||||
}
|
||||
|
||||
private RingOfMarufEffect(final RingOfMarufEffect effect) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class TheTabernacleAtPendrellVale extends CardImpl {
|
|||
new InfoEffect(""), new DestroySourceEffect(), new GenericManaCost(1)
|
||||
).setText("destroy this creature unless you pay {1}"),
|
||||
TargetController.YOU, false
|
||||
), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)
|
||||
), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES)
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public final class ThingInTheIce extends CardImpl {
|
|||
effect.setText("remove an ice counter from {this}");
|
||||
Ability ability = new SpellCastControllerTriggeredAbility(effect, filter, false);
|
||||
effect = new ConditionalOneShotEffect(new TransformSourceEffect(), new SourceHasCounterCondition(CounterType.ICE, 0, 0),
|
||||
"if there are no ice counters on it, transform it");
|
||||
"Then if it has no ice counters on it, transform it");
|
||||
ability.addEffect(effect);
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class UrzasBauble extends CardImpl {
|
|||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookAtRandomCardEffect(), new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
ability.addTarget(new TargetPlayer());
|
||||
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false));
|
||||
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1, "you")), false));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class Venom extends CardImpl {
|
|||
// Whenever enchanted creature blocks or becomes blocked by a non-Wall creature, destroy the other creature at end of combat.
|
||||
Effect effect = new CreateDelayedTriggeredAbilityEffect(
|
||||
new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect()), true);
|
||||
effect.setText("destroy that creature at end of combat");
|
||||
effect.setText("destroy the other creature at end of combat");
|
||||
this.addAbility(new VenomTriggeredAbility(effect));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ class VileRedeemerEffect extends OneShotEffect {
|
|||
|
||||
VileRedeemerEffect() {
|
||||
super(Outcome.PutCreatureInPlay);
|
||||
this.staticText = "create a 1/1 colorless Eldrazi Scion creature token for each nontoken creature that died under your control this turn. They have \"Sacrifice this creature: Add {C}";
|
||||
this.staticText = "create a 1/1 colorless Eldrazi Scion creature token for each nontoken creature that died under your control this turn. Those tokens have \"Sacrifice this creature: Add {C}.\"";
|
||||
}
|
||||
|
||||
private VileRedeemerEffect(final VileRedeemerEffect effect) {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -29,7 +28,7 @@ import mage.target.TargetPermanent;
|
|||
*/
|
||||
public final class WillowPriestess extends CardImpl {
|
||||
|
||||
private static final FilterPermanentCard filter = new FilterPermanentCard("Faerie");
|
||||
private static final FilterPermanentCard filter = new FilterPermanentCard("a Faerie permanent card");
|
||||
private static final FilterCreaturePermanent greenCreature = new FilterCreaturePermanent("green creature");
|
||||
|
||||
static {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import mage.target.common.TargetCardInYourGraveyard;
|
|||
*/
|
||||
public final class XiahouDunTheOneEyed extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("a black card");
|
||||
private static final FilterCard filter = new FilterCard("black card");
|
||||
|
||||
static {
|
||||
filter.add(new ColorPredicate(ObjectColor.BLACK));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package mage.abilities.effects.common;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.effects.RedirectionEffect;
|
||||
import mage.constants.Duration;
|
||||
import mage.game.Game;
|
||||
|
|
@ -14,7 +15,6 @@ public class RedirectDamageFromSourceToTargetEffect extends RedirectionEffect {
|
|||
|
||||
public RedirectDamageFromSourceToTargetEffect(Duration duration, int amountToRedirect, UsageType usageType) {
|
||||
super(duration, amountToRedirect, usageType);
|
||||
staticText = "The next " + amountToRedirect + " damage that would be dealt to {this} this turn is dealt to target creature you control instead.";
|
||||
}
|
||||
|
||||
protected RedirectDamageFromSourceToTargetEffect(final RedirectDamageFromSourceToTargetEffect effect) {
|
||||
|
|
@ -39,4 +39,14 @@ public class RedirectDamageFromSourceToTargetEffect extends RedirectionEffect {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(Mode mode) {
|
||||
if (staticText != null && !staticText.isEmpty()) {
|
||||
return staticText;
|
||||
}
|
||||
return "the next " + amountToRedirect + " damage that would be dealt to {this} this turn is dealt to "
|
||||
+ getTargetPointer().describeTargets(mode.getTargets(), "that creature")
|
||||
+ " instead";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import mage.constants.Zone;
|
|||
public final class EldraziSliverToken extends TokenImpl {
|
||||
|
||||
public EldraziSliverToken() {
|
||||
super("Eldrazi Sliver Token", "1/1 colorless Eldrazi Sliver creature token with \"Sacrifice this creature: Add {C}.\"");
|
||||
super("Eldrazi Sliver Token", "1/1 colorless Eldrazi Sliver creature token. It has \"Sacrifice this creature: Add {C}.\"");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.ELDRAZI);
|
||||
subtype.add(SubType.SLIVER);
|
||||
|
|
|
|||
|
|
@ -986,6 +986,7 @@ public final class CardUtil {
|
|||
|| text.startsWith("an ")
|
||||
|| text.startsWith("another ")
|
||||
|| text.startsWith("any ")
|
||||
|| text.startsWith("{this} ")
|
||||
|| text.startsWith("one ")) {
|
||||
return text;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue