From d8b825f4782f880521ac23601f321d42cb5de82d Mon Sep 17 00:00:00 2001 From: hg <4683435+hgtw@users.noreply.github.com> Date: Sat, 11 Jul 2020 12:39:21 -0400 Subject: [PATCH] Fix linkdead expedition member offline update This was leaving expedition members with linkdead status even after the client was timed out by the server --- zone/client_process.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/zone/client_process.cpp b/zone/client_process.cpp index 5a2f91875..66c06559d 100644 --- a/zone/client_process.cpp +++ b/zone/client_process.cpp @@ -180,6 +180,13 @@ bool Client::Process() { if (myraid) { myraid->MemberZoned(this); } + + Expedition* expedition = GetExpedition(); + if (expedition) + { + expedition->SetMemberStatus(this, ExpeditionMemberStatus::Offline); + } + return false; //delete client } @@ -655,11 +662,6 @@ bool Client::Process() { myraid->MemberZoned(this); } } - Expedition* expedition = GetExpedition(); - if (expedition && !bZoning) - { - expedition->SetMemberStatus(this, ExpeditionMemberStatus::Offline); - } OnDisconnect(false); return false; } @@ -701,12 +703,6 @@ void Client::OnDisconnect(bool hard_disconnect) { if (MyRaid) MyRaid->MemberZoned(this); - Expedition* expedition = GetExpedition(); - if (expedition) - { - expedition->SetMemberStatus(this, ExpeditionMemberStatus::Offline); - } - parse->EventPlayer(EVENT_DISCONNECT, this, "", 0); /* QS: PlayerLogConnectDisconnect */ @@ -716,6 +712,12 @@ void Client::OnDisconnect(bool hard_disconnect) { } } + Expedition* expedition = GetExpedition(); + if (expedition && !bZoning) + { + expedition->SetMemberStatus(this, ExpeditionMemberStatus::Offline); + } + RemoveAllAuras(); Mob *Other = trade->With();