diff options
author | megamage <none@none> | 2009-01-08 21:48:38 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-01-08 21:48:38 -0600 |
commit | 2377f49ea86b5c6a7f29b5d1949cd90b1594b660 (patch) | |
tree | d0d62dd56391544b4a09d0be189d28fefd339769 /src/game/WorldSession.cpp | |
parent | b57516e170cb3dd09ee7d4335dee0f8bbbc4a1df (diff) |
*Update charm and possess code.
--HG--
branch : trunk
Diffstat (limited to 'src/game/WorldSession.cpp')
-rw-r--r-- | src/game/WorldSession.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp index f2e08969a96..eb2612a1543 100644 --- a/src/game/WorldSession.cpp +++ b/src/game/WorldSession.cpp @@ -249,6 +249,12 @@ 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); + if (uint64 lguid = GetPlayer()->GetLootGUID()) DoLootRelease(lguid); @@ -370,13 +376,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 |