From 28550dbc9979bcee83f2ed7501e903e01f6e7262 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 10 Mar 2026 19:59:23 -0700 Subject: [PATCH] fix: reduce GO fallback hit radius to prevent invisible chair click-lock Fallback sphere for GameObjects without a loaded renderer instance was 2.5f, causing invisible/unloaded chairs in Goldshire Inn to be accidentally targeted during camera right-drag. This sent CMSG_GAMEOBJ_USE which set server stand state to SIT, trapping the player until a stand-up packet was sent. Reduce fallback radius to 1.2f and height offset to 1.0f so only deliberate close-range direct clicks register on unloaded GO geometry. --- src/ui/game_screen.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index e41909d6..cbe89daf 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -1683,11 +1683,11 @@ void GameScreen::processTargetInput(game::GameHandler& gameHandler) { heightOffset = 0.3f; } } else if (t == game::ObjectType::GAMEOBJECT) { - // Do not hard-filter by GO type here. Some realms/content - // classify usable objects (including some chests) with types - // that look decorative in cache data. - hitRadius = 2.5f; - heightOffset = 1.2f; + // For GOs with no renderer instance yet, use a tight fallback + // sphere (not 2.5f) so invisible/unloaded GOs (chairs, doodads) + // are not accidentally clicked during camera right-drag. + hitRadius = 1.2f; + heightOffset = 1.0f; } hitCenter = core::coords::canonicalToRender( glm::vec3(entity->getX(), entity->getY(), entity->getZ()));