- Roaming penalty is separate from twilight cost modifiers and applies after them.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user