18#ifndef TRINITY_SCRIPTEDESCORTAI_H
19#define TRINITY_SCRIPTEDESCORTAI_H
26#define DEFAULT_MAX_PLAYER_DISTANCE 100
45 void ReturnToLastPoint();
50 virtual void UpdateEscortAI(
uint32 diff);
51 void AddWaypoint(
uint32 id,
float x,
float y,
float z,
bool run);
52 void AddWaypoint(
uint32 id,
float x,
float y,
float z,
float orientation = 0.f,
Milliseconds waitTime = 0s,
bool run =
false);
54 void LoadPath(
uint32 pathId);
55 void Start(
bool isActiveAttacker =
true,
ObjectGuid playerGUID =
ObjectGuid::Empty,
Quest const* quest =
nullptr,
bool instantRespawn =
false,
bool canLoopPath =
false);
57 void SetEscortPaused(
bool on);
60 bool IsEscorted()
const override {
return !_playerGUID.IsEmpty(); }
70 Player* GetPlayerForEscort();
73 bool AssistPlayerInCombatAgainst(
Unit* who);
74 bool IsPlayerOrGroupInRange();
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
virtual void MoveInLineOfSight(Unit *)
virtual void JustDied(Unit *)
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
virtual void MovementInform(uint32, uint32)
static ObjectGuid const Empty
virtual void InitializeAI()
bool IsEscorted() const override
ObjectGuid GetEventStarterGUID() const
float GetMaxPlayerDistance() const
void SetMaxPlayerDistance(float newMax)
void SetPauseTimer(Milliseconds timer)
bool HasEscortState(uint32 escortState)
void SetDespawnAtFar(bool despawn)
void SetDespawnAtEnd(bool despawn)
void AddEscortState(uint32 escortState)
Quest const * _escortQuest
bool IsActiveAttacker() const
void RemoveEscortState(uint32 escortState)
void SetActiveAttacker(bool enable)
bool _hasImmuneToNPCFlags
virtual void UpdateAI(uint32 diff) override