mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 12:41:30 +00:00
* Lots of flee updates primarily based on TAKPs source * Update Values to EQEmu values. * Add rule * Adjustments to fear pathing * Flee/Pathing adjustments (More TAKP code adjusted) * updates * Updates (Massaged functions from TAKP source) --------- Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
28 lines
1.0 KiB
C++
28 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "pathfinder_interface.h"
|
|
#include <string>
|
|
#include <DetourNavMesh.h>
|
|
|
|
class PathfinderNavmesh : public IPathfinder
|
|
{
|
|
public:
|
|
PathfinderNavmesh(const std::string &path);
|
|
virtual ~PathfinderNavmesh();
|
|
|
|
virtual IPath FindRoute(const glm::vec3 &start, const glm::vec3 &end, bool &partial, bool &stuck, int flags = PathingNotDisabled);
|
|
virtual IPath FindPath(const glm::vec3 &start, const glm::vec3 &end, bool &partial, bool &stuck, const PathfinderOptions& opts);
|
|
virtual glm::vec3 GetRandomLocation(const glm::vec3 &start, int flags = PathingNotDisabled);
|
|
virtual void DebugCommand(Client *c, const Seperator *sep);
|
|
|
|
private:
|
|
void Clear();
|
|
void Load(const std::string &path);
|
|
void ShowPath(Client *c, const glm::vec3 &start, const glm::vec3 &end);
|
|
dtStatus GetPolyHeightNoConnections(dtPolyRef ref, const float *pos, float *height) const;
|
|
dtStatus GetPolyHeightOnPath(const dtPolyRef *path, const int path_len, const glm::vec3 &pos, float *h) const;
|
|
|
|
struct Implementation;
|
|
std::unique_ptr<Implementation> m_impl;
|
|
};
|