From 3f95ca2869504bcaac44567eef36ac1b00fea8e9 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Mon, 30 Oct 2017 18:37:41 +0000 Subject: [PATCH] CardFactory: fixed etbCounter init twice for Planeswalker --- forge-game/src/main/java/forge/game/card/CardFactory.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 34e7bc2f173..f65e2553c71 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -349,12 +349,15 @@ public class CardFactory { } private static void buildPlaneswalkerAbilities(Card card) { + CardState state = card.getCurrentState(); // etbCounter only for Original Card if (card.getBaseLoyalty() > 0 && card.getCurrentStateName() == CardStateName.Original) { final String loyalty = Integer.toString(card.getBaseLoyalty()); - card.addIntrinsicKeyword("etbCounter:LOYALTY:" + loyalty + ":no Condition:no desc"); + // keyword need to be added to state directly, so init can be disabled + if (state.addIntrinsicKeyword("etbCounter:LOYALTY:" + loyalty + ":no Condition:no desc", false) != null) { + card.updateKeywords(); + } } - CardState state = card.getCurrentState(); //Planeswalker damage redirection String replacement = "Event$ DamageDone | ActiveZones$ Battlefield | IsCombat$ False | ValidSource$ Card.OppCtrl,Emblem.OppCtrl"