TrinityCore
hyjalAI Struct Reference

#include <hyjalAI.h>

+ Inheritance diagram for hyjalAI:

Classes

struct  Spell
 

Public Member Functions

 hyjalAI (Creature *creature)
 
void Initialize ()
 
void Reset () override
 
void EnterEvadeMode (EvadeReason why) override
 
void JustEngagedWith (Unit *who) override
 
void UpdateAI (uint32 diff) override
 
void JustDied (Unit *killer) override
 
void SetFaction (uint32 _faction)
 
void Retreat ()
 
void SpawnVeins ()
 
void DeSpawnVeins ()
 
void JustSummoned (Creature *summoned) override
 
void SummonedCreatureDespawn (Creature *summoned) override
 
void HideNearPos (float x, float y)
 
void RespawnNearPos (float x, float y)
 
void WaypointReached (uint32 waypointId, uint32) override
 
void DoOverrun (uint32 faction, const uint32 diff)
 
void MoveInLineOfSight (Unit *who) override
 
void SummonCreature (uint32 entry, float Base[4][3])
 
void SummonNextWave (const Wave wave[18], uint32 Count, float Base[4][3])
 
void StartEvent (Player *player)
 
uint32 GetInstanceData (uint32 Event)
 
- Public Member Functions inherited from EscortAI
 EscortAI (Creature *creature)
 
 ~EscortAI ()
 
void InitializeAI () override
 
void MoveInLineOfSight (Unit *who) override
 
void JustDied (Unit *) override
 
void ReturnToLastPoint ()
 
void EnterEvadeMode (EvadeReason why) override
 
void MovementInform (uint32, uint32) override
 
void UpdateAI (uint32 diff) override
 
virtual void UpdateEscortAI (uint32 diff)
 
void AddWaypoint (uint32 id, float x, float y, float z, bool run)
 
void AddWaypoint (uint32 id, float x, float y, float z, float orientation=0.f, Milliseconds waitTime=0s, bool run=false)
 
void ResetPath ()
 
void LoadPath (uint32 pathId)
 
void Start (bool isActiveAttacker=true, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false)
 
void SetEscortPaused (bool on)
 
void SetPauseTimer (Milliseconds timer)
 
bool HasEscortState (uint32 escortState)
 
bool IsEscorted () const override
 
void SetMaxPlayerDistance (float newMax)
 
float GetMaxPlayerDistance () const
 
void SetDespawnAtEnd (bool despawn)
 
void SetDespawnAtFar (bool despawn)
 
bool IsActiveAttacker () const
 
void SetActiveAttacker (bool enable)
 
ObjectGuid GetEventStarterGUID () const
 
- Public Member Functions inherited from ScriptedAI
 ScriptedAI (Creature *creature)
 
 ScriptedAI (Creature *creature, uint32 scriptId)
 
virtual ~ScriptedAI ()
 
void AttackStartNoMove (Unit *target)
 
virtual void UpdateAI (uint32 diff) override
 
void AttackStart (Unit *) override
 == Triggered Actions Requested ================== More...
 
void DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f)
 
void DoStartNoMovement (Unit *target)
 
void DoStopAttack ()
 
void DoCastSpell (Unit *target, SpellInfo const *spellInfo, bool triggered=false)
 
void DoPlaySoundToSet (WorldObject *source, uint32 soundId)
 
void AddThreat (Unit *victim, float amount, Unit *who=nullptr)
 
void ModifyThreatByPercent (Unit *victim, int32 pct, Unit *who=nullptr)
 
void ResetThreat (Unit *victim, Unit *who=nullptr)
 
void ResetThreatList (Unit *who=nullptr)
 
float GetThreat (Unit const *victim, Unit const *who=nullptr)
 
void ForceCombatStop (Creature *who, bool reset=true)
 
void ForceCombatStopForCreatureEntry (uint32 entry, float maxSearchRange=250.0f, bool samePhase=true, bool reset=true)
 
void ForceCombatStopForCreatureEntry (std::vector< uint32 > creatureEntries, float maxSearchRange=250.0f, bool samePhase=true, bool reset=true)
 
void DoTeleportTo (float x, float y, float z, uint32 time=0)
 
void DoTeleportTo (float const pos[4])
 
void DoTeleportPlayer (Unit *unit, float x, float y, float z, float o)
 
void DoTeleportAll (float x, float y, float z, float o)
 
