diff options
author | strangerke | 2011-04-15 23:04:29 +0200 |
---|---|---|
committer | strangerke | 2011-04-15 23:04:29 +0200 |
commit | ab2626f201dde85ecb811980ea06fef263881fd5 (patch) | |
tree | 0a58023165f4359a484f61fd3dde5ab843568a52 /engines/tsage | |
parent | 9ca6562dc60a769199a3085beab0a72b72382deb (diff) | |
download | scummvm-rg350-ab2626f201dde85ecb811980ea06fef263881fd5.tar.gz scummvm-rg350-ab2626f201dde85ecb811980ea06fef263881fd5.tar.bz2 scummvm-rg350-ab2626f201dde85ecb811980ea06fef263881fd5.zip |
TSAGE: Fix several problems in scene 40, including the blocking one (killing the assassin)
Diffstat (limited to 'engines/tsage')
-rw-r--r-- | engines/tsage/ringworld_scenes1.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/tsage/ringworld_scenes1.cpp b/engines/tsage/ringworld_scenes1.cpp index aad415b1d7..1e540f0e25 100644 --- a/engines/tsage/ringworld_scenes1.cpp +++ b/engines/tsage/ringworld_scenes1.cpp @@ -1207,7 +1207,7 @@ void Scene40::Action5::signal() { switch (_actionIndex++) { case 0: - setDelay(_globals->_randomSource.getRandomNumber(120)); + setDelay(_globals->_randomSource.getRandomNumber(119) + 120); break; case 1: scene->_object2.animate(ANIM_MODE_8, 1, this); @@ -1223,12 +1223,13 @@ void Scene40::Action6::signal() { scene->_object1.postInit(); scene->_object1.setVisage(16); scene->_object1.setStrip2(6); + scene->_object1._moveDiff = Common::Point(40, 40); scene->_object1.setPosition(Common::Point(313, 53)); scene->_object1._field7A = 60; Common::Point pt(141, 194); NpcMover *mover = new NpcMover(); - scene->_object1.addMover(mover, &pt, this); + scene->_object1.addMover(mover, &pt, NULL); scene->_object1.animate(ANIM_MODE_5, NULL); scene->_doorway.postInit(); @@ -1256,6 +1257,7 @@ void Scene40::Action7::signal() { switch (_actionIndex++) { case 0: + // TODO: check if it's rand(500) or rand(499)+500 setDelay(_globals->_randomSource.getRandomNumber(500)); break; case 1: @@ -1269,6 +1271,8 @@ void Scene40::Action7::signal() { scene->_object7.setPosition(Common::Point(305, 61)); scene->_object7.setFrame(15); } + scene->_object7.animate(ANIM_MODE_5, this); + scene->_soundHandler.startSound(25); break; case 2: scene->_object7.remove(); @@ -1363,6 +1367,7 @@ void Scene40::Assassin::doAction(int action) { Common::Point pt(230, 187); NpcMover *mover = new NpcMover(); addMover(mover, &pt, NULL); + scene->setAction(&scene->_action2); } break; case OBJECT_SCANNER: |