diff options
Diffstat (limited to 'engines/saga/script.cpp')
-rw-r--r-- | engines/saga/script.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp index 51e40defd1..95ed639a1b 100644 --- a/engines/saga/script.cpp +++ b/engines/saga/script.cpp @@ -861,6 +861,19 @@ void Script::whichObject(const Point& mousePoint) { objectFlags = 0; newRightButtonVerb = hitZone->getRightButtonVerb() & 0x7f; + // WORKAROUND for a problematic object in IHNM + // In the freezer room, the key that drops is made of a hitzone which + // contains the key object itself. We change the object ID that the + // hitzone contains (object ID 24578 - "The key") to the ID of the key + // object itself (object ID 16402 - "Edna's key"), as the user can keep + // hovering the cursor to both items, but can only pick up one + if (_vm->getGameType() == GType_IHNM) { + if (_vm->_scene->currentChapterNumber() == 1 && _vm->_scene->currentSceneNumber() == 24) { + if (objectId == 24578) + objectId = 16402; + } + } + if (_vm->getGameType() == GType_ITE) { if (newRightButtonVerb == getVerbType(kVerbWalkOnly)) { |