Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
boss_kaelthas::boss_kaelthasAI Struct Reference
Inheritance diagram for boss_kaelthas::boss_kaelthasAI:
Collaboration diagram for boss_kaelthas::boss_kaelthasAI:

Public Member Functions

 boss_kaelthasAI (Creature *creature)
void EnterCombat (Unit *) OVERRIDE
void JustDied (Unit *) OVERRIDE
void JustSummoned (Creature *summoned) OVERRIDE
void KilledUnit (Unit *) OVERRIDE
void MoveInLineOfSight (Unit *who) OVERRIDE
void PrepareAdvisors ()
void Reset () OVERRIDE
void StartEvent ()
void SummonedCreatureDespawn (Creature *summon) OVERRIDE
void UpdateAI (uint32 diff) OVERRIDE
 == Triggered Actions Requested ==================
Public Member Functions inherited from ScriptedAI
void AttackStart (Unit *) OVERRIDE
void AttackStartNoMove (Unit *target)
void DamageTaken (Unit *, uint32 &) OVERRIDE
void DoCastSpell (Unit *target, SpellInfo const *spellInfo, bool triggered=false)
std::list< Creature * > DoFindFriendlyCC (float range)
std::list< Creature * > DoFindFriendlyMissingBuff (float range, uint32 spellId)
float DoGetThreat (Unit *unit)
void DoModifyThreatPercent (Unit *unit, int32 pct)
void DoPlaySoundToSet (WorldObject *source, uint32 soundId)
void DoResetThreat ()
Unit * DoSelectLowestHpFriendly (float range, uint32 minHPDiff=1)
Creature * DoSpawnCreature (uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, TempSummonType type, uint32 despawntime)
void DoStartMovement (Unit *target, float distance=0.0f, float angle=0.0f)
void DoStartNoMovement (Unit *target)
void DoStopAttack ()
void DoTeleportAll (float x, float y, float z, float o)
void DoTeleportPlayer (Unit *unit, float x, float y, float z, float o)
void DoTeleportTo (float const pos[4])
void DoTeleportTo (float x, float y, float z, uint32 time=0)
template<class T>
const T & DUNGEON_MODE (const T &normal5, const T &heroic5) const
void EnterCombat (Unit *) OVERRIDE
bool EnterEvadeIfOutOfCombatArea (uint32 const diff)
void ExecuteEvent (uint32) OVERRIDE
DifficultyID GetDifficulty () const
Player * GetPlayerAtMinimumRange (float minRange)
bool HealthAbovePct (uint32 pct) const
bool HealthBelowPct (uint32 pct) const
bool Is25ManRaid () const
bool IsCombatMovementAllowed () const
bool IsHeroic () const
void JustDied (Unit *) OVERRIDE
void JustSummoned (Creature *) OVERRIDE
void KilledUnit (Unit *) OVERRIDE
void MovementInform (uint32, uint32) OVERRIDE
void OnPossess (bool)
template<class T>
const T & RAID_MODE (const T &normal10, const T &normal25) const
template<class T>
const T & RAID_MODE (const T &normal10, const T &normal25, const T &flex, const T &lfr) const
template<class T>
const T & RAID_MODE (const T &normal10, const T &normal25, const T &heroic10, const T &heroic25, const T &flex, const T &lfr) const
void Reset () OVERRIDE
 ScriptedAI (Creature *creature)
