From caccaab03fdedecab53baa08e345a32d3bfc1ecb Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Sat, 22 Oct 2011 15:50:31 +0000 Subject: [PATCH] Fixing Stack overflow... --- .../gempukku/lotro/logic/timing/RulesEffect.java | 4 ++++ .../gempukku/lotro/logic/timing/TurnProcedure.java | 13 ++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/RulesEffect.java diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/RulesEffect.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/RulesEffect.java new file mode 100644 index 000000000..0fc8777d7 --- /dev/null +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/RulesEffect.java @@ -0,0 +1,4 @@ +package com.gempukku.lotro.logic.timing; + +public interface RulesEffect { +} 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 40995138b..82bf9bd38 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 @@ -50,7 +50,10 @@ public class TurnProcedure { } else { Effect effect = _actionStack.getNextEffect(_game); if (effect != null) { - _actionStack.stackAction(new PlayOutRecognizableEffect(effect)); + if (effect instanceof RulesEffect) + effect.playEffect(_game); + else + _actionStack.stackAction(new PlayOutRecognizableEffect(effect)); } } _game.checkLoseConditions(); @@ -129,7 +132,7 @@ public class TurnProcedure { } } - private class PlayoutOptionalBeforeResponsesEffect extends UnrespondableEffect { + private class PlayoutOptionalBeforeResponsesEffect extends UnrespondableEffect implements RulesEffect { private SystemQueueAction _action; private Set _cardTriggersUsed; private PlayOrder _playOrder; @@ -186,7 +189,7 @@ public class TurnProcedure { } } - private class PlayoutOptionalAfterResponsesEffect extends UnrespondableEffect { + private class PlayoutOptionalAfterResponsesEffect extends UnrespondableEffect implements RulesEffect { private SystemQueueAction _action; private Map> _unplayedAfterTriggers; private PlayOrder _playOrder; @@ -248,7 +251,7 @@ public class TurnProcedure { } } - private class PlayoutAllActionsIfEffectNotCancelledEffect extends UnrespondableEffect { + private class PlayoutAllActionsIfEffectNotCancelledEffect extends UnrespondableEffect implements RulesEffect { private SystemQueueAction _action; private Effect _effect; private List _actions; @@ -278,7 +281,7 @@ public class TurnProcedure { } } - private class StackActionEffect extends UnrespondableEffect { + private class StackActionEffect extends UnrespondableEffect implements RulesEffect { private Action _action; private StackActionEffect(Action action) {