Merge branch 'neo_ktw' into 'master'

NEO: Kappa Tech-Wrecker and some etbCounter parsing upgrades

See merge request core-developers/forge!6122
This commit is contained in:
Michael Kamensky
2022-02-02 05:54:12 +00:00
4 changed files with 29 additions and 4 deletions

View File

@@ -154,6 +154,21 @@ public abstract class Lang {
}
}
public static String nounWithNumeralExceptOne(final int cnt, final String noun) {
final String countedForm = cnt == 1 ? noun : getPlural(noun);
final String desc = cnt == 1 ? (Lang.startsWithVowel(countedForm) ? "an" : "a") : getNumeral(cnt);
return desc + " " + countedForm;
}
public static String nounWithNumeralExceptOne(final String cnt, final String noun) {
if (StringUtils.isNumeric(cnt)) {
return nounWithNumeralExceptOne(Integer.parseInt(cnt), noun);
} else {
// for X
return cnt + " " + getPlural(noun);
}
}
public abstract String getPossesive(final String name);
public abstract String getPossessedObject(final String owner, final String object);

View File

@@ -1923,9 +1923,9 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
s.append(p[4]);
}
} else {
s.append(getName());
s.append(" enters the battlefield with ");
s.append(Lang.nounWithNumeral(p[2], CounterType.getType(p[1]).getName() + " counter"));
s.append(getName()).append(" enters the battlefield with ");
s.append(Lang.nounWithNumeralExceptOne(p[2],
CounterType.getType(p[1]).getName().toLowerCase() + " counter"));
s.append(" on it.");
}
sbLong.append(s).append("\r\n");

View File

@@ -730,7 +730,7 @@ public class CardFactoryUtil {
String[] splitkw = parse.split(":");
String desc = "CARDNAME enters the battlefield with ";
desc += Lang.nounWithNumeral(splitkw[2], CounterType.getType(splitkw[1]).getName() + " counter");
desc += Lang.nounWithNumeralExceptOne(splitkw[2], CounterType.getType(splitkw[1]).getName().toLowerCase() + " counter");
desc += " on it.";
String extraparams = "";

View File

@@ -0,0 +1,10 @@
Name:Kappa Tech-Wrecker
ManaCost:1 G
Types:Creature Turtle Ninja
PT:1/3
K:Ninjutsu:1 G
K:etbCounter:Deathtouch:1
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigImmediateTrig | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may remove a deathtouch counter from it. When you do, exile target artifact or enchantment that player controls.
SVar:TrigImmediateTrig:AB$ ImmediateTrigger | Cost$ SubCounter<1/Deathtouch> | Execute$ TrigExile | CopyTriggeringObjects$ True | TriggerDescription$ When you do, exile target artifact or enchantment that player controls.
SVar:TrigExile:DB$ ChangeZone | ValidTgts$ Artifact.ControlledBy TriggeredDefendingPlayer,Enchantment.ControlledBy TriggeredDefendingPlayer | TgtPrompt$ Select target artifact or enchantment creature that player controls | Origin$ Battlefield | Destination$ Exile
Oracle:Ninjutsu {1}{G}\nKappa Tech-Wrecker enters the battlefield with a deathtouch counter on it.\nWhenever Kappa Tech-Wrecker deals combat damage to a player, you may remove a deathtouch counter from it. When you do, exile target artifact or enchantment that player controls.