aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/tucker/tucker.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index 18752a00e9..06c736899f 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -3756,9 +3756,23 @@ void TuckerEngine::setActionForInventoryObject() {
return;
}
// Items with unary usage i.e. "Use X", rather than "Use X on Y"
- if ((_partNum == 3 && (_actionObj1Num == 6 || _actionObj1Num == 3 || _actionObj1Num == 17 || _actionObj1Num == 33)) ||
- (_partNum == 2 && _actionObj1Num == 19) ||
- (_partNum == 3 && (_actionObj1Num == 42 && _selectedObjectNum == 18)) ) {
+ if (
+ (_partNum == 3 && (_actionObj1Num == 6 || _actionObj1Num == 3 || _actionObj1Num == 17 || _actionObj1Num == 33)) ||
+ // WORKAROUND Trac#5511.
+ // Object 18 is the glue you are supposed to use on the museum floor in part
+ // three. However, there is no hotspot for you to use the glue on, you are
+ // supposed to blindly click on the floor to trigger the correct action,
+ // which many players (myself included) find very confusing and inconsistent.
+ // The next line turns the glue into a unary usage object which means that
+ // it's enough to be inside the museum and use the glue.
+ // While this makes the puzzle slightly easier, this is consistent with other
+ // similar puzzles/items (for example the peg/manhole puzzle).
+ // As a possible future TODO we could inject a hotspot for the floor or the
+ // curator on-the-fly, but this would need to take the language into account.
+ (_partNum == 3 && _actionObj1Num == 18) ||
+ (_partNum == 2 && _actionObj1Num == 19) ||
+ (_partNum == 3 && (_actionObj1Num == 42 && _selectedObjectNum == 18))
+ ) {
_actionVerbLocked = false;
_actionRequiresTwoObjects = false;
_locationMaskCounter = 1;