mirror of
https://github.com/EQEmu/Server.git
synced 2026-01-02 22:03:52 +00:00
Resolve an issue with NPC's not returning back to guard point when once engaged and dropped aggro
This commit is contained in:
parent
43204e52f8
commit
6c1efd74cb
@ -1437,7 +1437,7 @@ void Mob::SendHPUpdate(bool skip_self /*= false*/, bool force_update_all /*= fal
|
||||
}
|
||||
}
|
||||
|
||||
// this one just warps the mob to the current location
|
||||
/* Used for NPCs mainly */
|
||||
void Mob::SendPosition()
|
||||
{
|
||||
|
||||
@ -1446,7 +1446,7 @@ void Mob::SendPosition()
|
||||
MakeSpawnUpdateNoDelta(spu);
|
||||
|
||||
/* When an NPC has made a large distance change - we should update all clients to prevent "ghosts" */
|
||||
if (DistanceSquared(last_major_update_position, m_Position) > (100 * 100)) {
|
||||
if (DistanceSquared(last_major_update_position, m_Position) >= (100 * 100)) {
|
||||
entity_list.QueueClients(this, app, true, true);
|
||||
last_major_update_position = m_Position;
|
||||
}
|
||||
|
||||
@ -1006,7 +1006,12 @@ void Mob::AI_Process() {
|
||||
}
|
||||
else if (!this->CheckLosFN(this->GetTarget())) {
|
||||
Mob* target = this->GetTarget();
|
||||
this->GMMove(target->GetX(), target->GetY(), target->GetZ(), target->GetHeading());
|
||||
|
||||
m_Position.x = target->GetX();
|
||||
m_Position.y = target->GetY();
|
||||
m_Position.z = target->GetZ();
|
||||
m_Position.w = target->GetHeading();
|
||||
SendPosition();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user