mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
some more text fixes
This commit is contained in:
parent
96cc1e40ee
commit
d43e96eaf2
18 changed files with 37 additions and 29 deletions
|
|
@ -41,12 +41,10 @@ public final class AcererakTheArchlich extends CardImpl {
|
|||
this.toughness = new MageInt(5);
|
||||
|
||||
// When Acererak the Archlich enters the battlefield, if you have not completed Tomb of Annihilation, return Acererak the Archlich to its owner's hand and venture into the dungeon.
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandSourceEffect(true).setText("return it to its owner's hand"))
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandSourceEffect(true))
|
||||
.withInterveningIf(AcererakTheArchlichCondition.instance);
|
||||
ability.addEffect(new VentureIntoTheDungeonEffect().concatBy("and"));
|
||||
ability.addHint(CurrentDungeonHint.instance);
|
||||
ability.addHint(CompletedDungeonCondition.getHint());
|
||||
this.addAbility(ability, new CompletedDungeonWatcher());
|
||||
this.addAbility(ability.addHint(CurrentDungeonHint.instance).addHint(CompletedDungeonCondition.getHint()), new CompletedDungeonWatcher());
|
||||
|
||||
// Whenever Acererak the Archlich attacks, for each opponent, you create a 2/2 black Zombie creature token unless that player sacrifices a creature.
|
||||
this.addAbility(new AttacksTriggeredAbility(new AcererakTheArchlichEffect()));
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class AdaptiveTrainingPost extends CardImpl {
|
|||
this.addAbility(new SpellCastControllerTriggeredAbility(
|
||||
new AddCountersSourceEffect(CounterType.CHARGE.createInstance()),
|
||||
StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false
|
||||
).withInterveningIf(condition));
|
||||
).withInterveningIf(condition).withRuleTextReplacement(true));
|
||||
|
||||
// Remove three charge counters from this artifact: When you next cast an instant or sorcery spell this turn, copy it and you may choose new targets for the copy.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
package mage.cards.a;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.effects.common.DoIfCostPaid;
|
||||
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
|
|
@ -15,18 +15,14 @@ import mage.filter.common.FilterControlledPermanent;
|
|||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class AkutaBornOfAsh extends CardImpl {
|
||||
|
||||
private static final FilterControlledPermanent filterSwamp = new FilterControlledPermanent("a Swamp");
|
||||
static {
|
||||
filterSwamp.add(SubType.SWAMP.getPredicate());
|
||||
}
|
||||
private static final FilterControlledPermanent filterSwamp = new FilterControlledPermanent(SubType.SWAMP, "a Swamp");
|
||||
|
||||
public AkutaBornOfAsh(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}");
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.SPIRIT);
|
||||
|
||||
|
|
@ -37,9 +33,14 @@ public final class AkutaBornOfAsh extends CardImpl {
|
|||
this.addAbility(HasteAbility.getInstance());
|
||||
|
||||
// At the beginning of your upkeep, if you have more cards in hand than each opponent, you may sacrifice a Swamp. If you do, return Akuta, Born of Ash from your graveyard to the battlefield.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
|
||||
TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToBattlefieldEffect(), new SacrificeTargetCost(filterSwamp)),
|
||||
false).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance));
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(
|
||||
Zone.GRAVEYARD, TargetController.YOU,
|
||||
new DoIfCostPaid(
|
||||
new ReturnSourceFromGraveyardToBattlefieldEffect()
|
||||
.setText("return {this} from your graveyard to the battlefield"),
|
||||
new SacrificeTargetCost(filterSwamp)
|
||||
), false
|
||||
).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance));
|
||||
}
|
||||
|
||||
private AkutaBornOfAsh(final AkutaBornOfAsh card) {
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ enum BorealOutriderCondition implements Condition {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{S} of any of that spell's color was spent to cast it";
|
||||
return "{S} of any of that spell's colors was spent to cast it";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ class CurseOfTheCabalTriggeredAbilityConditionalDelay extends AddCountersSourceE
|
|||
|
||||
public CurseOfTheCabalTriggeredAbilityConditionalDelay() {
|
||||
super(CounterType.TIME.createInstance(), StaticValue.get(2), false, true);
|
||||
staticText = "that player may sacrifice a permanent. If the player does, put two time counters on {this}";
|
||||
staticText = "that player may sacrifice a permanent of their choice. If the player does, put two time counters on this card";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class DarigaazReincarnatedReturnEffect extends OneShotEffect {
|
|||
|
||||
DarigaazReincarnatedReturnEffect() {
|
||||
super(Outcome.Benefit);
|
||||
this.staticText = "remove an egg counter from it. Then if {this} has no egg counters on it, return it to the battlefield";
|
||||
this.staticText = "remove an egg counter from it. Then if this card has no egg counters on it, return it to the battlefield";
|
||||
}
|
||||
|
||||
private DarigaazReincarnatedReturnEffect(final DarigaazReincarnatedReturnEffect effect) {
|
||||
|
|
|
|||
|
|
@ -79,6 +79,11 @@ enum EowynShieldmaidenCondition implements Condition {
|
|||
source.getSourcePermanentOrLKI(game),
|
||||
source.getControllerId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "another Human entered the battlefield under your control this turn";
|
||||
}
|
||||
}
|
||||
|
||||
class EowynShieldmaidenWatcher extends Watcher {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class NetherSpirit extends CardImpl {
|
|||
|
||||
// At the beginning of your upkeep, if Nether Spirit is the only creature card in your graveyard, you may return Nether Spirit to the battlefield.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
|
||||
TargetController.YOU, new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return {this} to the battlefield"),
|
||||
TargetController.YOU, new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return this card to the battlefield"),
|
||||
true).withInterveningIf(NetherSpiritCondition.instance));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class OchreJelly extends CardImpl {
|
|||
this.addAbility(new DiesSourceTriggeredAbility(new CreateDelayedTriggeredAbilityEffect(
|
||||
new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new OchreJellyEffect())
|
||||
).setText("create a token that's a copy of it at the beginning of the next end step. " +
|
||||
"That token enters the battlefield with half that many +1/+1 counters on it, rounded down"))
|
||||
"The token enters with half that many +1/+1 counters on it, rounded down"))
|
||||
.withInterveningIf(OchreJellyCondition.instance).withFlavorWord("Split"));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,9 @@ public final class RoseCutthroatRaider extends CardImpl {
|
|||
|
||||
// Raid -- At end of combat on your turn, if you attacked this turn, create a Junk token for each opponent you attacked.
|
||||
this.addAbility(new EndOfCombatTriggeredAbility(
|
||||
new CreateTokenEffect(new JunkToken(), AttackedThisTurnOpponentsCount.instance), TargetController.YOU, false
|
||||
new CreateTokenEffect(new JunkToken(), AttackedThisTurnOpponentsCount.instance)
|
||||
.setText("create a Junk token for each opponent you attacked"),
|
||||
TargetController.YOU, false
|
||||
).withInterveningIf(RaidCondition.instance).setAbilityWord(AbilityWord.RAID).addHint(AttackedThisTurnOpponentsCount.getHint()), new PlayersAttackedThisTurnWatcher());
|
||||
|
||||
// Whenever you sacrifice a Junk, add {R}.
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public final class StarseerMentor extends CardImpl {
|
|||
new DiscardCardCost()
|
||||
),
|
||||
"Sacrifice a nonland permanent or discard a card to prevent losing 3 life?"
|
||||
)
|
||||
).setText("target opponent loses 3 life unless they sacrifice a nonland permanent of their choice or discard a card")
|
||||
).withInterveningIf(YouGainedOrLostLifeCondition.instance);
|
||||
ability.addTarget(new TargetOpponent());
|
||||
this.addAbility(ability.addHint(YouGainedOrLostLifeCondition.getHint()), new PlayerGainedLifeWatcher());
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public final class TwistsAndTurns extends CardImpl {
|
|||
this.addAbility(new TransformAbility());
|
||||
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
|
||||
new TransformSourceEffect(), StaticFilters.FILTER_LAND
|
||||
).withInterveningIf(condition));
|
||||
).withInterveningIf(condition).setTriggerPhrase("When a land you control enters, "));
|
||||
}
|
||||
|
||||
private TwistsAndTurns(final TwistsAndTurns card) {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public final class VesselOfTheAllConsuming extends CardImpl {
|
|||
|
||||
// Whenever Vessel of the All-Consuming deals damage to a player, if it has dealt 10 or more damage to that player this turn, they lose the game.
|
||||
this.addAbility(new DealsDamageToAPlayerTriggeredAbility(
|
||||
new LoseGameTargetPlayerEffect(), false, true
|
||||
new LoseGameTargetPlayerEffect().setText("they lose the game"), false, true
|
||||
).withInterveningIf(VesselOfTheAllConsumingCondition.instance));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class WallOfResistance extends CardImpl {
|
|||
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
||||
TargetController.ANY, new AddCountersSourceEffect(CounterType.P0P1.createInstance()),
|
||||
false, WallOfResistanceCondition.instance
|
||||
));
|
||||
).withRuleTextReplacement(true));
|
||||
}
|
||||
|
||||
private WallOfResistance(final WallOfResistance card) {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import mage.game.Game;
|
|||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.ZoneChangeEvent;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
/**
|
||||
* @author North
|
||||
|
|
@ -52,12 +53,13 @@ public class DiesCreatureTriggeredAbility extends TriggeredAbilityImpl {
|
|||
public DiesCreatureTriggeredAbility(Zone zone, Effect effect, boolean optional, FilterPermanent filter, boolean setTargetPointer) {
|
||||
this(zone, effect, optional, filter, (setTargetPointer ? SetTargetPointer.PERMANENT : SetTargetPointer.NONE));
|
||||
}
|
||||
|
||||
public DiesCreatureTriggeredAbility(Zone zone, Effect effect, boolean optional, FilterPermanent filter, SetTargetPointer setTargetPointer) {
|
||||
super(zone, effect, optional);
|
||||
this.filter = filter;
|
||||
this.setTargetPointer = setTargetPointer;
|
||||
setLeavesTheBattlefieldTrigger(true);
|
||||
setTriggerPhrase("Whenever " + filter.getMessage() + (filter.getMessage().startsWith("one or more") ? " die, " : " dies, "));
|
||||
setTriggerPhrase("Whenever " + CardUtil.addArticle(filter.getMessage()) + (filter.getMessage().startsWith("one or more") ? " die, " : " dies, "));
|
||||
}
|
||||
|
||||
protected DiesCreatureTriggeredAbility(final DiesCreatureTriggeredAbility ability) {
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public class EntersBattlefieldAttachToTarget extends EntersBattlefieldTriggeredA
|
|||
}
|
||||
|
||||
public EntersBattlefieldAttachToTarget(FilterPermanent filter) {
|
||||
super(new AttachEffect(Outcome.BoostCreature, "attach it to target " + filter.getMessage()));
|
||||
super(new AttachEffect(Outcome.BoostCreature, "attach {this} to target " + filter.getMessage()));
|
||||
this.addTarget(new TargetPermanent(filter));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class CreateTokenCopySourceEffect extends OneShotEffect {
|
|||
this.number = copies;
|
||||
this.tapped = tapped;
|
||||
staticText = "create " + CardUtil.numberToText(copies, "a") + " " + (tapped ? "tapped " : "")
|
||||
+ (copies > 1 ? "tokens that are" : "token that's") + " a copy of {this}";
|
||||
+ (copies > 1 ? "tokens that are copies of " : "token that's a copy of ") + "{this}";
|
||||
}
|
||||
|
||||
protected CreateTokenCopySourceEffect(final CreateTokenCopySourceEffect effect) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public class GainAbilityControllerEffect extends ContinuousEffectImpl {
|
|||
public GainAbilityControllerEffect(Ability ability, Duration duration) {
|
||||
super(duration, Layer.PlayerEffects, SubLayer.NA, Outcome.AddAbility);
|
||||
this.ability = ability;
|
||||
staticText = "you " + (duration == Duration.WhileOnBattlefield ? "have" : "gain") + ability.getRule();
|
||||
staticText = "you " + (duration == Duration.WhileOnBattlefield ? "have" : "gain") + ' ' + ability.getRule();
|
||||
if (!duration.toString().isEmpty()) {
|
||||
staticText += ' ' + duration.toString();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue