Changes to stuck handling that should result in fewer actually stuck npcs

This commit is contained in:
KimLS 2018-05-12 22:16:50 -07:00
parent eb463eef97
commit 66aaa92bd1

View File

@ -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();
auto final_node = r.back(); if (r.size() < 1) {
Route.push_back(final_node); Teleport(To);
AdjustRoute(Route, flymode, GetZOffset()); return To;
return (*Route.begin()).pos; }
auto iter = r.rbegin();
auto final_node = (*iter);
Teleport(final_node.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) {