aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKittnz <frederik156@hotmail.com>2014-10-12 19:23:40 +0200
committerKittnz <frederik156@hotmail.com>2014-10-12 19:23:40 +0200
commit68293aa9b21877d62d2085bca32e43686e5ede4d (patch)
tree7763dd2e4fad16ccb2d189cda0ce839fe3f74a73 /src
parenta9cd76f101e655f13ad236e8b7097ac92d379a3a (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp3
1 files changed, 2 insertions, 1 deletions
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();