UnitDoSelectLowestHpFriendly (float range, uint32 minHPDiff=1)
 
UnitDoSelectBelowHpPctFriendlyWithEntry (uint32 entry, float range, uint8 hpPct=1, bool excludeSelf=true)
 
std::list< Creature * > DoFindFriendlyCC (float range)
 
std::list< Creature * > DoFindFriendlyMissingBuff (float range, uint32 spellId)
 
PlayerGetPlayerAtMinimumRange (float minRange)
 
CreatureDoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
 
bool HealthBelowPct (uint32 pct) const
 
bool HealthAbovePct (uint32 pct) const
 
SpellInfo const * SelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, float rangeMin, float rangeMax, SelectEffect effect)
 
void SetEquipmentSlots (bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
 
void SetCombatMovement (bool allowMovement)
 
bool IsCombatMovementAllowed () const
 
bool IsLFR () const
 
bool IsNormal () const
 
bool IsHeroic () const
 
bool IsMythic () const
 
bool IsMythicPlus () const
 
bool IsHeroicOrHigher () const
 
bool IsTimewalking () const
 
Difficulty GetDifficulty () const
 
bool Is25ManRaid () const
 
template<class T >
T const & DUNGEON_MODE (T const &normal5, T const &heroic10) const
 
template<class T >
T const & RAID_MODE (T const &normal10, T const &normal25) const
 
template<class T >
T const & RAID_MODE (T const &normal10, T const &normal25, T const &heroic10, T const &heroic25) const
 
- Public Member Functions inherited from CreatureAI
 CreatureAI (Creature *creature, uint32 scriptId={})
 
virtual ~CreatureAI ()
 
uint32 GetId () const
 
bool IsEngaged () const
 
void Talk (uint8 id, WorldObject const *whisperTarget=nullptr)
 
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At ================================= More...
 
void TriggerAlert (Unit const *who) const
 
virtual void EnterEvadeMode (EvadeReason why=EvadeReason::Other)
 
void JustEnteredCombat (Unit *) override
 
virtual void JustStartedThreateningMe (Unit *who)
 
virtual void JustEngagedWith (Unit *)
 
virtual void OnHealthDepleted (Unit *, bool)
 
virtual void JustDied (Unit *)
 
virtual void KilledUnit (Unit *)
 
virtual void JustSummoned (Creature *)
 
virtual void IsSummonedBy (WorldObject *)
 
virtual void SummonedCreatureDespawn (Creature *)
 
virtual void SummonedCreatureDies (Creature *, Unit *)
 
virtual void JustSummonedGameobject (GameObject *)
 
virtual void SummonedGameobjectDespawn (GameObject *)
 
virtual void JustRegisteredDynObject (DynamicObject *)
 
virtual void JustUnregisteredDynObject (DynamicObject *)
 
virtual void JustRegisteredAreaTrigger (AreaTrigger *)
 
virtual void JustUnregisteredAreaTrigger (AreaTrigger *)
 
virtual void SpellHit (WorldObject *, SpellInfo const *)
 
virtual void SpellHitTarget (WorldObject *, SpellInfo const *)
 
virtual void OnSpellCast (SpellInfo const *)
 
virtual void OnSpellFailed (SpellInfo const *)
 
virtual void OnSpellStart (SpellInfo const *)
 
virtual void OnChannelFinished (SpellInfo const *)
 
virtual bool IsEscorted () const
 
virtual void JustAppeared ()
 
virtual void MovementInform (uint32, uint32)
 
void OnCharmed (bool isNew) override
 
virtual void JustReachedHome ()
 
void DoZoneInCombat ()
 
virtual void ReceiveEmote (Player *, uint32)
 
virtual void OwnerAttackedBy (Unit *attacker)
 
virtual void OwnerAttacked (Unit *target)
 
void AttackStart (Unit *victim) override
 == Triggered Actions Requested ================== More...
 
virtual void CorpseRemoved (uint32 &)
 == State checks ================================= More...
 
virtual Optional< QuestGiverStatusGetDialogStatus (Player const *player)
 == Gossip system ================================ More...
 
virtual bool OnGossipHello (Player *)
 
virtual bool OnGossipSelect (Player *, uint32, uint32)
 
virtual bool OnGossipSelectCode (Player *, uint32, uint32, char const *)
 
virtual void OnQuestAccept (Player *, Quest const *)
 
virtual void OnQuestReward (Player *, Quest const *, LootItemType, uint32)
 
virtual void WaypointStarted (uint32, uint32)
 == Waypoints system ============================= More...
 
virtual void WaypointReached (uint32, uint32)
 
virtual void WaypointPathEnded (uint32, uint32)
 
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields ======================================= More...
 
virtual void OnSpellClick (Unit *, bool)
 
virtual bool CanSeeAlways (WorldObject const *)
 
virtual PlayerAIGetAIForCharmedPlayer (Player *)
 
int32 VisualizeBoundary (Seconds duration, Unit *owner=nullptr, bool fill=false) const
 
virtual bool CheckInRoom ()
 
CreatureBoundary const * GetBoundary () const
 
void SetBoundary (CreatureBoundary const *boundary, bool negativeBoundaries=false)
 
bool IsInBoundary (Position const *who=nullptr) const
 
- Public Member Functions inherited from UnitAI
 UnitAI (Unit *unit)
 
virtual ~UnitAI ()
 
virtual bool CanAIAttack (Unit const *) const
 
virtual void AttackStart (Unit *victim)
 
virtual void UpdateAI (uint32 diff)=0
 
virtual void InitializeAI ()
 
virtual void Reset ()
 
virtual void OnCharmed (bool isNew)
 
virtual void DoAction (int32)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void SetGUID (ObjectGuid const &, int32=0)
 
virtual ObjectGuid GetGUID (int32=0) const
 
UnitSelectTarget (SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
 
template<class PREDICATE >
UnitSelectTarget (SelectTargetMethod targetType, uint32 offset, PREDICATE const &predicate)
 
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
 
template<class PREDICATE >
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectTargetMethod targetType, uint32 offset, PREDICATE const &predicate)
 
virtual void JustEnteredCombat (Unit *)
 
virtual void JustExitedCombat ()
 
virtual void OnDespawn ()
 
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
 
virtual void DamageTaken (Unit *, uint32 &, DamageEffectType, SpellInfo const *)
 
virtual void HealReceived (Unit *, uint32 &)
 
virtual void HealDone (Unit *, uint32 &)
 
virtual void SpellInterrupted (uint32, uint32)
 
void AttackStartCaster (Unit *victim, float dist)
 
SpellCastResult DoCast (uint32 spellId)
 
SpellCastResult DoCast (Unit *victim, uint32 spellId, CastSpellExtraArgs const &args={})
 
SpellCastResult DoCastSelf (uint32 spellId, CastSpellExtraArgs const &args={})
 
SpellCastResult DoCastVictim (uint32 spellId, CastSpellExtraArgs const &args={})
 
SpellCastResult DoCastAOE (uint32 spellId, CastSpellExtraArgs const &args={})
 
bool DoSpellAttackIfReady (uint32 spellId)
 
virtual void OnGameEvent (bool, uint16)
 
virtual std::string GetDebugInfo () const
 

Public Attributes

InstanceScriptinstance
 
ObjectGuid PlayerGUID
 
ObjectGuid BossGUID [2]
 
ObjectGuid VeinGUID [14]
 
uint32 NextWaveTimer
 
uint32 WaveCount
 
uint32 CheckTimer
 
uint32 Faction
 
uint32 EnemyCount
 
uint32 RetreatTimer
 
bool EventBegun
 
bool FirstBossDead
 
bool SecondBossDead
 
bool Summon
 
bool bRetreat
 
bool Debug
 
bool VeinsSpawned [2]
 
uint8 InfernalCount
 
SummonList Summons
 
bool Overrun
 
bool Teleported
 
bool WaitForTeleport
 
uint32 TeleportTimer
 
uint32 OverrunCounter
 
uint32 OverrunCounter2
 
uint32 InfernalPoint
 
uint32 RespawnTimer
 
bool DoRespawn
 
bool DoHide
 
bool IsDummy
 
uint32 MassTeleportTimer
 
bool DoMassTeleport
 
ObjectGuid DummyGuid
 
struct hyjalAI::Spell Spells [HYJAL_AI_MAX_SPELLS]
 
- Public Attributes inherited from ScriptedAI
bool IsFleeing
 

Private Attributes

uint32 SpellTimer [3]
 

Additional Inherited Members

- Static Public Member Functions inherited from CreatureAI
static void DoZoneInCombat (Creature *creature)
 
static bool IsInBounds (CreatureBoundary const &boundary, Position const *who)
 
- Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()
 
- Static Public Attributes inherited from UnitAI
static std::unordered_map< std::pair< uint32, Difficulty >, AISpellInfoTypeAISpellInfo
 
- Protected Member Functions inherited from EscortAI
PlayerGetPlayerForEscort ()
 
- Protected Member Functions inherited from CreatureAI
bool UpdateVictim ()
 
CreatureDoSummon (uint32 entry, Position const &pos, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
CreatureDoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, Milliseconds despawnTime=30s, TempSummonType summonType=TEMPSUMMON_CORPSE_TIMED_DESPAWN)
 
void EngagementStart (Unit *who)
 
void EngagementOver ()
 
virtual void MoveInLineOfSight (Unit *)
 
bool _EnterEvadeMode (EvadeReason why=EvadeReason::Other)
 
- Protected Attributes inherited from CreatureAI
Creature *const me
 
CreatureBoundary const * _boundary
 
bool _negateBoundary
 
- Protected Attributes inherited from UnitAI
Unit *const me
 

Detailed Description

Definition at line 121 of file hyjalAI.h.

Constructor & Destructor Documentation

◆ hyjalAI()

hyjalAI::hyjalAI ( Creature creature)

Definition at line 320 of file hyjalAI.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ DeSpawnVeins()

void hyjalAI::DeSpawnVeins ( )

Definition at line 679 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoOverrun()

void hyjalAI::DoOverrun ( uint32  faction,
const uint32  diff 
)

Definition at line 977 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EnterEvadeMode()

void hyjalAI::EnterEvadeMode ( EvadeReason  why)
overridevirtual

Reimplemented from EscortAI.

Definition at line 424 of file hyjalAI.cpp.

+ Here is the call graph for this function:

◆ GetInstanceData()

uint32 hyjalAI::GetInstanceData ( uint32  Event)

Definition at line 615 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HideNearPos()

void hyjalAI::HideNearPos ( float  x,
float  y 
)

Definition at line 905 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Initialize()

void hyjalAI::Initialize ( )

Definition at line 340 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ JustDied()

void hyjalAI::JustDied ( Unit killer)
overridevirtual

Reimplemented from EscortAI.

Definition at line 893 of file hyjalAI.cpp.

+ Here is the call graph for this function:

◆ JustEngagedWith()

void hyjalAI::JustEngagedWith ( Unit who)
overridevirtual

Reimplemented from CreatureAI.

Definition at line 439 of file hyjalAI.cpp.

+ Here is the call graph for this function:

◆ JustSummoned()

void hyjalAI::JustSummoned ( Creature summoned)
overridevirtual

Reimplemented from CreatureAI.

Definition at line 375 of file hyjalAI.cpp.

◆ MoveInLineOfSight()

void hyjalAI::MoveInLineOfSight ( Unit who)
overridevirtual

Reimplemented from EscortAI.

Definition at line 449 of file hyjalAI.cpp.

+ Here is the call graph for this function:

◆ Reset()

void hyjalAI::Reset ( )
overridevirtual

Reimplemented from UnitAI.

Definition at line 385 of file hyjalAI.cpp.

+ Here is the call graph for this function:

◆ RespawnNearPos()

void hyjalAI::RespawnNearPos ( float  x,
float  y 
)

Definition at line 923 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Retreat()

void hyjalAI::Retreat ( )

Definition at line 620 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetFaction()

void hyjalAI::SetFaction ( uint32  _faction)
inline

Definition at line 137 of file hyjalAI.h.

◆ SpawnVeins()

void hyjalAI::SpawnVeins ( )

Definition at line 651 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StartEvent()

void hyjalAI::StartEvent ( Player player)

Definition at line 592 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SummonCreature()

void hyjalAI::SummonCreature ( uint32  entry,
float  Base[4][3] 
)

Definition at line 457 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SummonedCreatureDespawn()

void hyjalAI::SummonedCreatureDespawn ( Creature summoned)
overridevirtual

Reimplemented from CreatureAI.

Definition at line 380 of file hyjalAI.cpp.

◆ SummonNextWave()

void hyjalAI::SummonNextWave ( const Wave  wave[18],
uint32  Count,
float  Base[4][3] 
)

Definition at line 542 of file hyjalAI.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateAI()

void hyjalAI::UpdateAI ( uint32  diff)
overridevirtual

Reimplemented from EscortAI.

Definition at line 709 of file hyjalAI.cpp.

+ Here is the call graph for this function:

◆ WaypointReached()

void hyjalAI::WaypointReached ( uint32  waypointId,
uint32   
)
overridevirtual

Reimplemented from CreatureAI.

Definition at line 930 of file hyjalAI.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ BossGUID

ObjectGuid hyjalAI::BossGUID[2]

Definition at line 167 of file hyjalAI.h.

◆ bRetreat

bool hyjalAI::bRetreat

Definition at line 181 of file hyjalAI.h.

◆ CheckTimer

uint32 hyjalAI::CheckTimer

Definition at line 172 of file hyjalAI.h.

◆ Debug

bool hyjalAI::Debug

Definition at line 182 of file hyjalAI.h.

◆ DoHide

bool hyjalAI::DoHide

Definition at line 195 of file hyjalAI.h.

◆ DoMassTeleport

bool hyjalAI::DoMassTeleport

Definition at line 198 of file hyjalAI.h.

◆ DoRespawn

bool hyjalAI::DoRespawn

Definition at line 194 of file hyjalAI.h.

◆ DummyGuid

ObjectGuid hyjalAI::DummyGuid

Definition at line 199 of file hyjalAI.h.

◆ EnemyCount

uint32 hyjalAI::EnemyCount

Definition at line 174 of file hyjalAI.h.

◆ EventBegun

bool hyjalAI::EventBegun

Definition at line 177 of file hyjalAI.h.

◆ Faction

uint32 hyjalAI::Faction

Definition at line 173 of file hyjalAI.h.

◆ FirstBossDead

bool hyjalAI::FirstBossDead

Definition at line 178 of file hyjalAI.h.

◆ InfernalCount

uint8 hyjalAI::InfernalCount

Definition at line 184 of file hyjalAI.h.

◆ InfernalPoint

uint32 hyjalAI::InfernalPoint

Definition at line 192 of file hyjalAI.h.

◆ instance

InstanceScript* hyjalAI::instance

Definition at line 164 of file hyjalAI.h.

◆ IsDummy

bool hyjalAI::IsDummy

Definition at line 196 of file hyjalAI.h.

◆ MassTeleportTimer

uint32 hyjalAI::MassTeleportTimer

Definition at line 197 of file hyjalAI.h.

◆ NextWaveTimer

uint32 hyjalAI::NextWaveTimer

Definition at line 170 of file hyjalAI.h.

◆ Overrun

bool hyjalAI::Overrun

Definition at line 186 of file hyjalAI.h.

◆ OverrunCounter

uint32 hyjalAI::OverrunCounter

Definition at line 190 of file hyjalAI.h.

◆ OverrunCounter2

uint32 hyjalAI::OverrunCounter2

Definition at line 191 of file hyjalAI.h.

◆ PlayerGUID

ObjectGuid hyjalAI::PlayerGUID

Definition at line 166 of file hyjalAI.h.

◆ RespawnTimer

uint32 hyjalAI::RespawnTimer

Definition at line 193 of file hyjalAI.h.

◆ RetreatTimer

uint32 hyjalAI::RetreatTimer

Definition at line 175 of file hyjalAI.h.

◆ SecondBossDead

bool hyjalAI::SecondBossDead

Definition at line 179 of file hyjalAI.h.

◆ Spells

struct hyjalAI::Spell hyjalAI::Spells[HYJAL_AI_MAX_SPELLS]

◆ SpellTimer

uint32 hyjalAI::SpellTimer[3]
private

Definition at line 209 of file hyjalAI.h.

◆ Summon

bool hyjalAI::Summon

Definition at line 180 of file hyjalAI.h.

◆ Summons

SummonList hyjalAI::Summons

Definition at line 185 of file hyjalAI.h.

◆ Teleported

bool hyjalAI::Teleported

Definition at line 187 of file hyjalAI.h.

◆ TeleportTimer

uint32 hyjalAI::TeleportTimer

Definition at line 189 of file hyjalAI.h.

◆ VeinGUID

ObjectGuid hyjalAI::VeinGUID[14]

Definition at line 168 of file hyjalAI.h.

◆ VeinsSpawned

bool hyjalAI::VeinsSpawned[2]

Definition at line 183 of file hyjalAI.h.

◆ WaitForTeleport

bool hyjalAI::WaitForTeleport

Definition at line 188 of file hyjalAI.h.

◆ WaveCount

uint32 hyjalAI::WaveCount

Definition at line 171 of file hyjalAI.h.


The documentation for this struct was generated from the following files: