text fixes

This commit is contained in:
xenohedron 2024-04-11 00:18:43 -04:00
parent 51b1ab4cb6
commit 8bf75ed000
15 changed files with 41 additions and 33 deletions

View file

@ -88,7 +88,7 @@ class AjaniNacatlAvengerZeroEffect extends OneShotEffect {
AjaniNacatlAvengerZeroEffect() {
super(Outcome.PutCreatureInPlay);
staticText = "Create a 2/1 white Car Warrior creature token. "
staticText = "Create a 2/1 white Cat Warrior creature token. "
+ "When you do, if you control a red permanent other than {this}, "
+ "he deals damage equal to the number of creatures you control to any target.";
}
@ -162,7 +162,7 @@ class AjaniNacatlAvengerMinusFourEffect extends OneShotEffect {
.filter(player -> controller.hasOpponent(player.getId(), game))
.collect(Collectors.toList());
Set<UUID> toKeep = new HashSet();
Set<UUID> toKeep = new HashSet<>();
for (Player player : playerList) {
for (CardType cardType : cardTypes) {
String message = cardType.toString().equals("Artifact") ? "an " : "a ";

View file

@ -46,8 +46,8 @@ public final class AjaniNacatlPariah extends CardImpl {
this.addAbility(new TransformAbility());
this.addAbility(new DiesOneOrMoreCreatureTriggeredAbility(
new ExileAndReturnSourceEffect(PutCards.BATTLEFIELD_TRANSFORMED, Pronoun.HE),
filter
));
filter,
true));
}
private AjaniNacatlPariah(final AjaniNacatlPariah card) {

View file

@ -49,7 +49,7 @@ public final class FortuneLoyalSteed extends CardImpl {
// Whenever Fortune attacks while saddled, at end of combat, exile it and up to one creature that saddled it this turn, then return those cards to the battlefield under their owner's control.
this.addAbility(new AttacksWhileSaddledTriggeredAbility(new CreateDelayedTriggeredAbilityEffect(
new AtTheEndOfCombatDelayedTriggeredAbility(new FortuneLoyalSteedEffect()).setTriggerPhrase("at end of combat")
new AtTheEndOfCombatDelayedTriggeredAbility(new FortuneLoyalSteedEffect()).setTriggerPhrase("at end of combat, ")
)));
// Saddle 1

View file

@ -30,7 +30,7 @@ public final class GreedsGambit extends CardImpl {
this.addAbility(ability);
// At the beginning of your end step, you discard a card, lose 2 life, and sacrifice a creature.
ability = new BeginningOfEndStepTriggeredAbility(new DiscardControllerEffect(1), TargetController.YOU, false);
ability = new BeginningOfEndStepTriggeredAbility(new DiscardControllerEffect(1).setText("you discard a card"), TargetController.YOU, false);
ability.addEffect(new LoseLifeSourceControllerEffect(2).setText(", lose 2 life"));
ability.addEffect(new SacrificeControllerEffect(
StaticFilters.FILTER_PERMANENT_A_CREATURE, 1, ""
@ -38,11 +38,11 @@ public final class GreedsGambit extends CardImpl {
this.addAbility(ability);
// When Greed's Gambit leaves the battlefield, you discard three cards, lose 6 life, and sacrifice three creatures.
ability = new LeavesBattlefieldTriggeredAbility(new DiscardControllerEffect(3), false);
ability = new LeavesBattlefieldTriggeredAbility(new DiscardControllerEffect(3).setText("you discard three cards"), false);
ability.addEffect(new LoseLifeSourceControllerEffect(6).setText(", lose 6 life"));
ability.addEffect(new SacrificeControllerEffect(
StaticFilters.FILTER_PERMANENT_CREATURE, 3, ""
).setText(", and sacrifice 3 creatures"));
).setText(", and sacrifice three creatures"));
this.addAbility(ability);
}

View file

@ -63,7 +63,7 @@ class HeadlinerScarlettEntersEffect extends OneShotEffect {
HeadlinerScarlettEntersEffect() {
super(Outcome.Detriment);
staticText = "Creatures target player controls can't block this turn.";
staticText = "creatures target player controls can't block this turn";
}
private HeadlinerScarlettEntersEffect(final HeadlinerScarlettEntersEffect effect) {

View file

@ -47,7 +47,7 @@ public final class KirriTalentedSprout extends CardImpl {
// Other Plants and Treefolk you control get +2/+0.
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(
2, 0, Duration.WhileControlled, filter, true
2, 0, Duration.WhileOnBattlefield, filter, true
)));
// At the beginning of your postcombat main phase, return target Plant, Treefolk, or land card from your graveyard to your hand.

View file

@ -15,7 +15,9 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.Counter;
import mage.game.Game;
import mage.players.Player;
import java.util.Objects;
import java.util.UUID;
@ -59,7 +61,7 @@ public final class LumberingMegasloth extends CardImpl {
enum LumberingMegaslothValue implements DynamicValue {
instance;
private static final Hint hint = new ValueHint("Number of Counters:", instance);
private static final Hint hint = new ValueHint("Number of counters", instance);
public static Hint getHint() {
return hint;
@ -73,16 +75,16 @@ enum LumberingMegaslothValue implements DynamicValue {
.filter(Objects::nonNull)
.map(perm -> perm.getCounters(game))
.flatMap(counters -> counters.values().stream())
.mapToInt(counter -> counter.getCount())
.mapToInt(Counter::getCount)
.sum();
int onPlayers = game.getState()
.getPlayersInRange(sourceAbility.getControllerId(), game)
.stream()
.map(game::getPlayer)
.filter(Objects::nonNull)
.map(player -> player.getCounters())
.map(Player::getCounters)
.flatMap(counters -> counters.values().stream())
.mapToInt(counter -> counter.getCount())
.mapToInt(Counter::getCount)
.sum();
return onPermanents + onPlayers;
}
@ -99,6 +101,6 @@ enum LumberingMegaslothValue implements DynamicValue {
@Override
public String getMessage() {
return "counters among players and permanents";
return "counter among players and permanents";
}
}

View file

@ -51,7 +51,7 @@ class MemoryVesselExileEffect extends OneShotEffect {
MemoryVesselExileEffect() {
super(Outcome.Benefit);
staticText = "each player exiles the top seven cards of their library. " +
"Until your next turn, players may play cards they exiled this way";
"Until your next turn, players may play cards they exiled from their library this way";
}
private MemoryVesselExileEffect(final MemoryVesselExileEffect effect) {

View file

@ -29,13 +29,13 @@ import java.util.UUID;
*/
public final class OliviaOpulentOutlaw extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("outlaws");
static {
filter.add(OutlawPredicate.instance);
}
private static final FilterControlledPermanent filterTreasure = new FilterControlledPermanent("a Treasure");
private static final FilterControlledPermanent filterTreasure = new FilterControlledPermanent("Treasures");
static {
filterTreasure.add(SubType.TREASURE.getPredicate());

View file

@ -5,7 +5,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.VigilanceAbility;
@ -47,7 +47,7 @@ public final class PreWarFormalwear extends CardImpl {
this.addAbility(ability);
// Equipped creature gets +2/+2 and has vigilance.
ability = new SimpleStaticAbility(new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield));
ability = new SimpleStaticAbility(new BoostEquippedEffect(2, 2, Duration.WhileOnBattlefield));
ability.addEffect(new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.AURA).setText("and has vigilance"));
this.addAbility(ability);

View file

@ -50,7 +50,8 @@ public final class SandstormSalvager extends CardImpl {
new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), new GenericManaCost(2)
);
ability.addCost(new TapSourceCost());
ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filter));
ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filter)
.setText("they gain trample until end of turn"));
this.addAbility(ability);
}

View file

@ -37,8 +37,8 @@ public final class VengefulTownsfolk extends CardImpl {
// Whenever one or more other creatures you control die, put a +1/+1 counter on Vengeful Townsfolk.
this.addAbility(new DiesOneOrMoreCreatureTriggeredAbility(
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
filter
));
filter,
false));
}
private VengefulTownsfolk(final VengefulTownsfolk card) {

View file

@ -19,8 +19,8 @@ public class DiesOneOrMoreCreatureTriggeredAbility extends TriggeredAbilityImpl
private final FilterCreaturePermanent filter;
public DiesOneOrMoreCreatureTriggeredAbility(Effect effect, FilterCreaturePermanent filter) {
super(Zone.BATTLEFIELD, effect, false);
public DiesOneOrMoreCreatureTriggeredAbility(Effect effect, FilterCreaturePermanent filter, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
this.setTriggerPhrase("Whenever one or more " + filter.getMessage() + " die, ");
}

View file

@ -132,13 +132,17 @@ public class MillThenPutInHandEffect extends OneShotEffect {
return staticText;
}
StringBuilder sb = new StringBuilder("mill ");
if (amount == 1) {
sb.append("a card. ");
} else {
sb.append(CardUtil.numberToText(amount));
sb.append(" cards. ");
}
sb.append(optional ? "You may " : "Then ");
sb.append("put ");
if (maxAmountReturned > 1) {
sb.append(optional ? "up to " : "");
sb.append(CardUtil.numberToText(maxAmountReturned) + " ");
sb.append(CardUtil.numberToText(maxAmountReturned)).append(" ");
}
sb.append(filter.getMessage());
sb.append(" from among ");

View file

@ -990,6 +990,7 @@ public final class CardUtil {
|| text.startsWith("another ")
|| text.startsWith("any ")
|| text.startsWith("{this} ")
|| text.startsWith("your ")
|| text.startsWith("one ")) {
return text;
}