diff options
| -rw-r--r-- | node/keepdiceexecnode.cpp | 7 | ||||
| -rw-r--r-- | node/keepdiceexecnode.h | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/node/keepdiceexecnode.cpp b/node/keepdiceexecnode.cpp index 89cda38..347931d 100644 --- a/node/keepdiceexecnode.cpp +++ b/node/keepdiceexecnode.cpp @@ -46,6 +46,11 @@ void KeepDiceExecNode::run(ExecutionNode* previous) { QList<Die*> diceList=previousDiceResult->getResultList(); + if(m_numberOfDice < 0) + { + m_numberOfDice = diceList.size() + m_numberOfDice; + } + QList<Die*> diceList3= diceList.mid(0,m_numberOfDice); QList<Die*> diceList2; @@ -76,7 +81,7 @@ void KeepDiceExecNode::run(ExecutionNode* previous) } } } -void KeepDiceExecNode::setDiceKeepNumber(quint64 n) +void KeepDiceExecNode::setDiceKeepNumber(qint64 n) { m_numberOfDice = n; } diff --git a/node/keepdiceexecnode.h b/node/keepdiceexecnode.h index 4212275..72d3de4 100644 --- a/node/keepdiceexecnode.h +++ b/node/keepdiceexecnode.h @@ -34,12 +34,12 @@ public: virtual ~KeepDiceExecNode(); virtual void run(ExecutionNode *previous); - virtual void setDiceKeepNumber(quint64 ); + virtual void setDiceKeepNumber(qint64 ); virtual QString toString(bool)const; virtual qint64 getPriority() const; virtual ExecutionNode *getCopy() const; private: - quint64 m_numberOfDice; + qint64 m_numberOfDice; DiceResult* m_diceResult; }; |