Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
PetAI Class Reference

#include <PetAI.h>

Inheritance diagram for PetAI:
Collaboration diagram for PetAI:

Public Member Functions

void AttackedBy (Unit *attacker) OVERRIDE
void AttackStart (Unit *target) OVERRIDE
void EnterEvadeMode () OVERRIDE
void KilledUnit (Unit *) OVERRIDE
void MoveInLineOfSight (Unit *) OVERRIDE
void MoveInLineOfSight_Safe (Unit *)
void MovementInform (uint32 moveType, uint32 data) OVERRIDE
void OwnerAttacked (Unit *target) OVERRIDE
void OwnerAttackedBy (Unit *attacker) OVERRIDE
 PetAI (Creature *c)
void ReceiveEmote (Player *player, uint32 textEmote) OVERRIDE
void UpdateAI (uint32) OVERRIDE
 == Triggered Actions Requested ==================
Public Member Functions inherited from CreatureAI
virtual bool CanRespawn ()
virtual bool CanSeeAlways (WorldObject const *)
bool CanSeeEvenInPassiveMode () const
virtual void CorpseRemoved (uint32 &)
 == State checks =================================
 CreatureAI (Creature *creature)
void DoZoneInCombat (Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
virtual void EnterCombat (Unit *)
virtual void ExecuteEvent (uint32)
virtual bool IsEscorted ()
virtual void IsSummonedBy (Unit *)
virtual void JustDied (Unit *)
virtual void JustReachedHome ()
virtual void JustRespawned ()
virtual void JustSummoned (Creature *)
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At =================================
void OnCharmed (bool apply)
virtual void OnSpellClick (Unit *, bool &)
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields =======================================
void SetCanSeeEvenInPassiveMode (bool canSeeEvenInPassiveMode)
virtual void SpellHit (Unit *, SpellInfo const *)
virtual void SpellHitTarget (Unit *, SpellInfo const *)
virtual void SummonedCreatureDespawn (Creature *)
virtual void SummonedCreatureDies (Creature *, Unit *)
void Talk (uint8 id, WorldObject const *whisperTarget=NULL)
virtual ~CreatureAI ()
Public Member Functions inherited from UnitAI
void AttackStartCaster (Unit *victim, float dist)
virtual bool CanAIAttack (Unit const *) const
virtual void DamageDealt (Unit *, uint32 &, DamageEffectType)
virtual void DamageTaken (Unit *, uint32 &)
virtual void DoAction (int32)
void DoAddAuraToAllHostilePlayers (uint32 spellid)
void DoCast (uint32 spellId)
void DoCast (Unit *victim, uint32 spellId, bool triggered=false)
void DoCastAOE (uint32 spellId, bool triggered=false)
void DoCastToAllHostilePlayers (uint32 spellid, bool triggered=false)
void DoCastVictim (uint32 spellId, bool triggered=false)
float DoGetSpellMaxRange (uint32 spellId, bool positive=false)
void DoMeleeAttackIfReady ()
bool DoSpellAttackIfReady (uint32 spell)
virtual uint32 GetData (uint32) const
virtual uint64 GetGUID (int32=0) const
virtual void HealDone (Unit *, uint32 &)
virtual void HealReceived (Unit *, uint32 &)
virtual void InitializeAI ()
virtual bool OnGossipHello (Player *player)
virtual void Reset ()
template<class PREDICATE>
UnitSelectTarget (SelectAggroTarget targetType, uint32 position, PREDICATE const &predicate)
UnitSelectTarget (SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
template<class PREDICATE>
void SelectTargetList (std::list< Unit * > &targetList, PREDICATE const &predicate, uint32 maxTargets, SelectAggroTarget targetType)
void SelectTargetList (std::list< Unit * > &targetList, uint32 num, SelectAggroTarget targetType, float dist=0.0f, bool playerOnly=false, int32 aura=0)
virtual void SetData (uint32, uint32)
virtual void SetGUID (uint64, int32=0)
virtual void sGossipHello (Player *)
virtual void sGossipSelect (Player *, uint32, uint32)
virtual void sGossipSelectCode (Player *, uint32, uint32, char const *)
virtual bool sOnDummyEffect (Unit *, uint32, SpellEffIndex)
virtual void sOnGameEvent (bool, uint16)
virtual void SpellInterrupted (uint32, uint32)
virtual void sQuestAccept (Player *, Quest const *)
virtual void sQuestComplete (Player *, Quest const *)
virtual void sQuestReward (Player *, Quest const *, uint32)
virtual void sQuestSelect (Player *, Quest const *)
 UnitAI (Unit *unit)
virtual ~UnitAI ()

Static Public Member Functions

static int Permissible (const Creature *)
Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()

Private Member Functions

bool _needToStop (void)
void _stopAttack (void)
bool CanAttack (Unit *target)
void ClearCharmInfoFlags ()
void DoAttack (Unit *target, bool chase)
void HandleReturnMovement ()
UnitSelectNextTarget (bool allowAutoSelect) const
void UpdateAllies ()

Private Attributes

TimeTracker i_tracker
bool inCombat
std::set< uint64m_AllySet
uint32 m_updateAlliesTimer

Additional Inherited Members

Static Public Attributes inherited from UnitAI
static AISpellInfoTypeAISpellInfo
Protected Member Functions inherited from CreatureAI
bool _EnterEvadeMode ()
CreatureDoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TempSummonType::TEMPSUMMON_CORPSE_TIMED_DESPAWN)
CreatureDoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TempSummonType::TEMPSUMMON_CORPSE_TIMED_DESPAWN)
CreatureDoSummonFlyer (uint32 entry, WorldObject *obj, float flightZ, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TempSummonType::TEMPSUMMON_CORPSE_TIMED_DESPAWN)
void SetGazeOn (Unit *target)
bool UpdateVictim ()
bool UpdateVictimWithGaze ()
Protected Attributes inherited from CreatureAI
Creature *const me
Protected Attributes inherited from UnitAI
Unit *const me

