diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/evaluator/CardLimitEvaluator.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/evaluator/CardLimitEvaluator.java index c5989c551..72a120901 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/evaluator/CardLimitEvaluator.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/evaluator/CardLimitEvaluator.java @@ -29,13 +29,7 @@ public class CardLimitEvaluator implements Evaluator { private int evaluateOnce(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard cardAffected) { LimitCounter limitCounter = _game.getModifiersEnvironment().getUntilEndOfPhaseLimitCounter(_source, _phase); int internalResult = _evaluator.evaluateExpression(gameState, modifiersQuerying, cardAffected); - int availableBonusWithLimit = 0; - for (int i = 0; i < internalResult; i++) { - int limitResult = limitCounter.incrementCounter(); - if (limitResult <= _limit) - availableBonusWithLimit++; - } - return availableBonusWithLimit; + return limitCounter.incrementToLimit(_limit, internalResult); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/raider/Card6_080.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/raider/Card6_080.java index 2acd2c61c..a2ec3e5bd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/raider/Card6_080.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/raider/Card6_080.java @@ -10,6 +10,7 @@ import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.actions.ActivateCardAction; +import com.gempukku.lotro.logic.modifiers.LimitCounter; import com.gempukku.lotro.logic.timing.Action; import java.util.Collections; @@ -40,10 +41,12 @@ public class Card6_080 extends AbstractMinion { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new RemoveTwilightEffect(3)); - int bonus = Math.min(4, Filters.countActive(game.getGameState(), game.getModifiersQuerying(), CardType.COMPANION) - 4); + LimitCounter limitCounter = game.getModifiersEnvironment().getUntilEndOfPhaseLimitCounter(self, Phase.ARCHERY); + int bonus = Math.max(0, Filters.countActive(game.getGameState(), game.getModifiersQuerying(), CardType.COMPANION) - 4); + int archeryBonus = limitCounter.incrementToLimit(4, bonus); action.appendEffect( new AddUntilEndOfPhaseModifierEffect( - new ArcheryTotalModifier(self, Side.SHADOW, bonus), Phase.ARCHERY)); + new ArcheryTotalModifier(self, Side.SHADOW, archeryBonus), Phase.ARCHERY)); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/DefaultLimitCounter.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/DefaultLimitCounter.java index 54b0e87a7..58385df23 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/DefaultLimitCounter.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/DefaultLimitCounter.java @@ -8,4 +8,12 @@ public class DefaultLimitCounter implements LimitCounter { _count++; return _count; } + + @Override + public int incrementToLimit(int limit, int incrementBy) { + int maxIncrement = limit - _count; + int finalIncrement = Math.min(maxIncrement, incrementBy); + _count += finalIncrement; + return finalIncrement; + } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/LimitCounter.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/LimitCounter.java index b67694ab7..3aa2cc767 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/LimitCounter.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/LimitCounter.java @@ -2,4 +2,6 @@ package com.gempukku.lotro.logic.modifiers; public interface LimitCounter { public int incrementCounter(); + + public int incrementToLimit(int limit, int incrementBy); } 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 67956f949..7af189a24 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 @@
+1 Jan. 2012
+- "Southron Archer Legion" should now use the +4 limit for the entire phase.
+
 29 Dec. 2011
 - "Till Durin Wakes Again" now allows to heal as many dwarves as you want, rather than just one.
 - "All Thought Bent on It" now makes the FP player to exert the characters, rather than the Shadow player.