- Roaming penalty is separate from twilight cost modifiers and applies after them.

This commit is contained in:
marcins78@gmail.com
2012-03-27 01:46:45 +00:00
parent f278f70b16
commit 882f4b8580
3 changed files with 13 additions and 21 deletions

View File

@@ -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();
}

View File

@@ -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;
}
});
}
}

View File

@@ -1,4 +1,7 @@
<pre style="font-size:80%">
<b>27 Mar. 2012</b>
- Roaming penalty is separate from twilight cost modifiers and applies after them.
<b>26 Mar. 2012</b>
- "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