CardFactoryUtil: add Changeling as Keyword

This commit is contained in:
Hanmac
2016-12-09 05:59:38 +00:00
parent 71a22ff7ca
commit eea8ef284d
3 changed files with 15 additions and 3 deletions

View File

@@ -1430,7 +1430,7 @@ public class Card extends GameEntity implements Comparable<Card> {
} else if (keyword.startsWith("Provoke") || keyword.startsWith("Devour") || keyword.equals("Unleash")
|| keyword.startsWith("Soulbond") || keyword.equals("Partner") || keyword.equals("Retrace")
|| keyword.equals("Living Weapon") || keyword.equals("Myriad") || keyword.equals("Exploit")
|| keyword.equals("Ingest")) {
|| keyword.equals("Ingest") || keyword.equals("Changeling")) {
sbLong.append(keyword + " (" + Keyword.getInstance(keyword).getReminderText() + ")");
} else if (keyword.startsWith("Fabricate") || keyword.startsWith("Soulshift")
|| keyword.startsWith("Crew") || keyword.startsWith("Tribute")
@@ -1939,7 +1939,7 @@ public class Card extends GameEntity implements Comparable<Card> {
sb.delete(sb.lastIndexOf("\r\n"), sb.lastIndexOf("\r\n") + 3);
}
sb.append("Remove CARDNAME from your deck before playing if you're not playing for ante.\r\n");
} else if (keyword.equals("Rebound") || keyword.equals("Retrace")) {
} else if (keyword.equals("Rebound") || keyword.equals("Retrace") || keyword.equals("Changeling")) {
sb.append(keyword + " (" + Keyword.getInstance(keyword).getReminderText() + ")");
} else if (keyword.startsWith("Presence")) {
sb.append(Keyword.getInstance(keyword).getReminderText());

View File

@@ -2298,6 +2298,9 @@ public class CardFactoryUtil {
addReplacementEffect(keyword, card, null);
addStaticAbility(keyword, card, null);
}
else if (keyword.equals("Changeling")) {
addStaticAbility(keyword, card, null);
}
else if (keyword.startsWith("Emerge")) {
addSpellAbility(keyword, card, null);
}
@@ -3936,6 +3939,15 @@ public class CardFactoryUtil {
if (!intrinsic) {
kws.addStaticAbility(st);
}
} else if (keyword.equals("Changeling")) {
final String effect = "Mode$ Continuous | EffectZone$ All | Affected$ Card.Self" +
" | CharacteristicDefining$ True | AddType$ AllCreatureTypes | Secondary$ True" +
" | Description$ Changeling (" + Keyword.getInstance(keyword).getReminderText() + ")";
StaticAbility st = card.addStaticAbility(effect);
st.setIntrinsic(intrinsic);
if (!intrinsic) {
kws.addStaticAbility(st);
}
} else if (keyword.startsWith("Strive")) {
final String[] k = keyword.split(":");
final String manacost = k[1];

View File

@@ -23,7 +23,7 @@ public enum Keyword {
BUYBACK(KeywordWithCost.class, false, "You may pay an additional %s as you cast this spell. If you do, put it into your hand instead of your graveyard as it resolves."),
CASCADE(SimpleKeyword.class, false, "When you cast this spell, exile cards from the top of your library until you exile a nonland card whose converted mana cost is less than this spell's converted mana cost. You may cast that card without paying its mana cost. Then put all cards exiled this way that weren't cast on the bottom of your library in a random order."),
CHAMPION(KeywordWithType.class, false, "When this enters the battlefield, sacrifice it unless you exile another %s you control. When this leaves the battlefield, that card returns to the battlefield."),
CHANGELING(SimpleKeyword.class, true, "This card is every creature type at all times."),
CHANGELING(SimpleKeyword.class, true, "This card is every creature type."),
CONSPIRE(SimpleKeyword.class, false, "As an additional cost to cast this spell, you may tap two untapped creatures you control that each share a color with it. If you do, copy it."),
CONVOKE(SimpleKeyword.class, true, "Each creature you tap while playing this spell reduces its cost by {1} or by one mana of that creature's color."),
CREW(KeywordWithAmount.class, true, "Tap any number of creatures you control with total power %1$d or more: This Vehicle becomes an artifact creature until end of turn."),