mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 09:31:30 +00:00
Changes to stuck handling that should result in fewer actually stuck npcs
This commit is contained in:
parent
eb463eef97
commit
66aaa92bd1
@ -188,12 +188,24 @@ glm::vec3 Mob::HandleStuckPath(const glm::vec3 &To, const glm::vec3 &From)
|
|||||||
bool partial = false;
|
bool partial = false;
|
||||||
bool stuck = false;
|
bool stuck = false;
|
||||||
auto r = zone->pathing->FindRoute(To, From, partial, stuck);
|
auto r = zone->pathing->FindRoute(To, From, partial, stuck);
|
||||||
Route.clear();
|
Route.clear();
|
||||||
|
|
||||||
|
if (r.size() < 1) {
|
||||||
|
Teleport(To);
|
||||||
|
return To;
|
||||||
|
}
|
||||||
|
|
||||||
auto final_node = r.back();
|
auto iter = r.rbegin();
|
||||||
Route.push_back(final_node);
|
auto final_node = (*iter);
|
||||||
AdjustRoute(Route, flymode, GetZOffset());
|
Teleport(final_node.pos);
|
||||||
return (*Route.begin()).pos;
|
|
||||||
|
if (r.size() < 2) {
|
||||||
|
return final_node.pos;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
iter++;
|
||||||
|
return (*iter).pos;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CullPoints(std::vector<FindPerson_Point> &points) {
|
void CullPoints(std::vector<FindPerson_Point> &points) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user