diff --git a/src/server/game/Movement/MovementGenerators/PathGenerator.h b/src/server/game/Movement/MovementGenerators/PathGenerator.h index 9f8a3744d..40abfa357 100644 --- a/src/server/game/Movement/MovementGenerators/PathGenerator.h +++ b/src/server/game/Movement/MovementGenerators/PathGenerator.h @@ -111,6 +111,12 @@ class PathGenerator return len; } + void Clear() + { + _polyLength = 0; + _pathPoints.clear(); + } + private: dtPolyRef _pathPolyRefs[MAX_PATH_LENGTH]; // array of detour polygon references uint32 _polyLength; // number of polygons in the path @@ -139,12 +145,6 @@ class PathGenerator void SetActualEndPosition(G3D::Vector3 const& point) { _actualEndPosition = point; } void NormalizePath(); - void Clear() - { - _polyLength = 0; - _pathPoints.clear(); - } - bool InRange(G3D::Vector3 const& p1, G3D::Vector3 const& p2, float r, float h) const; float Dist3DSqr(G3D::Vector3 const& p1, G3D::Vector3 const& p2) const; bool InRangeYZX(float const* v1, float const* v2, float r, float h) const; diff --git a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp index 3e91334f0..d74acbc4b 100644 --- a/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/TargetedMovementGenerator.cpp @@ -131,6 +131,8 @@ bool ChaseMovementGenerator::DoUpdate(T* owner, uint32 time_diff) if (!i_path || moveToward != _movingTowards) i_path = std::make_unique(owner); + else + i_path->Clear(); float x, y, z; bool shortenPath;