forked from External/mage
more text fixes (DRC is now 100%)
This commit is contained in:
parent
8d8e39cf23
commit
ba8824554e
21 changed files with 130 additions and 99 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue