diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java index 10b5a5870..ad288765e 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java @@ -406,7 +406,13 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { for (Modifier modifier : getModifiersAffectingCard(gameState, ModifierEffect.TWILIGHT_COST_MODIFIER, physicalCard)) { result += modifier.getTwilightCostModifier(gameState, this, physicalCard, ignoreRoamingPenalty); } - return Math.max(0, result); + result = Math.max(0, result); + + if (!ignoreRoamingPenalty && hasKeyword(gameState, physicalCard, Keyword.ROAMING)) { + int roamingPenalty = getRoamingPenalty(gameState, physicalCard); + result += Math.max(0, roamingPenalty); + } + return result; } finally { LoggingThreadLocal.logMethodEnd(); } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/RoamingRule.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/RoamingRule.java index 117e7c7ec..6891cdb45 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/RoamingRule.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/RoamingRule.java @@ -6,7 +6,9 @@ import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; -import com.gempukku.lotro.logic.modifiers.*; +import com.gempukku.lotro.logic.modifiers.KeywordModifier; +import com.gempukku.lotro.logic.modifiers.ModifiersLogic; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class RoamingRule { private ModifiersLogic _modifiersLogic; @@ -25,24 +27,5 @@ public class RoamingRule { _modifiersLogic.addAlwaysOnModifier( new KeywordModifier(null, roamingFilter, Keyword.ROAMING)); - - _modifiersLogic.addAlwaysOnModifier( - new AbstractModifier(null, null, Filters.and(CardType.MINION, Keyword.ROAMING), ModifierEffect.TWILIGHT_COST_MODIFIER) { - @Override - public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, boolean ignoreRoamingPenalty) { - if (ignoreRoamingPenalty) - return 0; - return modifiersQuerying.getRoamingPenalty(gameState, physicalCard); - } - - @Override - public String getText(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) { - final int value = modifiersQuerying.getRoamingPenalty(gameState, self); - if (value >= 0) - return "Twilight cost +" + value; - else - return "Twilight cost " + value; - } - }); } } diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html index 309254ca4..ed0bd9fd8 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html @@ -1,4 +1,7 @@
+27 Mar. 2012 +- Roaming penalty is separate from twilight cost modifiers and applies after them. + 26 Mar. 2012 - "Pillage of Rohan" and other similar cards should be active at the right time now (only on your turn). - "Let Her Deal With Them" now correctly requires to spot Gollum or Smeagol to be able to play it (both from hand