[TSR] various text fixes

This commit is contained in:
Evan Kranzler 2021-03-09 20:01:32 -05:00
parent 2c168856c5
commit 1dfde6d622
37 changed files with 167 additions and 134 deletions

View file

@ -7,9 +7,9 @@ import java.util.List;
* @author noxx
*/
public class CompoundAbility extends AbilitiesImpl<Ability> {
private String ruleText;
public CompoundAbility(Ability... abilities) {
this(null, abilities);
}
@ -31,11 +31,13 @@ public class CompoundAbility extends AbilitiesImpl<Ability> {
}
StringBuilder sb = new StringBuilder();
List<String> rules = super.getRules(null,false);
List<String> rules = super.getRules(null, false);
for (int index = 0; index < rules.size(); index++) {
if (index > 0) {
if (index < rules.size() - 1) {
sb.append(", ");
} else if (rules.size() > 2) {
sb.append(", and ");
} else {
sb.append(" and ");
}

View file

@ -1,9 +1,6 @@
package mage.abilities.costs.common;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.costs.Cost;
import mage.abilities.costs.CostImpl;
@ -19,8 +16,11 @@ import mage.target.common.TargetCardInYourGraveyard;
import mage.target.targetpointer.FixedTargets;
import mage.util.CardUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
*
* @author nantuko
*/
public class ExileFromGraveCost extends CostImpl {
@ -39,7 +39,7 @@ public class ExileFromGraveCost extends CostImpl {
+ ' ' + target.getTargetName();
} else {
this.text = "exile "
+ (target.getTargetName().startsWith("card ") ? "a ":"")
+ (target.getTargetName().startsWith("card ") ? "a " : "")
+ target.getTargetName();
}
if (!this.text.endsWith(" from your graveyard")) {
@ -53,6 +53,12 @@ public class ExileFromGraveCost extends CostImpl {
this.text = text;
}
public ExileFromGraveCost(TargetCardInASingleGraveyard target, String text) {
target.setNotTarget(true);
this.addTarget(target);
this.text = text;
}
public ExileFromGraveCost(TargetCardInASingleGraveyard target) {
target.setNotTarget(true);
this.addTarget(target);

View file

@ -1,8 +1,5 @@
package mage.abilities.effects.common;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.StaticValue;
@ -16,6 +13,10 @@ import mage.players.Player;
import mage.target.TargetPermanent;
import mage.util.CardUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* All opponents have to sacrifice [amount] permanents that match the [filter].
*
@ -82,17 +83,16 @@ public class SacrificeOpponentsEffect extends OneShotEffect {
StringBuilder sb = new StringBuilder();
sb.append("each opponent sacrifices ");
if (amount.toString().equals("X")) {
sb.append(amount.toString());
sb.append(amount.toString()).append(' ');
} else {
if (amount.toString().equals("1")) {
if (!filter.getMessage().startsWith("a ") && !filter.getMessage().startsWith("an ")) {
sb.append('a');
sb.append("a ");
}
} else {
sb.append(CardUtil.numberToText(amount.toString()));
sb.append(CardUtil.numberToText(amount.toString())).append(' ');
}
}
sb.append(' ');
sb.append(filter.getMessage());
staticText = sb.toString();
}

View file

@ -9,6 +9,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.target.common.TargetCardInLibrary;
import mage.util.CardUtil;
/**
* @author BetaSteward_at_googlemail.com
@ -47,11 +48,11 @@ public class CyclingAbility extends ActivatedAbilityImpl {
public String getRule() {
StringBuilder rule = new StringBuilder(this.text);
if (cost instanceof ManaCost) {
rule.append(' ');
rule.append(' ').append(cost.getText());
} else {
rule.append("&mdash;");
rule.append("&mdash;").append(CardUtil.getTextWithFirstCharUpperCase(cost.getText())).append('.');
}
rule.append(cost.getText()).append(" <i>(").append(super.getRule(true)).append(")</i>");
rule.append(" <i>(").append(super.getRule(true)).append(")</i>");
return rule.toString();
}
}

View file

@ -1,4 +1,3 @@
package mage.abilities.keyword;
import mage.abilities.TriggeredAbilityImpl;
@ -15,7 +14,6 @@ import mage.game.events.GameEvent;
import java.util.UUID;
/**
*
* @author Backfir3
*/
public class EchoAbility extends TriggeredAbilityImpl {
@ -117,6 +115,9 @@ public class EchoAbility extends TriggeredAbilityImpl {
if (echoCosts != null) {
sb.append(echoCosts.getText());
}
if (!manaEcho) {
sb.append('.');
}
}
sb.append(" <i>(At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.)</i>");
return sb.toString();

View file

@ -298,6 +298,12 @@ public final class StaticFilters {
FILTER_CONTROLLED_PERMANENT.setLockedFilter(true);
}
public static final FilterControlledPermanent FILTER_CONTROLLED_A_PERMANENT = new FilterControlledPermanent("a permanent you control");
static {
FILTER_CONTROLLED_A_PERMANENT.setLockedFilter(true);
}
public static final FilterControlledPermanent FILTER_CONTROLLED_PERMANENT_ARTIFACT = new FilterControlledArtifactPermanent();
static {

View file

@ -14,7 +14,7 @@ import java.util.Arrays;
public final class AssemblyWorkerToken extends TokenImpl {
public AssemblyWorkerToken() {
super("Assembly-Worker", "2/2 Assembly-Worker artifact creature");
super("Assembly-Worker", "2/2 colorless Assembly-Worker artifact creature token");
cardType.add(CardType.ARTIFACT);
cardType.add(CardType.CREATURE);
subtype.add(SubType.ASSEMBLY_WORKER);

View file

@ -14,7 +14,7 @@ import java.util.Arrays;
public final class LlanowarElvesToken extends TokenImpl {
public LlanowarElvesToken() {
super("Llanowar Elves", "1/1 green Elf Druid creature token named Llanowar Elves with \"{T}: Add {G}.\"");
super("Llanowar Elves", "1/1 green Elf Druid creature token named Llanowar Elves. It has \"{T}: Add {G}.\"");
cardType.add(CardType.CREATURE);
color.setGreen(true);
subtype.add(SubType.ELF);

View file

@ -14,7 +14,7 @@ import java.util.Arrays;
public final class MetallicSliverToken extends TokenImpl {
public MetallicSliverToken() {
super("Metallic Sliver", "1/1 colorless Sliver creature token named Metallic Sliver");
super("Metallic Sliver", "1/1 colorless Sliver artifact creature token named Metallic Sliver");
cardType.add(CardType.CREATURE);
cardType.add(CardType.ARTIFACT);
subtype.add(SubType.SLIVER);