Fix linkdead expedition member offline update

This was leaving expedition members with linkdead status even after
the client was timed out by the server
This commit is contained in:
hg 2020-07-11 12:39:21 -04:00
parent ba9ce2335e
commit d8b825f478

View File

@ -180,6 +180,13 @@ bool Client::Process() {
if (myraid) { if (myraid) {
myraid->MemberZoned(this); myraid->MemberZoned(this);
} }
Expedition* expedition = GetExpedition();
if (expedition)
{
expedition->SetMemberStatus(this, ExpeditionMemberStatus::Offline);
}
return false; //delete client return false; //delete client
} }
@ -655,11 +662,6 @@ bool Client::Process() {
myraid->MemberZoned(this); myraid->MemberZoned(this);
} }
} }
Expedition* expedition = GetExpedition();
if (expedition && !bZoning)
{
expedition->SetMemberStatus(this, ExpeditionMemberStatus::Offline);
}
OnDisconnect(false); OnDisconnect(false);
return false; return false;
} }
@ -701,12 +703,6 @@ void Client::OnDisconnect(bool hard_disconnect) {
if (MyRaid) if (MyRaid)
MyRaid->MemberZoned(this); MyRaid->MemberZoned(this);
Expedition* expedition = GetExpedition();
if (expedition)
{
expedition->SetMemberStatus(this, ExpeditionMemberStatus::Offline);
}
parse->EventPlayer(EVENT_DISCONNECT, this, "", 0); parse->EventPlayer(EVENT_DISCONNECT, this, "", 0);
/* QS: PlayerLogConnectDisconnect */ /* QS: PlayerLogConnectDisconnect */
@ -716,6 +712,12 @@ void Client::OnDisconnect(bool hard_disconnect) {
} }
} }
Expedition* expedition = GetExpedition();
if (expedition && !bZoning)
{
expedition->SetMemberStatus(this, ExpeditionMemberStatus::Offline);
}
RemoveAllAuras(); RemoveAllAuras();
Mob *Other = trade->With(); Mob *Other = trade->With();