diff options
| author | Wyrserth <43747507+Wyrserth@users.noreply.github.com> | 2019-06-15 14:19:58 +0200 |
|---|---|---|
| committer | Giacomo Pozzoni <giacomopoz@gmail.com> | 2019-06-15 14:19:58 +0200 |
| commit | e906a2fe7d71fc17de9f7ea4778970beb3f9265e (patch) | |
| tree | 02ac22a52d44549ee829eece372fd888e1d4fa44 /src/server/game/Server | |
| parent | e6ad9b10cf381625ca1955cf6081ea1a8b14de11 (diff) | |
Core/Group: implement automatic party/raid leader change when the leader has been offline for two minutes (#23398)
* Core/Group: implement automatic party/raid leader change when the leader has been offline for two minutes.
* Add #23396 to make testing easier.
* Prioritize assistants in raids.
* Fix dumb mistake and apply suggested change, thanks VincentVanclef and jackpoz!
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 |
