diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java index 1042fa1b4..f5825abb9 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java @@ -288,6 +288,11 @@ public class TurnProcedure { public void doPlayEffect(LotroGame game) { if (_actions.size() == 1) { _game.getActionsEnvironment().addActionToStack(_actions.get(0)); + } else if (areAllActionsTheSame(game)) { + Action anyAction = _actions.get(0); + _actions.remove(anyAction); + _game.getActionsEnvironment().addActionToStack(anyAction); + _action.insertEffect(new PlayoutAllActionsIfEffectNotCancelledEffect(_action, _actions)); } else { _game.getUserFeedback().sendAwaitingDecision(_game.getGameState().getCurrentPlayerId(), new ActionSelectionDecision(_game, 1, "Required responses", _actions) { @@ -301,5 +306,20 @@ public class TurnProcedure { }); } } + + private boolean areAllActionsTheSame(LotroGame game) { + Iterator actionIterator = _actions.iterator(); + + Action firstAction = actionIterator.next(); + if (firstAction.getActionSource() == null) + return false; + + while (actionIterator.hasNext()) { + Action otherAction = actionIterator.next(); + if (otherAction.getActionSource() == null || otherAction.getActionSource().getBlueprint() != firstAction.getActionSource().getBlueprint()) + return false; + } + return true; + } } } 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 56833db2b..0d82cb9f3 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 @@ -5,6 +5,7 @@ cards from discard. - "One Good Turn Deserves Another" plays next site now, instead of replacing current one. - "Safe Passage" should no longer freeze the game, when player moves after it's played. +- Automatically handling multiple triggers from the same card(s) - i.e. Goblin Armory, etc. 14 Dec. 2011 - Added "Black Rider" - set 12.