SpellInfo const * SelectSpell (Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, uint32 powerCostMin, uint32 powerCostMax, float rangeMin, float rangeMax, SelectEffect effect)
void SetCombatMovement (bool allowMovement)
void SetEquipmentSlots (bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
void SpellHit (Unit *, SpellInfo const *) OVERRIDE
void SpellHitTarget (Unit *, SpellInfo const *) OVERRIDE
void SummonedCreatureDespawn (Creature *) OVERRIDE
void UpdateAI (uint32 diff) OVERRIDE
 == Triggered Actions Requested ==================
virtual ~ScriptedAI ()
Public Member Functions inherited from CreatureAI
virtual void AttackedBy (Unit *)
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 EnterEvadeMode ()
virtual bool IsEscorted ()
virtual void IsSummonedBy (Unit *)
virtual void JustReachedHome ()
virtual void JustRespawned ()
void MoveInLineOfSight_Safe (Unit *who)
 == Reactions At =================================
void OnCharmed (bool apply)
virtual void OnSpellClick (Unit *, bool &)
virtual void OwnerAttacked (Unit *)
virtual void OwnerAttackedBy (Unit *)
virtual void PassengerBoarded (Unit *, int8, bool)
 == Fields =======================================
virtual void ReceiveEmote (Player *, uint32)
void SetCanSeeEvenInPassiveMode (bool canSeeEvenInPassiveMode)
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 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)
template<class PREDICATE>
Unit * SelectTarget (SelectAggroTarget targetType, uint32 position, PREDICATE const &predicate)
Unit * SelectTarget (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 ()

Public Attributes

uint32 ArcaneDisruption_Timer
bool ChainPyros
uint32 Fireball_Timer
uint32 FlameStrike_Timer
uint32 GravityLapse_Phase
uint32 GravityLapse_Timer
bool InGravityLapse
InstanceScript * instance
bool IsCastingFireball
uint64 m_auiAdvisorGuid [MAX_ADVISORS]
uint32 MindControl_Timer
uint32 NetherBeam_Timer
uint32 NetherVapor_Timer
uint32 Phase
uint32 Phase_Timer
uint32 PhaseSubphase
uint32 Phoenix_Timer
uint32 PyrosCasted
uint32 ShockBarrier_Timer
SummonList summons
Public Attributes inherited from ScriptedAI
bool IsFleeing
Creature * me

Additional Inherited Members

Static Public Member Functions inherited from UnitAI
static void FillAISpellInfo ()
Static Public Attributes inherited from UnitAI
static AISpellInfoType * AISpellInfo
Protected Member Functions inherited from CreatureAI
bool _EnterEvadeMode ()
Creature * DoSummon (uint32 entry, Position const &pos, uint32 despawnTime=30000, TempSummonType summonType=TempSummonType::TEMPSUMMON_CORPSE_TIMED_DESPAWN)
Creature * DoSummon (uint32 entry, WorldObject *obj, float radius=5.0f, uint32 despawnTime=30000, TempSummonType summonType=TempSummonType::TEMPSUMMON_CORPSE_TIMED_DESPAWN)
Creature * DoSummonFlyer (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 274 of file boss_kaelthas.cpp.

Constructor & Destructor Documentation

◆ boss_kaelthasAI()

boss_kaelthas::boss_kaelthasAI::boss_kaelthasAI ( Creature * creature)
inline

Member Function Documentation

◆ EnterCombat()

void boss_kaelthas::boss_kaelthasAI::EnterCombat ( Unit * )
inlinevirtual

Reimplemented from CreatureAI.

Definition at line 420 of file boss_kaelthas.cpp.

References DATA_KAELTHASEVENT, instance, OVERRIDE, Phase, and StartEvent().

◆ JustDied()

void boss_kaelthas::boss_kaelthasAI::JustDied ( Unit * )
inlinevirtual

◆ JustSummoned()

void boss_kaelthas::boss_kaelthasAI::JustSummoned ( Creature * summoned)
inlinevirtual

Reimplemented from CreatureAI.

Definition at line 431 of file boss_kaelthas.cpp.

References NPC_PHOENIX, OVERRIDE, SELECT_TARGET_RANDOM, UnitAI::SelectTarget(), and summons.

◆ KilledUnit()

void boss_kaelthas::boss_kaelthasAI::KilledUnit ( Unit * )
inlinevirtual

Reimplemented from CreatureAI.

Definition at line 426 of file boss_kaelthas.cpp.

References OVERRIDE, SAY_SLAY, and CreatureAI::Talk().

◆ MoveInLineOfSight()

void boss_kaelthas::boss_kaelthasAI::MoveInLineOfSight ( Unit * who)
inlinevirtual

◆ PrepareAdvisors()

void boss_kaelthas::boss_kaelthasAI::PrepareAdvisors ( )
inline

◆ Reset()

◆ StartEvent()

◆ SummonedCreatureDespawn()

void boss_kaelthas::boss_kaelthasAI::SummonedCreatureDespawn ( Creature * summon)
inlinevirtual

Reimplemented from CreatureAI.

Definition at line 443 of file boss_kaelthas.cpp.

References OVERRIDE, and summons.

◆ UpdateAI()

void boss_kaelthas::boss_kaelthasAI::UpdateAI ( uint32 diff)
inlinevirtual

== Triggered Actions Requested ==================

Reimplemented from CreatureAI.

Definition at line 467 of file boss_kaelthas.cpp.

References afGravityPos, Creature::AI(), ByteBuffer::append(), ArcaneDisruption_Timer, ScriptedAI::AttackStart(), UnitAI::AttackStart(), CAST_AI, ChainPyros, DATA_KAELTHASEVENT, UnitAI::DoCast(), UnitAI::DoCastVictim(), UnitAI::DoMeleeAttackIfReady(), ScriptedAI::DoResetThreat(), ScriptedAI::DoTeleportPlayer(), Fireball_Timer, FlameStrike_Timer, Unit::GetCreature(), Position::GetOrientation(), Unit::getStandState(), Object::GetTypeId(), Unit::GetUnit(), GravityLapse_Phase, GravityLapse_Timer, ScriptedAI::HealthBelowPct(), IMMUNITY_EFFECT, InGravityLapse, instance, IsCastingFireball, m_auiAdvisorGuid, m_auiSpellSummonWeapon, MAX_ADVISORS, ScriptedAI::me, MindControl_Timer, NetherBeam_Timer, OVERRIDE, Phase, Phase_Timer, PhaseSubphase, Phoenix_Timer, PyrosCasted, Object::RemoveFlag(), SAY_GRAVITYLAPSE, SAY_INTRO_CAPERNIAN, SAY_INTRO_SANGUINAR, SAY_INTRO_TELONICUS, SAY_INTRO_THALADRED, SAY_PHASE2_WEAPON, SAY_PHASE3_ADVANCE, SAY_PHASE4_INTRO2, SAY_PHASE5_NUTS, SAY_SUMMON_PHOENIX, SELECT_TARGET_RANDOM, UnitAI::SelectTarget(), Unit::setFaction(), SF_LOG_DEBUG, SF_LOG_ERROR, ShockBarrier_Timer, SMSG_MOVE_SET_CAN_FLY, SMSG_MOVE_UNSET_CAN_FLY, SPELL_ARCANE_DISRUPTION, SPELL_EFFECT_INTERRUPT_CAST, SPELL_EXPLODE, SPELL_FIREBALL, SPELL_FLAME_STRIKE, SPELL_FULLPOWER, SPELL_GRAVITY_LAPSE, SPELL_GRAVITY_LAPSE_AURA, SPELL_KNOCKBACK, SPELL_NETHER_BEAM, SPELL_NETHER_VAPOR, SPELL_PHOENIX_ANIMATION, SPELL_PYROBLAST, SPELL_SHOCK_BARRIER, SPELL_SUMMON_WEAPONS, CreatureAI::Talk(), TIME_PHASE_2_3, TIME_PHASE_3_4, TYPEID_PLAYER, UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE, UNIT_FLAG_NOT_SELECTABLE, UNIT_STAND_STATE_DEAD, and CreatureAI::UpdateVictim().

Member Data Documentation

◆ ArcaneDisruption_Timer

uint32 boss_kaelthas::boss_kaelthasAI::ArcaneDisruption_Timer

Definition at line 285 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ ChainPyros

bool boss_kaelthas::boss_kaelthasAI::ChainPyros

Definition at line 301 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ Fireball_Timer

uint32 boss_kaelthas::boss_kaelthasAI::Fireball_Timer

Definition at line 284 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ FlameStrike_Timer

uint32 boss_kaelthas::boss_kaelthasAI::FlameStrike_Timer

Definition at line 292 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ GravityLapse_Phase

uint32 boss_kaelthas::boss_kaelthasAI::GravityLapse_Phase

Definition at line 289 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ GravityLapse_Timer

uint32 boss_kaelthas::boss_kaelthasAI::GravityLapse_Timer

Definition at line 288 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ InGravityLapse

bool boss_kaelthas::boss_kaelthasAI::InGravityLapse

Definition at line 299 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ instance

InstanceScript* boss_kaelthas::boss_kaelthasAI::instance

◆ IsCastingFireball

bool boss_kaelthas::boss_kaelthasAI::IsCastingFireball

Definition at line 300 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ m_auiAdvisorGuid

uint64 boss_kaelthas::boss_kaelthasAI::m_auiAdvisorGuid[MAX_ADVISORS]

Definition at line 305 of file boss_kaelthas.cpp.

Referenced by boss_kaelthasAI(), JustDied(), PrepareAdvisors(), StartEvent(), and UpdateAI().

◆ MindControl_Timer

uint32 boss_kaelthas::boss_kaelthasAI::MindControl_Timer

Definition at line 293 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ NetherBeam_Timer

uint32 boss_kaelthas::boss_kaelthasAI::NetherBeam_Timer

Definition at line 290 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ NetherVapor_Timer

uint32 boss_kaelthas::boss_kaelthasAI::NetherVapor_Timer

Definition at line 291 of file boss_kaelthas.cpp.

Referenced by Reset().

◆ Phase

uint32 boss_kaelthas::boss_kaelthasAI::Phase

Definition at line 294 of file boss_kaelthas.cpp.

Referenced by EnterCombat(), MoveInLineOfSight(), Reset(), StartEvent(), and UpdateAI().

◆ Phase_Timer

uint32 boss_kaelthas::boss_kaelthasAI::Phase_Timer

Definition at line 296 of file boss_kaelthas.cpp.

Referenced by StartEvent(), and UpdateAI().

◆ PhaseSubphase

uint32 boss_kaelthas::boss_kaelthasAI::PhaseSubphase

Definition at line 295 of file boss_kaelthas.cpp.

Referenced by StartEvent(), and UpdateAI().

◆ Phoenix_Timer

uint32 boss_kaelthas::boss_kaelthasAI::Phoenix_Timer

Definition at line 286 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ PyrosCasted

uint32 boss_kaelthas::boss_kaelthasAI::PyrosCasted

Definition at line 297 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ ShockBarrier_Timer

uint32 boss_kaelthas::boss_kaelthasAI::ShockBarrier_Timer

Definition at line 287 of file boss_kaelthas.cpp.

Referenced by Reset(), and UpdateAI().

◆ summons

SummonList boss_kaelthas::boss_kaelthasAI::summons

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