diff options
Diffstat (limited to 'engines/zvision/timer_node.cpp')
-rw-r--r-- | engines/zvision/timer_node.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/engines/zvision/timer_node.cpp b/engines/zvision/timer_node.cpp index 7fc3199a8a..dc7dd5b38c 100644 --- a/engines/zvision/timer_node.cpp +++ b/engines/zvision/timer_node.cpp @@ -34,16 +34,25 @@ namespace ZVision { TimerNode::TimerNode(ZVision *engine, uint32 key, uint timeInSeconds) : SideFX(engine, key, SIDEFX_TIMER) { + if (_engine->getGameId() == GID_NEMESIS) _timeLeft = timeInSeconds * 1000; + else if (_engine->getGameId() == GID_GRANDINQUISITOR) + _timeLeft = timeInSeconds * 100; + _engine->getScriptManager()->setStateValue(_key, 1); +} + +TimerNode::~TimerNode() { + if (_timeLeft <= 0) + _engine->getScriptManager()->setStateValue(_key, 2); + else + _engine->getScriptManager()->setStateValue(_key, _timeLeft); // If timer was stopped by stop or kill } bool TimerNode::process(uint32 deltaTimeInMillis) { _timeLeft -= deltaTimeInMillis; - if (_timeLeft <= 0) { - _engine->getScriptManager()->setStateValue(_key, 0); + if (_timeLeft <= 0) return true; - } return false; } |