diff options
Diffstat (limited to 'src/input/inputmanager.cpp')
-rw-r--r-- | src/input/inputmanager.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp index 27d15a366..59fd1ff2d 100644 --- a/src/input/inputmanager.cpp +++ b/src/input/inputmanager.cpp @@ -732,11 +732,22 @@ void InputManager::updateConditionMask() if (Game::instance()) mMask |= InputCondition::INGAME; - if (!localPlayer || localPlayer->getFollow().empty()) - mMask |= InputCondition::NOFOLLOW; + if (localPlayer) + { + if (localPlayer->getFollow().empty()) + mMask |= InputCondition::NOFOLLOW; - if (localPlayer && localPlayer->isAlive()) - mMask |= InputCondition::ALIVE; + if (!localPlayer->isTrickDead()) + mMask |= InputCondition::NOBLOCK; + + if (localPlayer->isAlive()) + mMask |= InputCondition::ALIVE; + } + else + { + mMask |= InputCondition::NOFOLLOW; + mMask |= InputCondition::NOBLOCK; + } #endif if (!settings.awayMode) |