Detailed Description

Definition at line 15 of file PetAI.h.

Constructor & Destructor Documentation

◆ PetAI()

Member Function Documentation

◆ _needToStop()

bool PetAI::_needToStop ( void )
private

Definition at line 33 of file PetAI.cpp.

References CreatureAI::me.

Referenced by UpdateAI().

◆ _stopAttack()

void PetAI::_stopAttack ( void )
private

Definition at line 42 of file PetAI.cpp.

References ClearCharmInfoFlags(), HandleReturnMovement(), CreatureAI::me, and SF_LOG_DEBUG.

Referenced by UpdateAI().

◆ AttackedBy()

void PetAI::AttackedBy ( Unit * attacker)
virtual

Reimplemented from CreatureAI.

Definition at line 603 of file PetAI.cpp.

References AttackStart(), CreatureAI::me, and REACT_PASSIVE.

◆ AttackStart()

void PetAI::AttackStart ( Unit * target)
virtual

Reimplemented from UnitAI.

Definition at line 309 of file PetAI.cpp.

References CanAttack(), COMMAND_STAY, DoAttack(), and CreatureAI::me.

Referenced by AttackedBy(), KilledUnit(), OwnerAttacked(), OwnerAttackedBy(), and UpdateAI().

◆ CanAttack()

bool PetAI::CanAttack ( Unit * target)
private

◆ ClearCharmInfoFlags()

◆ DoAttack()

void PetAI::DoAttack ( Unit * target,
bool chase )
private

Definition at line 441 of file PetAI.cpp.

References ClearCharmInfoFlags(), CreatureAI::me, and REACT_AGGRESSIVE.

Referenced by AttackStart().

◆ EnterEvadeMode()

void PetAI::EnterEvadeMode ( )
inlinevirtual

Reimplemented from CreatureAI.

Definition at line 36 of file PetAI.h.

References OVERRIDE.

◆ HandleReturnMovement()

void PetAI::HandleReturnMovement ( )
private

Definition at line 406 of file PetAI.cpp.

References ClearCharmInfoFlags(), COMMAND_STAY, CreatureAI::me, and PET_FOLLOW_DIST.

Referenced by _stopAttack(), KilledUnit(), and UpdateAI().

◆ KilledUnit()

void PetAI::KilledUnit ( Unit * victim)
virtual

Reimplemented from CreatureAI.

Definition at line 287 of file PetAI.cpp.

References AttackStart(), HandleReturnMovement(), CreatureAI::me, and SelectNextTarget().

◆ MoveInLineOfSight()

void PetAI::MoveInLineOfSight ( Unit * )
inlinevirtual

Reimplemented from CreatureAI.

Definition at line 34 of file PetAI.h.

References OVERRIDE.

◆ MoveInLineOfSight_Safe()

void PetAI::MoveInLineOfSight_Safe ( Unit * )
inline

Definition at line 35 of file PetAI.h.

◆ MovementInform()

void PetAI::MovementInform ( uint32 moveType,
uint32 data )
virtual

◆ OwnerAttacked()

void PetAI::OwnerAttacked ( Unit * target)
virtual

Reimplemented from CreatureAI.

Definition at line 341 of file PetAI.cpp.

References AttackStart(), CreatureAI::me, and REACT_PASSIVE.

◆ OwnerAttackedBy()

void PetAI::OwnerAttackedBy ( Unit * attacker)
virtual

Reimplemented from CreatureAI.

Definition at line 321 of file PetAI.cpp.

References AttackStart(), CreatureAI::me, and REACT_PASSIVE.

◆ Permissible()

int PetAI::Permissible ( const Creature * creature)
static

Definition at line 20 of file PetAI.cpp.

References Unit::IsPet(), PERMIT_BASE_NO, and PERMIT_BASE_SPECIAL.

◆ ReceiveEmote()

void PetAI::ReceiveEmote ( Player * player,
uint32 textEmote )
virtual

◆ SelectNextTarget()

Unit * PetAI::SelectNextTarget ( bool allowAutoSelect) const
private

Definition at line 362 of file PetAI.cpp.

References CreatureAI::me, REACT_AGGRESSIVE, and REACT_PASSIVE.

Referenced by KilledUnit(), and UpdateAI().

◆ UpdateAI()

◆ UpdateAllies()

Member Data Documentation

◆ i_tracker

TimeTracker PetAI::i_tracker
private

Definition at line 45 of file PetAI.h.

Referenced by PetAI().

◆ inCombat

bool PetAI::inCombat
private

Definition at line 46 of file PetAI.h.

Referenced by PetAI().

◆ m_AllySet

std::set<uint64> PetAI::m_AllySet
private

Definition at line 47 of file PetAI.h.

Referenced by UpdateAI(), and UpdateAllies().

◆ m_updateAlliesTimer

uint32 PetAI::m_updateAlliesTimer
private

Definition at line 48 of file PetAI.h.

Referenced by UpdateAI(), and UpdateAllies().


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