forked from External/mage
[FIN] various text fixes
This commit is contained in:
parent
bf487046e1
commit
9ef2aac469
54 changed files with 222 additions and 141 deletions
|
|
@ -474,6 +474,11 @@ public interface Ability extends Controllable, Serializable {
|
|||
*/
|
||||
Ability withFlavorWord(String flavorWord);
|
||||
|
||||
/**
|
||||
* Gets rule prefix for text generation
|
||||
*/
|
||||
String addRulePrefix(String rule);
|
||||
|
||||
/**
|
||||
* Sets flavor word for first mode
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1018,38 +1018,28 @@ public abstract class AbilityImpl implements Ability {
|
|||
|
||||
String ruleStart = sbRule.toString();
|
||||
String text = getModes().getText();
|
||||
String rule;
|
||||
StringBuilder rule = new StringBuilder();
|
||||
if (!text.isEmpty()) {
|
||||
if (ruleStart.length() > 1) {
|
||||
String end = ruleStart.substring(ruleStart.length() - 2).trim();
|
||||
if (end.isEmpty() || end.equals(":") || end.equals(".")) {
|
||||
rule = ruleStart + CardUtil.getTextWithFirstCharUpperCase(text);
|
||||
rule.append(ruleStart + CardUtil.getTextWithFirstCharUpperCase(text));
|
||||
} else {
|
||||
rule = ruleStart + text;
|
||||
rule.append(ruleStart + text);
|
||||
}
|
||||
} else {
|
||||
rule = ruleStart + text;
|
||||
rule.append(ruleStart + text);
|
||||
}
|
||||
} else {
|
||||
rule = ruleStart;
|
||||
}
|
||||
String prefix;
|
||||
if (this instanceof TriggeredAbility || this instanceof EntersBattlefieldAbility) {
|
||||
prefix = null;
|
||||
} else if (abilityWord != null) {
|
||||
prefix = abilityWord.formatWord();
|
||||
} else if (flavorWord != null) {
|
||||
prefix = CardUtil.italicizeWithEmDash(flavorWord);
|
||||
} else {
|
||||
prefix = null;
|
||||
}
|
||||
if (prefix != null) {
|
||||
rule = prefix + CardUtil.getTextWithFirstCharUpperCase(rule);
|
||||
rule.append(ruleStart);
|
||||
}
|
||||
if (appendToRule != null) {
|
||||
rule = rule.concat(appendToRule);
|
||||
rule.append(appendToRule);
|
||||
}
|
||||
return rule;
|
||||
if (this instanceof TriggeredAbility || this instanceof EntersBattlefieldAbility) {
|
||||
return rule.toString();
|
||||
}
|
||||
return addRulePrefix(rule.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -1479,6 +1469,17 @@ public abstract class AbilityImpl implements Ability {
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String addRulePrefix(String rule) {
|
||||
if (abilityWord != null) {
|
||||
return abilityWord.formatWord() + CardUtil.getTextWithFirstCharUpperCase(rule);
|
||||
} else if (flavorWord != null) {
|
||||
return CardUtil.italicizeWithEmDash(flavorWord) + CardUtil.getTextWithFirstCharUpperCase(rule);
|
||||
} else {
|
||||
return rule;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ability withFirstModeFlavorWord(String flavorWord) {
|
||||
this.modes.getMode().withFlavorWord(flavorWord);
|
||||
|
|
|
|||
|
|
@ -294,16 +294,6 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
|
|||
@Override
|
||||
public String getRule() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String prefix;
|
||||
if (abilityWord != null) {
|
||||
prefix = abilityWord.formatWord();
|
||||
} else if (flavorWord != null) {
|
||||
prefix = CardUtil.italicizeWithEmDash(flavorWord);
|
||||
} else {
|
||||
prefix = "";
|
||||
}
|
||||
sb.append(prefix);
|
||||
|
||||
sb.append(triggerPhrase == null ? "" : triggerPhrase);
|
||||
|
||||
if (interveningIfCondition != null) {
|
||||
|
|
@ -376,7 +366,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
|
|||
sb.append(" Do this only once each turn.");
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
return addRulePrefix(sb.toString());
|
||||
}
|
||||
|
||||
private static boolean startsWithVerb(String ruleLow) {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import mage.abilities.condition.Condition;
|
|||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.EntersBattlefieldEffect;
|
||||
import mage.constants.Zone;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
/**
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
|
|
@ -81,19 +80,8 @@ public class EntersBattlefieldAbility extends StaticAbility {
|
|||
return abilityRule;
|
||||
}
|
||||
String superRule = super.getRule();
|
||||
String prefix;
|
||||
if (abilityWord != null) {
|
||||
prefix = abilityWord.formatWord();
|
||||
} else if (flavorWord != null) {
|
||||
prefix = CardUtil.italicizeWithEmDash(flavorWord);
|
||||
} else {
|
||||
prefix = null;
|
||||
}
|
||||
String rule = (optional ? "you may have " : "") + "{this} enter" + (optional ? "" : "s")
|
||||
+ (!superRule.isEmpty() && superRule.charAt(0) == ' ' ? "" : " ") + superRule;
|
||||
if (prefix != null) {
|
||||
return prefix + CardUtil.getTextWithFirstCharUpperCase(rule);
|
||||
}
|
||||
return rule;
|
||||
return addRulePrefix(rule);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,10 +9,8 @@ import mage.abilities.effects.Effect;
|
|||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.constants.EffectType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.util.CardUtil;
|
||||
import mage.watchers.Watcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -83,9 +81,7 @@ public class ConditionalInterveningIfTriggeredAbility extends TriggeredAbilityIm
|
|||
if (abilityText == null || abilityText.isEmpty()) {
|
||||
return ability.getRule();
|
||||
}
|
||||
return (flavorWord != null ? CardUtil.italicizeWithEmDash(flavorWord) : "") +
|
||||
(abilityWord != null ? abilityWord.formatWord() : "") +
|
||||
abilityText + (abilityText.endsWith(".") || abilityText.endsWith("\"") || abilityText.endsWith(">") ? "" : ".");
|
||||
return addRulePrefix(abilityText + (abilityText.endsWith(".") || abilityText.endsWith("\"") || abilityText.endsWith(">") ? "" : "."));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class ChooseCreatureEffect extends OneShotEffect {
|
|||
public ChooseCreatureEffect(FilterPermanent filter, boolean useOffset) {
|
||||
super(Outcome.Benefit);
|
||||
this.filter = filter;
|
||||
this.staticText = "choose " + filter.getMessage();
|
||||
this.staticText = "choose " + CardUtil.addArticle(filter.getMessage());
|
||||
this.useOffset = useOffset;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ public class ExileSourceAndReturnFaceUpEffect extends ExileAndReturnSourceEffect
|
|||
|
||||
public ExileSourceAndReturnFaceUpEffect() {
|
||||
super(PutCards.BATTLEFIELD, Pronoun.IT, true, null);
|
||||
staticText = "exile {this}, then return it to the battlefield. <i>(front face up)</i>";
|
||||
staticText = "exile {this}, then return it to the battlefield <i>(front face up)</i>.";
|
||||
}
|
||||
|
||||
private ExileSourceAndReturnFaceUpEffect(final ExileSourceAndReturnFaceUpEffect effect) {
|
||||
|
|
|
|||
|
|
@ -156,7 +156,11 @@ public class MayCastTargetCardEffect extends OneShotEffect {
|
|||
}
|
||||
text += ".";
|
||||
if (thenExile) {
|
||||
text += " " + ThatSpellGraveyardExileReplacementEffect.RULE_YOUR;
|
||||
if (text.contains("a graveyard")) {
|
||||
text += " " + ThatSpellGraveyardExileReplacementEffect.RULE_A;
|
||||
} else {
|
||||
text += " " + ThatSpellGraveyardExileReplacementEffect.RULE_YOUR;
|
||||
}
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ public class EquipAbility extends ActivatedAbilityImpl {
|
|||
String targetText = getTargets().get(0) != null ? getTargets().get(0).getFilter().getMessage() : "creature";
|
||||
String reminderText = " <i>(" + getManaCosts().getText() + ": Attach to target " + targetText + ". Equip only as a sorcery.)</i>";
|
||||
|
||||
StringBuilder sb = new StringBuilder("Equip");
|
||||
StringBuilder sb = new StringBuilder(addRulePrefix("Equip"));
|
||||
if (!targetText.equals("creature you control")) {
|
||||
sb.append(' ').append(targetText);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,8 +81,8 @@ public class ProtectionAbility extends StaticAbility {
|
|||
if (this.staticText != null && !this.staticText.isEmpty()) {
|
||||
return this.staticText;
|
||||
}
|
||||
return (flavorWord == null ? "protection from " : CardUtil.italicizeWithEmDash(flavorWord) + "Protection from ")
|
||||
+ filter.getMessage() + (removeAuras ? "" : ". This effect doesn't remove Auras.");
|
||||
return addRulePrefix("protection from ") + filter.getMessage() +
|
||||
(removeAuras ? "" : ". This effect doesn't remove Auras.");
|
||||
}
|
||||
|
||||
public ProtectionAbility setText(String text) {
|
||||
|
|
|
|||
|
|
@ -583,6 +583,11 @@ public class StackAbility extends StackObjectImpl implements Ability {
|
|||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String addRulePrefix(String rule) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ability withFirstModeFlavorWord(String flavorWord) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue