From 68293aa9b21877d62d2085bca32e43686e5ede4d Mon Sep 17 00:00:00 2001 From: Kittnz Date: Sun, 12 Oct 2014 19:23:40 +0200 Subject: Core/Misc: Fix current player state when logging out Sit should only be apply'd when player is standing. For example when sitting on a chair when logging out, player should stay on the chair until fully logged out and not sit on the floor. --- src/server/game/Handlers/MiscHandler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index bede3b4323c..50fde106824 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -414,7 +414,8 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPacket& /*recvData*/) // not set flags if player can't free move to prevent lost state at logout cancel if (GetPlayer()->CanFreeMove()) { - GetPlayer()->SetStandState(UNIT_STAND_STATE_SIT); + if (GetPlayer()->getStandState() == UNIT_STAND_STATE_STAND) + GetPlayer()->SetStandState(UNIT_STAND_STATE_SIT); WorldPacket data(SMSG_FORCE_MOVE_ROOT, (8+4)); // guess size data << GetPlayer()->GetPackGUID(); -- cgit v1.2.3