diff options
author | megamage <none@none> | 2009-01-09 16:43:23 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-01-09 16:43:23 -0600 |
commit | 1ffb1cef3344206dfea149cb78146c30449d51c2 (patch) | |
tree | 655ac591f6f5aaca3dc65d67f3940f589e2394db /src/game/WorldSession.cpp | |
parent | 5c8f52d134899e10484dd47e91b612e2228842bf (diff) | |
parent | 90a82a81ad5d20d5e7188d6e9d660280f0b1eab4 (diff) |
*Merge.
--HG--
branch : trunk
Diffstat (limited to 'src/game/WorldSession.cpp')
-rw-r--r-- | src/game/WorldSession.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp index 231d7783d9e..78bc11f62e0 100644 --- a/src/game/WorldSession.cpp +++ b/src/game/WorldSession.cpp @@ -249,6 +249,14 @@ void WorldSession::LogoutPlayer(bool Save) if (_player) { + // Unpossess the current possessed unit of player + _player->StopCharmOrPossess(); + + // Remove any possession of this player on logout + _player->RemoveCharmedOrPossessedBy(NULL); + + _player->DestroyForNearbyPlayers(); + if (uint64 lguid = GetPlayer()->GetLootGUID()) DoLootRelease(lguid); @@ -374,13 +382,6 @@ void WorldSession::LogoutPlayer(bool Save) if(_player->GetGroup() && !_player->GetGroup()->isRaidGroup() && m_Socket) _player->RemoveFromGroup(); - // Unpossess the current possessed unit of player - if (_player->isPossessing()) - _player->RemovePossess(false); - - // Remove any possession of this player on logout - _player->UnpossessSelf(false); - ///- Remove the player from the world // the player may not be in the world when logging out // e.g if he got disconnected during a transfer to another map |