diff options
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/WorldSession.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index dafb08bd2ce..3c1de96e01b 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -548,16 +548,13 @@ void WorldSession::LogoutPlayer(bool save) ///- If the player is in a group (or invited), remove him. If the group if then only 1 person, disband the group. _player->UninviteFromGroup(); - // remove player from the group if he is: - // a) in group; b) not in raid group; c) logging out normally (not being kicked or disconnected) - if (_player->GetGroup() && !_player->GetGroup()->isRaidGroup() && m_Socket) - _player->RemoveFromGroup(); - //! Send update to group and reset stored max enchanting level - if (_player->GetGroup()) + if (Group* group = _player->GetGroup()) { - _player->GetGroup()->SendUpdate(); - _player->GetGroup()->ResetMaxEnchantingLevel(); + group->SendUpdate(); + group->ResetMaxEnchantingLevel(); + if (group->GetLeaderGUID() == _player->GetGUID()) + group->StartLeaderOfflineTimer(); } //! Broadcast a logout message to the player's friends |
