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();