diff options
author | Thierry Crozat | 2017-12-13 21:49:33 +0000 |
---|---|---|
committer | Thierry Crozat | 2018-01-23 02:15:43 +0000 |
commit | fa426e4dc3070b5945367db704c3a78db7759960 (patch) | |
tree | bebeadf7935be40c4f34253308453b0f99fc4467 | |
parent | c09ecdb19cfc2381010718a7f76fca4dd2465a95 (diff) | |
download | scummvm-rg350-fa426e4dc3070b5945367db704c3a78db7759960.tar.gz scummvm-rg350-fa426e4dc3070b5945367db704c3a78db7759960.tar.bz2 scummvm-rg350-fa426e4dc3070b5945367db704c3a78db7759960.zip |
SUPERNOVA: Fix clearing inventory when landing on Axacuss
If the player did pik up the discman earlier in the game,
it should be kept.
Also the inventory scroll needs to be reset after removing
almost all the objects as otherwise we may see what seems
to be an empty inventory with no arrow (although we can
still scroll when clicking on the space where the up arrow
should be).
-rw-r--r-- | engines/supernova/rooms.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/supernova/rooms.cpp b/engines/supernova/rooms.cpp index b5ee3e1398..f48c06cae4 100644 --- a/engines/supernova/rooms.cpp +++ b/engines/supernova/rooms.cpp @@ -2322,9 +2322,15 @@ bool ArsanoMeetup3::interact(Action verb, Object &obj1, Object &obj2) { _gm->reply(kStringArsanoMeetup3_27, 1, 1 + 128); _gm->reply(kStringArsanoMeetup3_28, 1, 1 + 128); _vm->paletteFadeOut(); + // Remove all objects from the inventory except the Knife, Watch and Discman _gm->_inventory.clear(); - _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(1)); // Knife - _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(2)); // Watch + _gm->_inventoryScroll = 0; + if (_gm->_rooms[INTRO]->getObject(1)->hasProperty(CARRIED)) // Knife + _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(1)); + if (_gm->_rooms[INTRO]->getObject(2)->hasProperty(CARRIED)) // Watch + _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(2)); + if (_gm->_rooms[INTRO]->getObject(3)->hasProperty(CARRIED)) // Discman + _gm->_inventory.add(*_gm->_rooms[INTRO]->getObject(3)); _gm->changeRoom(CELL); _gm->_state._dream = true; } else |