From da2faaeff4e53a1d4be2abab2fda092b22d34a2c Mon Sep 17 00:00:00 2001 From: Hanmac Date: Sat, 7 Oct 2017 12:55:36 +0000 Subject: [PATCH] Card: add addIntrinsicKeywords and fixed it in CardState use it for CardFactory too --- forge-game/src/main/java/forge/game/card/Card.java | 6 ++++++ forge-game/src/main/java/forge/game/card/CardFactory.java | 2 +- forge-game/src/main/java/forge/game/card/CardState.java | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 29258e0f43f..debc76cc9e1 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -3504,6 +3504,12 @@ public class Card extends GameEntity implements Comparable { } } + public final void addIntrinsicKeywords(final Iterable s) { + if (currentState.addIntrinsicKeywords(s)) { + currentState.getView().updateKeywords(this, currentState); + } + } + public final void removeIntrinsicKeyword(final String s) { if (currentState.removeIntrinsicKeyword(s)) { currentState.getView().updateKeywords(this, currentState); diff --git a/forge-game/src/main/java/forge/game/card/CardFactory.java b/forge-game/src/main/java/forge/game/card/CardFactory.java index 491f29e2c64..c90164860f2 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -424,8 +424,8 @@ public class CardFactory { } private static void readCardFace(Card c, ICardFace face) { + c.addIntrinsicKeywords(face.getKeywords()); - for (String k : face.getKeywords()) c.addIntrinsicKeyword(k); 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)); diff --git a/forge-game/src/main/java/forge/game/card/CardState.java b/forge-game/src/main/java/forge/game/card/CardState.java index 066f9f041a6..e53292bdd10 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -163,7 +163,7 @@ public class CardState extends GameObject { boolean changed = false; for (String k : keywords) { if (addIntrinsicKeyword(k)) { - changed = false; + changed = true; } } return changed;