aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/rooms.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/supernova/rooms.cpp')
-rw-r--r--engines/supernova/rooms.cpp10
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