more text fixes (DRC is now 100%)

This commit is contained in:
theelk801 2025-06-01 21:19:16 -04:00 committed by Failure
parent 8d8e39cf23
commit ba8824554e
21 changed files with 130 additions and 99 deletions

View file

@ -30,8 +30,8 @@ public class PutIntoGraveFromBattlefieldAllTriggeredAbility extends TriggeredAbi
this.filter = filter;
this.onlyToControllerGraveyard = onlyToControllerGraveyard;
this.setTargetPointer = setTargetPointer;
setTriggerPhrase("Whenever " + filter.getMessage() + " is put into " + (onlyToControllerGraveyard ? "your" : "a")
+ " graveyard from the battlefield, ");
setTriggerPhrase("Whenever " + filter.getMessage() + " is put into " +
(onlyToControllerGraveyard ? "your" : "a") + " graveyard, ");
}
protected PutIntoGraveFromBattlefieldAllTriggeredAbility(final PutIntoGraveFromBattlefieldAllTriggeredAbility ability) {

View file

@ -9,6 +9,7 @@ import mage.filter.FilterCard;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetCard;
import mage.util.CardUtil;
/**
* @author LevelX2
@ -20,7 +21,7 @@ public class ExileCardYouChooseTargetOpponentEffect extends OneShotEffect {
public ExileCardYouChooseTargetOpponentEffect(FilterCard filter) {
super(Outcome.Discard);
this.staticText = "target opponent reveals their hand. You choose "
+ filter.getMessage() + (filter.getMessage().contains("from it") ? "" : " from it") + " and exile that card";
+ CardUtil.addArticle(filter.getMessage()) + (filter.getMessage().contains("from it") ? "" : " from it") + " and exile that card";
this.filter = filter;
}

View file

@ -7,10 +7,11 @@ import mage.abilities.effects.ContinuousEffectImpl;
import mage.constants.*;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.util.CardUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors;
/**
* @author emerald000
@ -76,19 +77,20 @@ public class AddCardTypeSourceEffect extends ContinuousEffectImpl {
}
StringBuilder sb = new StringBuilder();
sb.append("{this} becomes ");
boolean article = false;
for (CardType cardType : addedCardTypes) {
if (!article) {
if (cardType.toString().startsWith("A") || cardType.toString().startsWith("E")) {
sb.append("an ");
} else {
sb.append("a ");
}
article = true;
}
sb.append(cardType.toString().toLowerCase(Locale.ENGLISH)).append(" ");
sb.append(CardUtil.addArticle(
addedCardTypes
.stream()
.map(CardType::toString)
.map(String::toLowerCase)
.collect(Collectors.joining(" "))
));
if (!addedCardTypes.contains(CardType.ARTIFACT) || !addedCardTypes.contains(CardType.CREATURE)) {
sb.append(" in addition to its other types");
}
if (!this.getDuration().toString().isEmpty()) {
sb.append(' ');
sb.append(this.getDuration());
}
sb.append("in addition to its other types ").append(this.getDuration().toString());
return sb.toString();
}
}

View file

@ -12,15 +12,14 @@ import mage.game.Game;
*/
public class ExhaustAbility extends ActivatedAbilityImpl {
private boolean withReminderText = true;
private final boolean withReminderText;
public ExhaustAbility(Effect effect, Cost cost) {
super(Zone.BATTLEFIELD, effect, cost);
this(effect, cost, true);
}
public ExhaustAbility(Effect effect, Cost cost, boolean withReminderText) {
super(Zone.BATTLEFIELD, effect, cost);
this.setRuleVisible(false);
this.withReminderText = withReminderText;
}
@ -30,11 +29,6 @@ public class ExhaustAbility extends ActivatedAbilityImpl {
this.withReminderText = ability.withReminderText;
}
public ExhaustAbility withReminderText(boolean withReminderText) {
this.withReminderText = withReminderText;
return this;
}
@Override
public ExhaustAbility copy() {
return new ExhaustAbility(this);
@ -45,8 +39,8 @@ public class ExhaustAbility extends ActivatedAbilityImpl {
ActivationInfo info = getActivationInfo(game);
if (info != null && info.totalActivations >= maxActivationsPerGame) {
boolean canActivate = !game.getContinuousEffects()
.asThough(sourceId, AsThoughEffectType.ALLOW_EXHAUST_PER_TURN, this, controllerId, game)
.isEmpty();
.asThough(sourceId, AsThoughEffectType.ALLOW_EXHAUST_PER_TURN, this, controllerId, game)
.isEmpty();
if (canActivate) {
return true;
}