Add in SharedTaskState::MemberZoned hooks

This should be all of them ... at least where raid/group is done ...
This commit is contained in:
Michael Cook (mackal) 2019-06-09 17:59:30 -04:00
parent 8dc25c838b
commit fa2b5166fb
4 changed files with 29 additions and 0 deletions

View File

@ -1877,6 +1877,10 @@ bool Client::Death(Mob* killerMob, int32 damage, uint16 spell, EQEmu::skills::Sk
if (r) if (r)
r->MemberZoned(this); r->MemberZoned(this);
auto shared_task = GetSharedTask();
if (shared_task)
shared_task->MemberZoned(this);
dead_timer.Start(5000, true); dead_timer.Start(5000, true);
m_pp.zone_id = m_pp.binds[0].zoneId; m_pp.zone_id = m_pp.binds[0].zoneId;
m_pp.zoneInstance = m_pp.binds[0].instance_id; m_pp.zoneInstance = m_pp.binds[0].instance_id;

View File

@ -3396,6 +3396,11 @@ void Client::LinkDead()
if(raid){ if(raid){
raid->MemberZoned(this); raid->MemberZoned(this);
} }
auto shared_task = GetSharedTask();
if (shared_task)
shared_task->MemberZoned(this);
// save_timer.Start(2500); // save_timer.Start(2500);
linkdead_timer.Start(RuleI(Zone,ClientLinkdeadMS)); linkdead_timer.Start(RuleI(Zone,ClientLinkdeadMS));
SendAppearancePacket(AT_Linkdead, 1); SendAppearancePacket(AT_Linkdead, 1);

View File

@ -149,6 +149,9 @@ bool Client::Process() {
{ {
myraid->MemberZoned(this); myraid->MemberZoned(this);
} }
auto shared_task = GetSharedTask();
if (shared_task)
shared_task->MemberZoned(this);
return(false); return(false);
} }
@ -171,6 +174,9 @@ bool Client::Process() {
if (myraid) { if (myraid) {
myraid->MemberZoned(this); myraid->MemberZoned(this);
} }
auto shared_task = GetSharedTask();
if (shared_task)
shared_task->MemberZoned(this);
return false; //delete client return false; //delete client
} }
@ -653,6 +659,9 @@ bool Client::Process() {
myraid->MemberZoned(this); myraid->MemberZoned(this);
} }
} }
auto shared_task = GetSharedTask();
if (shared_task)
shared_task->MemberZoned(this);
OnDisconnect(false); OnDisconnect(false);
return false; return false;
} }
@ -694,6 +703,10 @@ void Client::OnDisconnect(bool hard_disconnect) {
if (MyRaid) if (MyRaid)
MyRaid->MemberZoned(this); MyRaid->MemberZoned(this);
auto shared_task = GetSharedTask();
if (shared_task)
shared_task->MemberZoned(this);
parse->EventPlayer(EVENT_DISCONNECT, this, "", 0); parse->EventPlayer(EVENT_DISCONNECT, this, "", 0);
/* QS: PlayerLogConnectDisconnect */ /* QS: PlayerLogConnectDisconnect */
@ -2101,6 +2114,10 @@ void Client::HandleRespawnFromHover(uint32 Option)
if(r) if(r)
r->MemberZoned(this); r->MemberZoned(this);
auto shared_task = GetSharedTask();
if (shared_task)
shared_task->MemberZoned(this);
m_pp.zone_id = chosen->zone_id; m_pp.zone_id = chosen->zone_id;
m_pp.zoneInstance = chosen->instance_id; m_pp.zoneInstance = chosen->instance_id;
database.MoveCharacterToZone(CharacterID(), database.GetZoneName(chosen->zone_id)); database.MoveCharacterToZone(CharacterID(), database.GetZoneName(chosen->zone_id));

View File

@ -537,6 +537,9 @@ void EntityList::MobProcess()
Log(Logs::General, Logs::Error, "About to delete a client still in a raid."); Log(Logs::General, Logs::Error, "About to delete a client still in a raid.");
r->MemberZoned(mob->CastToClient()); r->MemberZoned(mob->CastToClient());
} }
auto shared_task = mob->CastToClient()->GetSharedTask();
if (shared_task)
shared_task->MemberZoned(mob);
entity_list.RemoveClient(id); entity_list.RemoveClient(id);
} }