CardFactoryUtil: add Reinforce as Keyword

This commit is contained in:
Hanmac
2017-10-15 08:10:44 +00:00
parent b5a167df05
commit b6ec9728d8
2 changed files with 31 additions and 0 deletions

View File

@@ -1574,6 +1574,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|| keyword.startsWith("Surge") || keyword.startsWith("Transmute") || keyword.startsWith("Suspend") || keyword.startsWith("Surge") || keyword.startsWith("Transmute") || keyword.startsWith("Suspend")
|| keyword.equals("Undaunted") || keyword.startsWith("Monstrosity") || keyword.startsWith("Embalm") || keyword.equals("Undaunted") || keyword.startsWith("Monstrosity") || keyword.startsWith("Embalm")
|| keyword.startsWith("Level up") || keyword.equals("Prowess") || keyword.startsWith("Eternalize") || keyword.startsWith("Level up") || keyword.equals("Prowess") || keyword.startsWith("Eternalize")
|| keyword.startsWith("Reinforce")
|| keyword.startsWith("Cycling") || keyword.startsWith("TypeCycling")) { || keyword.startsWith("Cycling") || keyword.startsWith("TypeCycling")) {
// keyword parsing takes care of adding a proper description // keyword parsing takes care of adding a proper description
} else if (keyword.startsWith("CantBeBlockedBy")) { } else if (keyword.startsWith("CantBeBlockedBy")) {

View File

@@ -2005,6 +2005,9 @@ public class CardFactoryUtil {
else if (keyword.startsWith("Ninjutsu")) { else if (keyword.startsWith("Ninjutsu")) {
addSpellAbility(keyword, card, null); addSpellAbility(keyword, card, null);
} }
else if (keyword.startsWith("Reinforce")) {
addSpellAbility(keyword, card, null);
}
else if (keyword.startsWith("Scavenge")) { else if (keyword.startsWith("Scavenge")) {
addSpellAbility(keyword, card, null); addSpellAbility(keyword, card, null);
} }
@@ -4104,6 +4107,33 @@ public class CardFactoryUtil {
final SpellAbility sa = AbilityFactory.getAbility(abilityStr.toString(), card); final SpellAbility sa = AbilityFactory.getAbility(abilityStr.toString(), card);
sa.setIntrinsic(intrinsic); sa.setIntrinsic(intrinsic);
if (!intrinsic) {
sa.setTemporary(true);
//sa.setOriginalHost(hostCard);
kws.addSpellAbility(sa);
}
card.addSpellAbility(sa);
} else if (keyword.startsWith("Reinforce")) {
final String[] k = keyword.split(":");
final String n = k[1];
final String manacost = k[2];
StringBuilder sb = new StringBuilder();
sb.append("AB$ PutCounter | CounterType$ P1P1 | ActivationZone$ Hand");
sb.append("| ValidTgts$ Creature | TgtPrompt$ Select target creature");
sb.append("| Cost$ " + manacost + " Discard<1/CARDNAME>");
sb.append("| CounterNum$ ").append(n);
sb.append("| CostDesc$ " + ManaCostParser.parse(manacost)); // to hide the Discard from the cost
sb.append("| PrecostDesc$ Reinforce ").append(n).append("");
sb.append("| SpellDescription$ (").append(Keyword.getInstance(keyword).getReminderText()).append(")");
final SpellAbility sa = AbilityFactory.getAbility(sb.toString(), card);
sa.setIntrinsic(intrinsic);
if (n.equals("X")) {
sa.setSVar("X", "Count$xPaid");
}
if (!intrinsic) { if (!intrinsic) {
sa.setTemporary(true); sa.setTemporary(true);
//sa.setOriginalHost(hostCard); //sa.setOriginalHost(hostCard);