diff options
Diffstat (limited to 'node')
| -rw-r--r-- | node/jumpbackwardnode.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/node/jumpbackwardnode.cpp b/node/jumpbackwardnode.cpp index b1e7889..0b2cbf6 100644 --- a/node/jumpbackwardnode.cpp +++ b/node/jumpbackwardnode.cpp @@ -91,20 +91,29 @@ void JumpBackwardNode::run(ExecutionNode* previous) m_previousNode = previous; ExecutionNode* parent = previous; bool found=false; - int i = 3; + //int i = 3; Result* result=NULL; while((NULL!=parent)&&(!found)) { result = parent->getResult(); - if((NULL!=result)) + if(NULL!=result) { - --i; - if((i==0)&&(result->hasResultOfType(Result::DICE_LIST))) + //--i; + if(/*(i==0)&&*/(result->hasResultOfType(Result::DICE_LIST))) { found =true; m_backwardNode = parent; } + else + { + JumpBackwardNode* jpNode = dynamic_cast<JumpBackwardNode*>(parent); + if(NULL!=jpNode) + { + found = true; + m_backwardNode = parent; + } + } } if(!found) { |