From 805ccc81e74f583e988866d44752d60c4500fdfb Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 8 Apr 2026 02:44:54 -0300 Subject: [PATCH] fix(Core/Vehicle): Exit vehicle on reconnect to prevent stuck state (#25378) Co-authored-by: Claude Opus 4.6 --- src/server/game/Handlers/CharacterHandler.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index d1f558025..40942b333 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1130,6 +1130,13 @@ void WorldSession::HandlePlayerLoginToCharInWorld(Player* pCurrChar) ChatHandler chH = ChatHandler(this); m_playerLoading = true; + // Exit vehicle on reconnect - the client has fully reset so + // the player can no longer control the vehicle. Without this + // the player is stuck: server-side still seated, but the + // client has no vehicle UI or movement control. + if (pCurrChar->GetVehicle()) + pCurrChar->ExitVehicle(); + pCurrChar->SendDungeonDifficulty(false); WorldPacket data(SMSG_LOGIN_VERIFY_WORLD, 20);