aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorWyrserth <43747507+Wyrserth@users.noreply.github.com>2019-06-15 14:19:58 +0200
committerGiacomo Pozzoni <giacomopoz@gmail.com>2019-06-15 14:19:58 +0200
commite906a2fe7d71fc17de9f7ea4778970beb3f9265e (patch)
tree02ac22a52d44549ee829eece372fd888e1d4fa44 /src/server/game/Server
parente6ad9b10cf381625ca1955cf6081ea1a8b14de11 (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.cpp13
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