[NEO] various text fixes

This commit is contained in:
Evan Kranzler 2022-02-08 19:41:26 -05:00
parent 0a03eff6fa
commit 6851e553d8
37 changed files with 113 additions and 79 deletions

View file

@ -1,6 +1,7 @@
package mage.abilities.effects.common;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.costs.Cost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.costs.mana.ManaCost;
@ -60,7 +61,6 @@ public class SacrificeOpponentsUnlessPayEffect extends OneShotEffect {
this.cost = cost;
this.amount = amount;
this.filter = filter;
setText();
}
public SacrificeOpponentsUnlessPayEffect(DynamicValue genericMana, FilterPermanent filter, DynamicValue amount) {
@ -68,7 +68,6 @@ public class SacrificeOpponentsUnlessPayEffect extends OneShotEffect {
this.genericMana = genericMana;
this.amount = amount;
this.filter = filter;
setText();
}
public SacrificeOpponentsUnlessPayEffect(final SacrificeOpponentsUnlessPayEffect effect) {
@ -150,31 +149,36 @@ public class SacrificeOpponentsUnlessPayEffect extends OneShotEffect {
return true;
}
private void setText() {
@Override
public String getText(Mode mode) {
if (staticText != null && !staticText.isEmpty()) {
return staticText;
}
StringBuilder sb = new StringBuilder();
sb.append("each opponent sacrifices ");
if (amount.toString().equals("X")) {
sb.append(amount.toString());
} else {
if (amount.toString().equals("1")) {
if (!filter.getMessage().startsWith("a ") && !filter.getMessage().startsWith("an ")) {
sb.append('a');
}
} else {
switch (amount.toString()) {
case "1":
sb.append(CardUtil.addArticle(filter.getMessage()));
break;
case "X":
sb.append("X ");
sb.append(filter.getMessage());
break;
default:
sb.append(CardUtil.numberToText(amount.toString()));
}
sb.append(' ');
sb.append(filter.getMessage());
}
sb.append(' ');
sb.append(filter.getMessage());
sb.append(" unless they pay ");
sb.append(" unless they ");
if (cost != null) {
sb.append(CardUtil.checkCostWords(cost.getText()) ? "" : "pay ");
sb.append(cost.getText());
} else {
sb.append("{X}");
sb.append("pay {X}");
}
if (genericMana != null && !genericMana.getMessage().isEmpty()) {
@ -182,6 +186,6 @@ public class SacrificeOpponentsUnlessPayEffect extends OneShotEffect {
sb.append(genericMana.getMessage());
}
staticText = sb.toString();
return sb.toString();
}
}