From 6c1f5ee4ea9529c15d53767ac036fa10b590f46b Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Fri, 2 Sep 2011 20:57:14 +0000 Subject: [PATCH] Fixing action processing bugs and fixing Gift of Boats to work properly. --- .../com/gempukku/lotro/cards/set1/elven/Card1_046.java | 3 ++- .../com/gempukku/lotro/logic/timing/TurnProcedure.java | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_046.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_046.java index 5835b1794..9f0f0b32c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_046.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_046.java @@ -56,7 +56,8 @@ public class Card1_046 extends AbstractLotroCardBlueprint { @Override public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (effectResult.getType() == EffectResult.Type.WHEN_MOVE_FROM) { + if (effectResult.getType() == EffectResult.Type.WHEN_MOVE_FROM + && game.getGameState().getCurrentPhase() == Phase.FELLOWSHIP) { CostToEffectAction action = new CostToEffectAction(self, null, "Move limit for this turn is +1"); action.addEffect(new AddUntilEndOfTurnModifierEffect(new MoveLimitModifier(self, 1))); return Collections.singletonList(action); 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 ded18327f..db5e36fcd 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 @@ -161,7 +161,7 @@ public class TurnProcedure { if (!_effect.isCancelled()) { final String activePlayer = _playOrder.getNextPlayer(); List possibleActions = _actionMap.get(activePlayer); - possibleActions.addAll(_game.getActionsEnvironment().getOptionalAfterActions(activePlayer, _effectResult)); + possibleActions.addAll(_game.getActionsEnvironment().getOptionalBeforeActions(activePlayer, _effect, _effectResult)); if (possibleActions.size() > 0) { _game.getUserFeedback().sendAwaitingDecision(activePlayer, @@ -172,17 +172,17 @@ public class TurnProcedure { if (action != null) { _game.getActionsEnvironment().addActionToStack(action); _actionMap.get(activePlayer).remove(action); - _action.addEffect(new PlayoutOptionalAfterResponsesEffect(_action, _actionMap, _playOrder, 0, _effectResult)); + _action.addEffect(new PlayoutOptionalBeforeResponsesEffect(_action, _actionMap, _playOrder, 0, _effect, _effectResult)); } else { if ((_passCount + 1) < _playOrder.getPlayerCount()) { - _action.addEffect(new PlayoutOptionalAfterResponsesEffect(_action, _actionMap, _playOrder, _passCount + 1, _effectResult)); + _action.addEffect(new PlayoutOptionalBeforeResponsesEffect(_action, _actionMap, _playOrder, _passCount + 1, _effect, _effectResult)); } } } }); } else { if ((_passCount + 1) < _playOrder.getPlayerCount()) { - _action.addEffect(new PlayoutOptionalAfterResponsesEffect(_action, _actionMap, _playOrder, _passCount + 1, _effectResult)); + _action.addEffect(new PlayoutOptionalBeforeResponsesEffect(_action, _actionMap, _playOrder, _passCount + 1, _effect, _effectResult)); } } }