diff options
author | Jaromir Wysoglad | 2019-06-10 09:27:44 +0200 |
---|---|---|
committer | Thierry Crozat | 2019-07-28 15:09:14 +0100 |
commit | bebaf084a72f0c9f80990ca4c0159d5eff31a5fe (patch) | |
tree | 9d87960386817441c67e8661f281933d5268f038 | |
parent | d4f2b81b075f6f1c5d807584c420949a9c03bec2 (diff) | |
download | scummvm-rg350-bebaf084a72f0c9f80990ca4c0159d5eff31a5fe.tar.gz scummvm-rg350-bebaf084a72f0c9f80990ca4c0159d5eff31a5fe.tar.bz2 scummvm-rg350-bebaf084a72f0c9f80990ca4c0159d5eff31a5fe.zip |
SUPERNOVA2: Add Upstairs3 room
-rw-r--r-- | engines/supernova2/rooms.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/supernova2/rooms.cpp b/engines/supernova2/rooms.cpp index 1d2b357691..a23319a1d8 100644 --- a/engines/supernova2/rooms.cpp +++ b/engines/supernova2/rooms.cpp @@ -3201,9 +3201,14 @@ Upstairs3::Upstairs3(Supernova2Engine *vm, GameManager *gm) { _vm = vm; _gm = gm; - _fileNumber = 6; + _fileNumber = 10; _id = UPSTAIRS3; _shown[0] = kShownTrue; + _shown[1] = kShownTrue; + + _objectState[0] = Object(_id, kStringRight, kStringDefaultDescription, G_RIGHT, EXIT, 1, 1, 0, PYR_ENTRANCE, 14); + _objectState[1] = Object(_id, kStringLeft, kStringDefaultDescription, G_LEFT, EXIT, 2, 2, 0, PYR_ENTRANCE, 10); + _objectState[2] = Object(_id, kStringCorridor, kStringDefaultDescription, CORRIDOR, EXIT, 0, 0, 0, PYR_ENTRANCE, 2); } void Upstairs3::onEntrance() { @@ -3214,6 +3219,19 @@ void Upstairs3::animation() { } bool Upstairs3::interact(Action verb, Object &obj1, Object &obj2) { + if (!_gm->move(verb, obj1)) + return false; + if (obj1._id == CORRIDOR) { + if (_gm->_state._pyraE) + _gm->_state._pyraE = 0; + else + _gm->_state._pyraE = 1; + } + if (obj1._id == G_LEFT) + _gm->changeRoom(LGANG1); + else + _gm->passageConstruction(); + _gm->_newRoom = true; return true; } |