aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/script_v5.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/script_v5.cpp')
-rw-r--r--engines/scumm/script_v5.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index fdc73edac3..b9389f226c 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -587,6 +587,18 @@ void ScummEngine_v5::o5_animateActor() {
return;
}
+ // WORKAROUND bug #859513: While on mars, going outside without your helmet
+ // (or missing some other part of your "space suite" will cause your
+ // character to complain ("I can't breathe."). Unfortunately, this is
+ // coupled with an animate command, making it very difficult to return to
+ // safety (from where you came). The following hack works around this by
+ // ignoring that particular turn command.
+ if (_game.id == GID_ZAK && _currentRoom == 182 && anim == 246 &&
+ ((_game.version < 3 && vm.slot[_currentScript].number == 82)
+ || (_game.version == 3 && vm.slot[_currentScript].number == 131))) {
+ return;
+ }
+
Actor *a = derefActor(act, "o5_animateActor");
a->animateActor(anim);
}