mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Fix formatting for Champion keyword
This commit is contained in:
@@ -3,10 +3,12 @@ package forge.util;
|
|||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
@@ -115,13 +117,9 @@ public class Lang {
|
|||||||
return isVowel(word.trim().charAt(0));
|
return isVowel(word.trim().charAt(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final char[] vowels = { 'a', 'i', 'e', 'o', 'u' };
|
private static final Pattern VOWEL_PATTERN = Pattern.compile("[aeiou]", Pattern.CASE_INSENSITIVE);
|
||||||
public static boolean isVowel(char letter) {
|
public static boolean isVowel(char letter) {
|
||||||
char l = Character.toLowerCase(letter);
|
return VOWEL_PATTERN.matcher(String.valueOf(letter)).find();
|
||||||
for (char c : vowels) {
|
|
||||||
if (c == l) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static String[] numbers0 = new String[] {
|
public final static String[] numbers0 = new String[] {
|
||||||
|
|||||||
@@ -2161,6 +2161,10 @@ public class CardFactoryUtil {
|
|||||||
final String[] k = parse.split(":");
|
final String[] k = parse.split(":");
|
||||||
final String[] valid = k[1].split(",");
|
final String[] valid = k[1].split(",");
|
||||||
String desc = k.length > 2 ? k[2] : k[1];
|
String desc = k.length > 2 ? k[2] : k[1];
|
||||||
|
String article = Lang.startsWithVowel(desc) ? "an" : "a";
|
||||||
|
if (desc.equals("Creature")) {
|
||||||
|
desc = "creature"; //use lowercase for "Champion a creature"
|
||||||
|
}
|
||||||
|
|
||||||
StringBuilder changeType = new StringBuilder();
|
StringBuilder changeType = new StringBuilder();
|
||||||
for (String v : valid) {
|
for (String v : valid) {
|
||||||
@@ -2172,7 +2176,7 @@ public class CardFactoryUtil {
|
|||||||
|
|
||||||
StringBuilder trig = new StringBuilder();
|
StringBuilder trig = new StringBuilder();
|
||||||
trig.append("Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | ");
|
trig.append("Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | ");
|
||||||
trig.append("Execute$ ChampionAbility | TriggerDescription$ Champion a(n) ");
|
trig.append("Execute$ ChampionAbility | TriggerDescription$ Champion ").append(article + " ");
|
||||||
trig.append(desc).append(" (When this enters the battlefield, sacrifice it unless you exile another ");
|
trig.append(desc).append(" (When this enters the battlefield, sacrifice it unless you exile another ");
|
||||||
trig.append(desc).append(" you control. When this leaves the battlefield, that card returns to the battlefield.)");
|
trig.append(desc).append(" you control. When this leaves the battlefield, that card returns to the battlefield.)");
|
||||||
|
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ import forge.game.card.Card;
|
|||||||
import forge.game.card.CounterType;
|
import forge.game.card.CounterType;
|
||||||
import forge.game.mana.ManaCostBeingPaid;
|
import forge.game.mana.ManaCostBeingPaid;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
import forge.util.Lang;
|
||||||
import forge.util.TextUtil;
|
import forge.util.TextUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
@@ -643,8 +643,6 @@ public class Cost {
|
|||||||
* <code>numNames="{zero, a, two, three, four, five, six, "{trunked}</code>
|
* <code>numNames="{zero, a, two, three, four, five, six, "{trunked}</code>
|
||||||
*/
|
*/
|
||||||
private static final String[] NUM_NAMES = { "zero", "a", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" };
|
private static final String[] NUM_NAMES = { "zero", "a", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" };
|
||||||
/** Constant <code>vowelPattern</code>. */
|
|
||||||
private static final Pattern VOWEL_PATTERN = Pattern.compile("^[aeiou]", Pattern.CASE_INSENSITIVE);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert amount type to words.
|
* Convert amount type to words.
|
||||||
@@ -686,7 +684,7 @@ public class Cost {
|
|||||||
if (i >= Cost.NUM_NAMES.length) {
|
if (i >= Cost.NUM_NAMES.length) {
|
||||||
sb.append(i);
|
sb.append(i);
|
||||||
}
|
}
|
||||||
else if ((1 == i) && Cost.VOWEL_PATTERN.matcher(type).find()) {
|
else if (i == 1 && Lang.startsWithVowel(type)) {
|
||||||
sb.append("an");
|
sb.append("an");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user