even more text fixes

This commit is contained in:
xenohedron 2024-01-27 21:08:03 -05:00
parent 78e1e90356
commit 391ddf267b
15 changed files with 37 additions and 24 deletions

View file

@ -14,7 +14,8 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.StaticFilters;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import java.util.UUID;
@ -23,6 +24,9 @@ import java.util.UUID;
*/
public final class AnzragTheQuakeMole extends CardImpl {
private static final FilterPermanent filter
= new FilterControlledCreaturePermanent("each creature you control");
public AnzragTheQuakeMole(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{G}");
@ -34,7 +38,7 @@ public final class AnzragTheQuakeMole extends CardImpl {
// Whenever Anzrag, the Quake-Mole becomes blocked, untap each creature you control. After this combat phase, there is an additional combat phase.
Ability ability = new BecomesBlockedSourceTriggeredAbility(
new UntapAllEffect(StaticFilters.FILTER_CONTROLLED_CREATURE), false
new UntapAllEffect(filter), false
);
ability.addEffect(new AdditionalCombatPhaseEffect()
.setText("After this combat phase, there is an additional combat phase"));

View file

@ -39,7 +39,7 @@ public final class BarbedServitor extends CardImpl {
// Whenever Barbed Servitor deals combat damage to a player, you draw a card and you lose 1 life.
Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(
new DrawCardSourceControllerEffect(1, "you"), true
new DrawCardSourceControllerEffect(1, "you"), false
);
ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and"));
this.addAbility(ability);

View file

@ -39,7 +39,7 @@ public final class CauldronDance extends CardImpl {
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
// You may put a creature card from your hand onto the battlefield. That creature gains haste. Its controller sacrifices it at the beginning of the next end step.
this.getSpellAbility().addEffect(new CauldronDancePutCreatureFromHandOntoBattlefieldEffect());
this.getSpellAbility().addEffect(new CauldronDancePutCreatureFromHandOntoBattlefieldEffect().concatBy("<br>"));
}
private CauldronDance(final CauldronDance card) {

View file

@ -43,7 +43,8 @@ public final class ChancellorOfTheAnnex extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Whenever an opponent casts a spell, counter it unless that player pays {1}.
this.addAbility(new SpellCastOpponentTriggeredAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new GenericManaCost(1)), StaticFilters.FILTER_SPELL_A, false, SetTargetPointer.SPELL));
this.addAbility(new SpellCastOpponentTriggeredAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new GenericManaCost(1))
.setText("counter it unless that player pays {1}"), StaticFilters.FILTER_SPELL_A, false, SetTargetPointer.SPELL));
}
private ChancellorOfTheAnnex(final ChancellorOfTheAnnex card) {

View file

@ -11,8 +11,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.permanent.SuspectedPredicate;
import mage.target.TargetPermanent;
@ -24,9 +24,11 @@ import java.util.UUID;
public final class ClandestineMeddler extends CardImpl {
private static final FilterPermanent filter = new FilterControlledCreaturePermanent();
private static final FilterPermanent filterOther = new FilterControlledCreaturePermanent("other target creature you control");
static {
filter.add(SuspectedPredicate.instance);
filterOther.add(AnotherPredicate.instance);
}
public ClandestineMeddler(UUID ownerId, CardSetInfo setInfo) {
@ -40,7 +42,7 @@ public final class ClandestineMeddler extends CardImpl {
// When Clandestine Meddler enters the battlefield, suspect up to one other target creature you control.
Ability ability = new EntersBattlefieldTriggeredAbility(new SuspectTargetEffect());
ability.addTarget(new TargetPermanent(
0, 1, StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL
0, 1, filterOther
));
this.addAbility(ability);

View file

@ -30,7 +30,7 @@ public final class Festerleech extends CardImpl {
// Whenever Festerleech deals combat damage to a player, you mill two cards.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new MillCardsControllerEffect(2), false
new MillCardsControllerEffect(2).setText("you mill two cards"), false
));
// {1}{B}: Festerleech gets +2/+2 until end of turn. Activate only once each turn.

View file

@ -35,7 +35,8 @@ public final class GlintWeaver extends CardImpl {
Ability ability = new EntersBattlefieldTriggeredAbility(new DistributeCountersEffect(
CounterType.P1P1, 3, "one, two, or three target creatures"
));
ability.addEffect(new GainLifeEffect(GreatestToughnessAmongControlledCreaturesValue.instance).concatBy(", then"));
ability.addEffect(new GainLifeEffect(GreatestToughnessAmongControlledCreaturesValue.instance)
.setText(", then you gain life equal to the greatest toughness among creatures you control"));
ability.addTarget(new TargetCreaturePermanentAmount(3));
this.addAbility(ability);
}

View file

@ -9,7 +9,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.target.common.TargetCardInASingleGraveyard;
import java.util.UUID;
@ -19,8 +19,6 @@ import java.util.UUID;
*/
public final class GriffnautTracker extends CardImpl {
private static final FilterCard filter = new FilterCard("cards from a single graveyard");
public GriffnautTracker(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
@ -34,7 +32,7 @@ public final class GriffnautTracker extends CardImpl {
// When Griffnaut Tracker enters the battlefield, exile up to two target cards from a single graveyard.
Ability ability = new EntersBattlefieldTriggeredAbility(new ExileTargetEffect());
ability.addTarget(new TargetCardInASingleGraveyard(0, 2, filter));
ability.addTarget(new TargetCardInASingleGraveyard(0, 2, StaticFilters.FILTER_CARD_CARDS));
this.addAbility(ability);
}

View file

@ -29,7 +29,8 @@ public final class HuntersAmbush extends CardImpl {
// Prevent all combat damage that would be dealt by nongreen creatures this turn.
this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(filter, Duration.EndOfTurn, true));
this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(filter, Duration.EndOfTurn, true)
.setText("prevent all combat damage that would be dealt by nongreen creatures this turn"));
}
private HuntersAmbush(final HuntersAmbush card) {

View file

@ -17,7 +17,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.StaticFilters;
import mage.filter.FilterPermanent;
import mage.filter.predicate.permanent.TokenPredicate;
import mage.game.permanent.token.IzoniSpiderToken;
import java.util.UUID;
@ -27,6 +28,11 @@ import java.util.UUID;
*/
public final class IzoniCenterOfTheWeb extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("tokens");
static {
filter.add(TokenPredicate.TRUE);
}
public IzoniCenterOfTheWeb(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{G}");
@ -48,7 +54,7 @@ public final class IzoniCenterOfTheWeb extends CardImpl {
// Sacrifice four tokens: Surveil 2, then draw two cards. You gain 2 life.
Ability ability = new SimpleActivatedAbility(
new SurveilEffect(2, false),
new SacrificeTargetCost(4, StaticFilters.FILTER_PERMANENT_TOKEN)
new SacrificeTargetCost(4, filter)
);
ability.addEffect(new DrawCardSourceControllerEffect(2).concatBy(", then"));
ability.addEffect(new GainLifeEffect(2));

View file

@ -33,7 +33,7 @@ public final class MizzixsMastery extends CardImpl {
// For each card exiled this way, copy it, and you may cast the copy
// without paying its mana cost. Exile Mizzix's Mastery.
this.getSpellAbility().addEffect(new ExileTargetCardCopyAndCastEffect(true).setText(
"Exile target card that's an instant or sorcery from your graveyard. For each card exiled this way, copy it, and you may cast the copy without paying its mana cost. Exile Mizzix's Mastery."));
"Exile target card that's an instant or sorcery from your graveyard. For each card exiled this way, copy it, and you may cast the copy without paying its mana cost"));
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(
new FilterInstantOrSorceryCard("card that's an instant or sorcery from your graveyard")));
this.getSpellAbility().addEffect(new ExileSpellEffect());
@ -61,7 +61,7 @@ class MizzixsMasteryOverloadEffect extends OneShotEffect {
super(Outcome.PlayForFree);
this.staticText = "Exile each card that's an instant or sorcery from "
+ "your graveyard. For each card exiled this way, copy it, "
+ "and you may cast the copy without paying its mana cost. Exile {this}";
+ "and you may cast the copy without paying its mana cost";
}
private MizzixsMasteryOverloadEffect(final MizzixsMasteryOverloadEffect effect) {

View file

@ -40,7 +40,7 @@ public final class PiratedCopy extends CardImpl {
blueprint.addSubType(SubType.PIRATE);
blueprint.getAbilities().add(new DealsDamageToAPlayerAllTriggeredAbility(
new DrawCardSourceControllerEffect(1), filter,
true, SetTargetPointer.NONE, true
false, SetTargetPointer.NONE, true
));
return true;
}
@ -48,7 +48,7 @@ public final class PiratedCopy extends CardImpl {
@Override
public String getText() {
return ", except it's a Pirate in addition to its other types and it has \"Whenever this creature " +
"or another creature with the same name deals combat damage to a player, you may draw a card.\"";
"or another creature with the same name deals combat damage to a player, you draw a card.\"";
}
};
@ -82,4 +82,4 @@ enum PiratedCopyPredicate implements ObjectSourcePlayerPredicate<MageObject> {
return !AnotherPredicate.instance.apply(input, game)
|| (input.getObject().isCreature(game) && CardUtil.haveSameNames(input.getObject(), input.getSource().getSourcePermanentOrLKI(game)));
}
}
}

View file

@ -51,7 +51,7 @@ class UndercoverButlerAbility extends TriggeredAbilityImpl {
UndercoverButlerAbility() {
super(Zone.BATTLEFIELD, new CantBeBlockedSourceEffect(Duration.EndOfTurn), false);
setTriggerPhrase("Whenever {this} attacks the player with the most life or tied for the most life, ");
setTriggerPhrase("Whenever {this} attacks the player with the most life or tied for most life, ");
}
private UndercoverButlerAbility(final UndercoverButlerAbility ability) {

View file

@ -38,7 +38,7 @@ public class PutCardIntoGraveFromAnywhereAllTriggeredAbility extends TriggeredAb
this.filter = filter.copy();
this.setTargetPointer = setTargetPointer;
this.filter.add(targetController.getOwnerPredicate());
StringBuilder sb = new StringBuilder("Whenever ");
StringBuilder sb = new StringBuilder(getWhen());
sb.append(filter.getMessage());
sb.append(filter.getMessage().startsWith("one or more") ? " are" : " is");
sb.append(" put into ");

View file

@ -43,7 +43,7 @@ public class CollectEvidenceAbility extends StaticAbility implements OptionalAdd
public CollectEvidenceAbility(int amount) {
super(Zone.STACK, null);
this.additionalCost = makeCost(amount);
this.rule = additionalCost.getName() + ' ' + additionalCost.getReminderText();
this.rule = additionalCost.getName() + ". " + additionalCost.getReminderText();
this.setRuleAtTheTop(true);
this.addHint(hint);
this.amount = amount;