diff options
author | Peter Kohaut | 2019-02-02 12:35:26 +0100 |
---|---|---|
committer | Peter Kohaut | 2019-02-03 00:14:09 +0100 |
commit | 1df1eefc3e9584516fec7d7b4f09f5216f84de00 (patch) | |
tree | f8b1f498a93b484434e1a56ba4ce889a8c8e0022 /engines/bladerunner/bladerunner.cpp | |
parent | 5e5eb39197b8bc2fbba55ff01ecdd456c04ab97c (diff) | |
download | scummvm-rg350-1df1eefc3e9584516fec7d7b4f09f5216f84de00.tar.gz scummvm-rg350-1df1eefc3e9584516fec7d7b4f09f5216f84de00.tar.bz2 scummvm-rg350-1df1eefc3e9584516fec7d7b4f09f5216f84de00.zip |
BLADERUNNER: Fixed Rat interaction at UG15
Diffstat (limited to 'engines/bladerunner/bladerunner.cpp')
-rw-r--r-- | engines/bladerunner/bladerunner.cpp | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 9b0ffaff16..4768ca5e28 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -982,19 +982,26 @@ void BladeRunnerEngine::actorsUpdate() { int actorCount = (int)_gameInfo->getActorCount(); int setId = _scene->getSetId(); - if (setId != kSetUG18 || _gameVars[kVariableChapter] != 4 || !_gameFlags->query(670) || !_aiScripts->isInsideScript()) { - for (int i = 0; i < actorCount; i++) { - Actor *actor = _actors[i]; - if (actor->getSetId() == setId || i == _actorUpdateCounter) { - _aiScripts->update(i); - actor->timersUpdate(); - } - } - ++_actorUpdateCounter; - if (_actorUpdateCounter >= actorCount) { - _actorUpdateCounter = 0; + // what a "nice" last minute fix... + if ( setId == kSetUG18 + && _gameVars[kVariableChapter] == 4 + && _gameFlags->query(kFlagCallWithGuzza) + && _aiScripts->isInsideScript() + ) { + return; + } + + for (int i = 0; i < actorCount; i++) { + Actor *actor = _actors[i]; + if (actor->getSetId() == setId || i == _actorUpdateCounter) { + _aiScripts->update(i); + actor->timersUpdate(); } } + ++_actorUpdateCounter; + if (_actorUpdateCounter >= actorCount) { + _actorUpdateCounter = 0; + } } void BladeRunnerEngine::walkingReset() { |