aboutsummaryrefslogtreecommitdiff
path: root/engines/tucker/tucker.cpp
diff options
context:
space:
mode:
authorAdrian Frühwirth2018-02-09 21:59:35 +0100
committerAdrian Frühwirth2018-02-09 21:59:35 +0100
commit32361224650d56d31b28b1468d73d0c1c49f12c5 (patch)
tree82e6cc08b7867e06cfbcedcf32c34497e3583101 /engines/tucker/tucker.cpp
parentf3f508882430221f26d346d532434bf14da9e503 (diff)
downloadscummvm-rg350-32361224650d56d31b28b1468d73d0c1c49f12c5.tar.gz
scummvm-rg350-32361224650d56d31b28b1468d73d0c1c49f12c5.tar.bz2
scummvm-rg350-32361224650d56d31b28b1468d73d0c1c49f12c5.zip
TUCKER: Make the glue a "unary usage" object
Workaround for Trac#5511.
Diffstat (limited to 'engines/tucker/tucker.cpp')
-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;