Keyword V: Rise of the intrinsic

This commit is contained in:
Hanmac
2017-10-26 18:28:24 +00:00
parent 07d6cebba4
commit 4abb037081
3 changed files with 10 additions and 8 deletions

View File

@@ -414,13 +414,16 @@ public class CardFactory {
}
private static void readCardFace(Card c, ICardFace face) {
c.addIntrinsicKeywords(face.getKeywords());
for (String r : face.getReplacements()) c.addReplacementEffect(ReplacementHandler.parseReplacement(r, c, true));
for (String s : face.getStaticAbilities()) c.addStaticAbility(s);
for (String t : face.getTriggers()) c.addTrigger(TriggerHandler.parseTrigger(t, c, true));
for (Entry<String, String> v : face.getVariables()) c.setSVar(v.getKey(), v.getValue());
// keywords not before variables
c.addIntrinsicKeywords(face.getKeywords());
c.setName(face.getName());
c.setManaCost(face.getManaCost());
c.setText(face.getNonAbilityText());

View File

@@ -1949,10 +1949,6 @@ public class CardFactoryUtil {
// Cards with Cycling abilities
// -1 means keyword "Cycling" not found
for (KeywordInterface inst : card.getKeywords()) {
inst.createTraits(card, true);
}
// AddCost
if (card.hasSVar("FullCost")) {
String k[] = card.getSVar("FullCost").split(":");

View File

@@ -158,15 +158,18 @@ public class CardState extends GameObject {
}
public final void setIntrinsicKeywords(final Iterable<String> intrinsicKeyword0) {
intrinsicKeywords.clear();
intrinsicKeywords.addAll(intrinsicKeyword0);
addIntrinsicKeywords(intrinsicKeyword0);
}
public final KeywordInterface addIntrinsicKeyword(final String s) {
if (s.trim().length() == 0) {
return null;
}
return intrinsicKeywords.add(s);
KeywordInterface inst = intrinsicKeywords.add(s);
if (inst != null) {
inst.createTraits(card, true);
}
return inst;
}
public final boolean addIntrinsicKeywords(final Iterable<String> keywords) {
boolean changed = false;