6#ifndef SKYFIRE_CREATUREAI_H
7#define SKYFIRE_CREATUREAI_H
19#define TIME_INTERVAL_LOOK 5000
20#define VISIBILITY_RANGE 10000
@ SELECT_TARGET_ANY_FRIEND
@ SELECT_TARGET_AOE_FRIEND
@ SELECT_TARGET_ANY_ENEMY
@ SELECT_TARGET_SINGLE_FRIEND
@ SELECT_TARGET_SINGLE_ENEMY
@ SELECT_TARGET_AOE_ENEMY
@ PERMIT_BASE_FACTION_SPECIFIC
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
virtual bool CanSeeAlways(WorldObject const *)
virtual void OwnerAttacked(Unit *)
CreatureAI(Creature *creature)
virtual void MoveInLineOfSight(Unit *)
bool CanSeeEvenInPassiveMode() const
virtual bool CanRespawn()
virtual void SpellHitTarget(Unit *, SpellInfo const *)
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
bool m_canSeeEvenInPassiveMode
Creature * DoSummon(uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TempSummonType::TEMPSUMMON_CORPSE_TIMED_DESPAWN)
virtual void OwnerAttackedBy(Unit *)
virtual void JustSummoned(Creature *)
virtual void ExecuteEvent(uint32)
virtual void AttackedBy(Unit *)
virtual void EnterCombat(Unit *)
virtual void SpellHit(Unit *, SpellInfo const *)
virtual void IsSummonedBy(Unit *)
virtual void JustRespawned()
virtual void OnSpellClick(Unit *, bool &)
virtual void JustReachedHome()
virtual void UpdateAI(const uint32)
== Triggered Actions Requested ==================
virtual void JustDied(Unit *)
bool UpdateVictimWithGaze()
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void SummonedCreatureDies(Creature *, Unit *)
virtual void MovementInform(uint32, uint32)
void SetCanSeeEvenInPassiveMode(bool canSeeEvenInPassiveMode)
virtual void KilledUnit(Unit *)
virtual void ReceiveEmote(Player *, uint32)
bool m_MoveInLineOfSight_locked
virtual void PassengerBoarded(Unit *, int8, bool)
== Fields =======================================
Creature * DoSummonFlyer(uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TempSummonType::TEMPSUMMON_CORPSE_TIMED_DESPAWN)
virtual void SummonedCreatureDespawn(Creature *)
void SetGazeOn(Unit *target)
virtual void CorpseRemoved(uint32 &)
== State checks =================================
void MoveInLineOfSight_Safe(Unit *who)
== Reactions At =================================
virtual bool IsEscorted()
void OnCharmed(bool apply)
virtual void EnterEvadeMode()