diff options
-rw-r--r-- | engines/parallaction/input.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp index d61d1bfb2b..f4b2254a96 100644 --- a/engines/parallaction/input.cpp +++ b/engines/parallaction/input.cpp @@ -326,8 +326,13 @@ bool Input::translateGameInput() { if ((_mouseButtons == kMouseLeftUp) && ((_activeItem._id != 0) || (ACTIONTYPE(z) == kZoneCommand))) { - if (z->_flags & kFlagsNoWalk) { - // character doesn't need to walk to take specified action + bool noWalk = z->_flags & kFlagsNoWalk; // check the explicit no-walk flag + if (_gameType == GType_BRA) { + // action performed on object marked for self-use do not need walk in BRA + noWalk |= z->_flags & kFlagsYourself; + } + + if (noWalk) { takeAction(z); } else { // action delayed: if Zone defined a moveto position the character is programmed to move there, |