mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 06:21:28 +00:00
Repair so that mobs that are fleeing or feared use FixZ.
This commit is contained in:
parent
a1ff12d9ab
commit
03399fe3fd
@ -154,7 +154,8 @@ void Mob::CalculateNewFearpoint()
|
|||||||
|
|
||||||
int loop = 0;
|
int loop = 0;
|
||||||
float ranx, rany, ranz;
|
float ranx, rany, ranz;
|
||||||
currently_fleeing = false;
|
|
||||||
|
currently_fleeing = true;
|
||||||
while (loop < 100) //Max 100 tries
|
while (loop < 100) //Max 100 tries
|
||||||
{
|
{
|
||||||
int ran = 250 - (loop*2);
|
int ran = 250 - (loop*2);
|
||||||
@ -167,11 +168,13 @@ void Mob::CalculateNewFearpoint()
|
|||||||
float fdist = ranz - GetZ();
|
float fdist = ranz - GetZ();
|
||||||
if (fdist >= -12 && fdist <= 12 && CheckCoordLosNoZLeaps(GetX(),GetY(),GetZ(),ranx,rany,ranz))
|
if (fdist >= -12 && fdist <= 12 && CheckCoordLosNoZLeaps(GetX(),GetY(),GetZ(),ranx,rany,ranz))
|
||||||
{
|
{
|
||||||
currently_fleeing = true;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (currently_fleeing)
|
|
||||||
m_FearWalkTarget = glm::vec3(ranx, rany, ranz);
|
if (loop <= 100)
|
||||||
|
{
|
||||||
|
m_FearWalkTarget = glm::vec3(ranx, rany, ranz);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -495,7 +495,8 @@ bool Mob::MakeNewPositionAndSendUpdate(float x, float y, float z, int speed, boo
|
|||||||
m_Position.y = new_y;
|
m_Position.y = new_y;
|
||||||
m_Position.z = new_z;
|
m_Position.z = new_z;
|
||||||
|
|
||||||
if(fix_z_timer.Check() && !this->IsEngaged())
|
if(fix_z_timer.Check() &&
|
||||||
|
(!this->IsEngaged() || flee_mode || currently_fleeing))
|
||||||
this->FixZ();
|
this->FixZ();
|
||||||
|
|
||||||
tar_ndx++;
|
tar_ndx++;
|
||||||
@ -1129,4 +1130,4 @@ void NPC::SaveGuardSpotCharm()
|
|||||||
void NPC::RestoreGuardSpotCharm()
|
void NPC::RestoreGuardSpotCharm()
|
||||||
{
|
{
|
||||||
m_GuardPoint = m_GuardPointSaved;
|
m_GuardPoint = m_GuardPointSaved;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user