diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/CheckPhaseLimitEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/CheckPhaseLimitEffect.java index 3aed887c5..5cea37073 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/CheckPhaseLimitEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/CheckPhaseLimitEffect.java @@ -11,6 +11,7 @@ import com.gempukku.lotro.logic.timing.UnrespondableEffect; public class CheckPhaseLimitEffect extends UnrespondableEffect { private Action _action; private PhysicalCard _card; + private String _limitPrefix; private int _limit; private Phase _phase; private Effect _limitedEffect; @@ -20,7 +21,12 @@ public class CheckPhaseLimitEffect extends UnrespondableEffect { } public CheckPhaseLimitEffect(Action action, PhysicalCard card, int limit, Phase phase, Effect limitedEffect) { + this(action, card, "", limit, phase, limitedEffect); + } + + public CheckPhaseLimitEffect(Action action, PhysicalCard card, String limitPrefix, int limit, Phase phase, Effect limitedEffect) { _card = card; + _limitPrefix = limitPrefix; _limit = limit; _phase = phase; _limitedEffect = limitedEffect; @@ -33,7 +39,7 @@ public class CheckPhaseLimitEffect extends UnrespondableEffect { if (phase == null) phase = game.getGameState().getCurrentPhase(); - int incrementedBy = game.getModifiersQuerying().getUntilEndOfPhaseLimitCounter(_card, phase).incrementToLimit(_limit, 1); + int incrementedBy = game.getModifiersQuerying().getUntilEndOfPhaseLimitCounter(_card, _limitPrefix, phase).incrementToLimit(_limit, 1); if (incrementedBy > 0) { SubAction subAction = new SubAction(_action); subAction.appendEffect( diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_012.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_012.java index 78ca9b964..e9ea24d48 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_012.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_012.java @@ -44,12 +44,12 @@ public class Card2_012 extends AbstractPermanent { @Override protected void cardSelected(LotroGame game, PhysicalCard dwarf) { action.appendEffect( - new CheckPhaseLimitEffect(action, self, 3, Phase.SKIRMISH, + new CheckPhaseLimitEffect(action, self, "str", 3, Phase.SKIRMISH, new AddUntilEndOfPhaseModifierEffect( new StrengthModifier(self, Filters.sameCard(dwarf), 1), Phase.SKIRMISH))); if (PlayConditions.location(game, Keyword.UNDERGROUND)) action.appendEffect( - new CheckPhaseLimitEffect(action, self, 3, Phase.SKIRMISH, + new CheckPhaseLimitEffect(action, self, "dmg", 3, Phase.SKIRMISH, new AddUntilEndOfPhaseModifierEffect( new KeywordModifier(self, Filters.sameCard(dwarf), Keyword.DAMAGE), Phase.SKIRMISH))); } 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 ad288765e..c2a1c7b90 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 @@ -18,7 +18,7 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { private Set _skipSet = new HashSet(); - private Map> _phaseLimitCounters = new HashMap>(); + private Map> _phaseLimitCounters = new HashMap>(); private Map _turnLimitCounters = new HashMap(); private int _drawnThisPhaseCount = 0; @@ -26,15 +26,20 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { @Override public LimitCounter getUntilEndOfPhaseLimitCounter(PhysicalCard card, Phase phase) { - Map limitCounterMap = _phaseLimitCounters.get(phase); + return getUntilEndOfPhaseLimitCounter(card, "", phase); + } + + @Override + public LimitCounter getUntilEndOfPhaseLimitCounter(PhysicalCard card, String prefix, Phase phase) { + Map limitCounterMap = _phaseLimitCounters.get(phase); if (limitCounterMap == null) { - limitCounterMap = new HashMap(); + limitCounterMap = new HashMap(); _phaseLimitCounters.put(phase, limitCounterMap); } - LimitCounter limitCounter = limitCounterMap.get(card.getCardId()); + LimitCounter limitCounter = limitCounterMap.get(prefix + card.getCardId()); if (limitCounter == null) { limitCounter = new DefaultLimitCounter(); - limitCounterMap.put(card.getCardId(), limitCounter); + limitCounterMap.put(prefix + card.getCardId(), limitCounter); } return limitCounter; } @@ -128,7 +133,7 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { removeModifiers(list); list.clear(); } - Map counterMap = _phaseLimitCounters.get(phase); + Map counterMap = _phaseLimitCounters.get(phase); if (counterMap != null) counterMap.clear(); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java index c004e3c5e..a25e8e11c 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java @@ -15,6 +15,8 @@ import java.util.Set; public interface ModifiersQuerying { public LimitCounter getUntilEndOfPhaseLimitCounter(PhysicalCard card, Phase phase); + public LimitCounter getUntilEndOfPhaseLimitCounter(PhysicalCard card, String prefix, Phase phase); + public LimitCounter getUntilEndOfTurnLimitCounter(PhysicalCard card); public Collection getModifiersAffecting(GameState gameState, PhysicalCard card); 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 13895c2b9..118097599 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,6 +1,7 @@
 30 Apr. 2012
 - "Pillage of Rohan" should now work correctly.
+- "Realm of Dwarrowdelf" now has two separate limits (for str and dmg).
 
 27 Apr. 2012
 - "Morning Came" now correctly adds +2 Strength to the character if shadow player puts card from hand beneath his/her