TrinityCore
Loading...
Searching...
No Matches
boss_kaelthas.cpp File Reference
#include "ScriptMgr.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "MotionMaster.h"
#include "ObjectAccessor.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "the_eye.h"
+ Include dependency graph for boss_kaelthas.cpp:

Go to the source code of this file.

Classes

struct  boss_kaelthas
 
struct  advisorbase_ai
 
struct  boss_thaladred_the_darkener
 
struct  boss_lord_sanguinar
 
struct  boss_grand_astromancer_capernian
 
struct  boss_master_engineer_telonicus
 
struct  npc_kael_flamestrike
 
struct  npc_phoenix_tk
 
struct  npc_phoenix_egg_tk
 
class  spell_kael_gravity_lapse
 
class  spell_kaelthas_flame_strike
 
class  spell_kaelthas_summon_weapons
 

Enumerations

enum  Yells {
  SAY_INTRO = 0 , SAY_INTRO_CAPERNIAN = 1 , SAY_INTRO_TELONICUS = 2 , SAY_INTRO_THALADRED = 3 ,
  SAY_INTRO_SANGUINAR = 4 , SAY_PHASE2_WEAPON = 5 , SAY_PHASE3_ADVANCE = 6 , SAY_PHASE4_INTRO2 = 7 ,
  SAY_PHASE5_NUTS = 8 , SAY_SLAY = 9 , SAY_MIND_CONTROL = 10 , SAY_GRAVITY_LAPSE = 11 ,
  SAY_SUMMON_PHOENIX = 12 , SAY_DEATH = 13 , EMOTE_PYROBLAST = 14 , SAY_THALADRED_AGGRO = 0 ,
  SAY_THALADRED_DEATH = 1 , EMOTE_THALADRED_GAZE = 2 , SAY_SANGUINAR_AGGRO = 0 , SAY_SANGUINAR_DEATH = 1 ,
  SAY_CAPERNIAN_AGGRO = 0 , SAY_CAPERNIAN_DEATH = 1 , SAY_TELONICUS_AGGRO = 0 , SAY_TELONICUS_DEATH = 1
}
 
enum  Spells {
  SPELL_SUMMON_WEAPONS = 36976 , SPELL_SUMMON_WEAPONA = 36958 , SPELL_SUMMON_WEAPONB = 36959 , SPELL_SUMMON_WEAPONC = 36960 ,
  SPELL_SUMMON_WEAPOND = 36961 , SPELL_SUMMON_WEAPONE = 36962 , SPELL_SUMMON_WEAPONF = 36963 , SPELL_SUMMON_WEAPONG = 36964 ,
  SPELL_RESSURECTION = 36450 , SPELL_FIREBALL = 36805 , SPELL_PYROBLAST = 36819 , SPELL_SUMMON_FLAME_STRIKE = 36735 ,
  SPELL_ARCANE_DISRUPTION = 36834 , SPELL_SHOCK_BARRIER = 36815 , SPELL_PHOENIX_ANIMATION = 36723 , SPELL_MIND_CONTROL = 36797 ,
  SPELL_BANISH = 40370 , SPELL_KAEL_GAINING_POWER = 36091 , SPELL_KAEL_EXPLODES = 36373 , SPELL_KAEL_EXPLODES2 = 36375 ,
  SPELL_KAEL_EXPLODES3 = 36092 , SPELL_KAEL_EXPLODES4 = 36354 , SPELL_KAEL_STUNNED = 36185 , SPELL_FULLPOWER = 36187 ,
  SPELL_NETHER_BEAM = 35873 , SPELL_PURE_NETHER_BEAM = 36196 , SPELL_SUMMON_NETHER_VAPOR = 35865 , SPELL_NETHER_BEAM_VISUAL = 36089 ,
  SPELL_NETHER_BEAM_VISUAL2 = 36090 , SPELL_NETHER_BEAM_VISUAL3 = 36364 , SPELL_GRAVITY_LAPSE = 35941 , SPELL_GRAVITY_LAPSE_PERIODIC = 34480 ,
  SPELL_GRAVITY_LAPSE_FLIGHT_AURA = 39432 , SPELL_GRAVITY_LAPSE_TELE_FRONT = 35966 , SPELL_GRAVITY_LAPSE_TELE_FRONT_RIGHT = 35967 , SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT = 35968 ,
  SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT = 35969 , SPELL_GRAVITY_LAPSE_TELE_BACK = 35970 , SPELL_GRAVITY_LAPSE_TELE_TO_CASTER = 35971 , SPELL_GRAVITY_LAPSE_TELE_BACK_LEFT = 35972 ,
  SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT2 = 35973 , SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT = 35974 , SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT2 = 35975 , SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT3 = 35976 ,
  SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_LEFT = 35977 , SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT = 35978 , SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK = 35979 , SPELL_GRAVITY_LAPSE_TELE_FRONT_RIGHT2 = 35980 ,
  SPELL_GRAVITY_LAPSE_TELE_CASTER_RIGHT = 35981 , SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT_RIGHT = 35982 , SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT2 = 35983 , SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT_LEFT = 35984 ,
  SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT3 = 35985 , SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_LEFT2 = 35986 , SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK2 = 35987 , SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT2 = 35988 ,
  SPELL_GRAVITY_LAPSE_TELE_CASTER_RIGHT2 = 35989 , SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT3 = 35990 , SPELL_REMOVE_WEAPONS = 39497 , SPELL_REMOVE_WEAPONA = 39498 ,
  SPELL_REMOVE_WEAPONB = 39499 , SPELL_REMOVE_WEAPONC = 39500 , SPELL_REMOVE_WEAPOND = 39501 , SPELL_REMOVE_WEAPONE = 39502 ,
  SPELL_REMOVE_WEAPONF = 39503 , SPELL_REMOVE_WEAPONG = 39504 , SPELL_PSYCHIC_BLOW = 10689 , SPELL_SILENCE = 30225 ,
  SPELL_REND = 36965 , SPELL_BELLOWING_ROAR = 40636 , SPELL_CAPERNIAN_FIREBALL = 36971 , SPELL_CONFLAGRATION = 37018 ,
  SPELL_ARCANE_EXPLOSION = 36970 , SPELL_BOMB = 37036 , SPELL_REMOTE_TOY = 37027 , SPELL_NETHER_VAPOR = 35859 ,
  SPELL_BURN = 36720 , SPELL_EMBER_BLAST = 34341 , SPELL_REBIRTH = 41587 , SPELL_FLAME_STRIKE_DUMMY = 36730 ,
  SPELL_FLAME_STRIKE_DAMAGE = 36731
}
 
enum  Creatures { NPC_PHOENIX = 21362 , NPC_PHOENIX_EGG = 21364 }
 
enum  Models { MODEL_ID_PHOENIX = 19682 , MODEL_ID_PHOENIX_EGG = 20245 }
 
enum  Actions {
  ACTION_START_ENCOUNTER , ACTION_REVIVE_ADVISORS , ACTION_PREPARE_ADVISORS , ACTION_ACTIVE_ADVISOR ,
  ACTION_SCHEDULE_COMBAT_EVENTS
}
 
enum  Advisors {
  ADVISOR_THALADRED , ADVISOR_SANGUINAR , ADVISOR_CAPERNIAN , ADVISOR_TELONICUS ,
  MAX_ADVISORS = 4 , MAX_DEFEATED_ADVISORS = 4 , MAX_KILLED_ADVISORS = 8
}
 
enum  Events {
  EVENT_START_ENCOUNTER = 1 , EVENT_ACTIVE_ADVISOR , EVENT_SUMMON_WEAPONS , EVENT_REVIVE_ADVISORS ,
  EVENT_ENGAGE_COMBAT , EVENT_FULL_POWER , EVENT_FIREBALL , EVENT_ARCANE_DISRUPTION ,
  EVENT_FLAMESTRIKE , EVENT_MIND_CONTROL , EVENT_SUMMON_PHOENIX , EVENT_SHOCK_BARRIER ,
  EVENT_PYROBLAST , EVENT_PYROBLAST_CAST , EVENT_GAINING_POWER , EVENT_END_TRANSITION ,
  EVENT_GRAVITY_LAPSE , EVENT_NETHER_BEAM , EVENT_TRANSITION_1 , EVENT_TRANSITION_2 ,
  EVENT_TRANSITION_3 , EVENT_TRANSITION_4 , EVENT_TRANSITION_5 , EVENT_TRANSITION_6 ,
  EVENT_SIZE_INCREASE , EVENT_EXPLODE , EVENT_RESUME_COMBAT , EVENT_DELAYED_RESSURECTION ,
  EVENT_GROUP_COMBAT = 1 , EVENT_GROUP_SPECIAL = 2
}
 
enum  Phases {
  PHASE_NONE , PHASE_INTRO , PHASE_REVIVED_ADVISORS , PHASE_COMBAT ,
  PHASE_TRANSITION
}
 
enum  MovementPoints {
  POINT_START_TRANSITION = 1 , POINT_TRANSITION_CENTER_ASCENDING = 2 , POINT_TRANSITION_HALFWAY_ASCENDING = 3 , POINT_TRANSITION_TOP = 4 ,
  POINT_TRANSITION_HALFWAY_DESCENDING = 5 , POINT_END_TRANSITION = 6
}
 

Functions

void AddSC_boss_kaelthas ()
 

Variables

constexpr uint32 SummonWeaponsSpells []
 
constexpr uint32 GravityLapseSpells []
 
constexpr float CAPERNIAN_DISTANCE = 20.0f
 
constexpr Position TransitionPos [6]
 

Enumeration Type Documentation

◆ Actions

enum Actions
Enumerator
ACTION_START_ENCOUNTER 
ACTION_REVIVE_ADVISORS 
ACTION_PREPARE_ADVISORS 
ACTION_ACTIVE_ADVISOR 
ACTION_SCHEDULE_COMBAT_EVENTS 

Definition at line 195 of file boss_kaelthas.cpp.

◆ Advisors

enum Advisors
Enumerator
ADVISOR_THALADRED 
ADVISOR_SANGUINAR 
ADVISOR_CAPERNIAN 
ADVISOR_TELONICUS 
MAX_ADVISORS 
MAX_DEFEATED_ADVISORS 
MAX_KILLED_ADVISORS 

Definition at line 204 of file boss_kaelthas.cpp.

◆ Creatures

enum Creatures
Enumerator
NPC_PHOENIX 
NPC_PHOENIX_EGG 

Definition at line 182 of file boss_kaelthas.cpp.

◆ Events

enum Events
Enumerator
EVENT_START_ENCOUNTER 
EVENT_ACTIVE_ADVISOR 
EVENT_SUMMON_WEAPONS 
EVENT_REVIVE_ADVISORS 
EVENT_ENGAGE_COMBAT 
EVENT_FULL_POWER 
EVENT_FIREBALL 
EVENT_ARCANE_DISRUPTION 
EVENT_FLAMESTRIKE 
EVENT_MIND_CONTROL 
EVENT_SUMMON_PHOENIX 
EVENT_SHOCK_BARRIER 
EVENT_PYROBLAST 
EVENT_PYROBLAST_CAST 
EVENT_GAINING_POWER 
EVENT_END_TRANSITION 
EVENT_GRAVITY_LAPSE 
EVENT_NETHER_BEAM 
EVENT_TRANSITION_1 
EVENT_TRANSITION_2 
EVENT_TRANSITION_3 
EVENT_TRANSITION_4 
EVENT_TRANSITION_5 
EVENT_TRANSITION_6 
EVENT_SIZE_INCREASE 
EVENT_EXPLODE 
EVENT_RESUME_COMBAT 
EVENT_DELAYED_RESSURECTION 
EVENT_GROUP_COMBAT 
EVENT_GROUP_SPECIAL 

Definition at line 216 of file boss_kaelthas.cpp.

◆ Models

enum Models
Enumerator
MODEL_ID_PHOENIX 
MODEL_ID_PHOENIX_EGG 

Definition at line 188 of file boss_kaelthas.cpp.

◆ MovementPoints

Enumerator
POINT_START_TRANSITION 
POINT_TRANSITION_CENTER_ASCENDING 
POINT_TRANSITION_HALFWAY_ASCENDING 
POINT_TRANSITION_TOP 
POINT_TRANSITION_HALFWAY_DESCENDING 
POINT_END_TRANSITION 

Definition at line 267 of file boss_kaelthas.cpp.

◆ Phases

enum Phases
Enumerator
PHASE_NONE 
PHASE_INTRO 
PHASE_REVIVED_ADVISORS 
PHASE_COMBAT 
PHASE_TRANSITION 

Definition at line 258 of file boss_kaelthas.cpp.

◆ Spells

enum Spells
Enumerator
SPELL_SUMMON_WEAPONS 
SPELL_SUMMON_WEAPONA 
SPELL_SUMMON_WEAPONB 
SPELL_SUMMON_WEAPONC 
SPELL_SUMMON_WEAPOND 
SPELL_SUMMON_WEAPONE 
SPELL_SUMMON_WEAPONF 
SPELL_SUMMON_WEAPONG 
SPELL_RESSURECTION 
SPELL_FIREBALL 
SPELL_PYROBLAST 
SPELL_SUMMON_FLAME_STRIKE 
SPELL_ARCANE_DISRUPTION 
SPELL_SHOCK_BARRIER 
SPELL_PHOENIX_ANIMATION 
SPELL_MIND_CONTROL 
SPELL_BANISH 
SPELL_KAEL_GAINING_POWER 
SPELL_KAEL_EXPLODES 
SPELL_KAEL_EXPLODES2 
SPELL_KAEL_EXPLODES3 
SPELL_KAEL_EXPLODES4 
SPELL_KAEL_STUNNED 
SPELL_FULLPOWER 
SPELL_NETHER_BEAM 
SPELL_PURE_NETHER_BEAM 
SPELL_SUMMON_NETHER_VAPOR 
SPELL_NETHER_BEAM_VISUAL 
SPELL_NETHER_BEAM_VISUAL2 
SPELL_NETHER_BEAM_VISUAL3 
SPELL_GRAVITY_LAPSE 
SPELL_GRAVITY_LAPSE_PERIODIC 
SPELL_GRAVITY_LAPSE_FLIGHT_AURA 
SPELL_GRAVITY_LAPSE_TELE_FRONT 
SPELL_GRAVITY_LAPSE_TELE_FRONT_RIGHT 
SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT 
SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT 
SPELL_GRAVITY_LAPSE_TELE_BACK 
SPELL_GRAVITY_LAPSE_TELE_TO_CASTER 
SPELL_GRAVITY_LAPSE_TELE_BACK_LEFT 
SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT2 
SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT 
SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT2 
SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT3 
SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_LEFT 
SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT 
SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK 
SPELL_GRAVITY_LAPSE_TELE_FRONT_RIGHT2 
SPELL_GRAVITY_LAPSE_TELE_CASTER_RIGHT 
SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT_RIGHT 
SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT2 
SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT_LEFT 
SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT3 
SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_LEFT2 
SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK2 
SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT2 
SPELL_GRAVITY_LAPSE_TELE_CASTER_RIGHT2 
SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT3 
SPELL_REMOVE_WEAPONS 
SPELL_REMOVE_WEAPONA 
SPELL_REMOVE_WEAPONB 
SPELL_REMOVE_WEAPONC 
SPELL_REMOVE_WEAPOND 
SPELL_REMOVE_WEAPONE 
SPELL_REMOVE_WEAPONF 
SPELL_REMOVE_WEAPONG 
SPELL_PSYCHIC_BLOW 
SPELL_SILENCE 
SPELL_REND 
SPELL_BELLOWING_ROAR 
SPELL_CAPERNIAN_FIREBALL 
SPELL_CONFLAGRATION 
SPELL_ARCANE_EXPLOSION 
SPELL_BOMB 
SPELL_REMOTE_TOY 
SPELL_NETHER_VAPOR 
SPELL_BURN 
SPELL_EMBER_BLAST 
SPELL_REBIRTH 
SPELL_FLAME_STRIKE_DUMMY 
SPELL_FLAME_STRIKE_DAMAGE 

Definition at line 73 of file boss_kaelthas.cpp.

◆ Yells

enum Yells
Enumerator
SAY_INTRO 
SAY_INTRO_CAPERNIAN 
SAY_INTRO_TELONICUS 
SAY_INTRO_THALADRED 
SAY_INTRO_SANGUINAR 
SAY_PHASE2_WEAPON 
SAY_PHASE3_ADVANCE 
SAY_PHASE4_INTRO2 
SAY_PHASE5_NUTS 
SAY_SLAY 
SAY_MIND_CONTROL 
SAY_GRAVITY_LAPSE 
SAY_SUMMON_PHOENIX 
SAY_DEATH 
EMOTE_PYROBLAST 
SAY_THALADRED_AGGRO 
SAY_THALADRED_DEATH 
EMOTE_THALADRED_GAZE 
SAY_SANGUINAR_AGGRO 
SAY_SANGUINAR_DEATH 
SAY_CAPERNIAN_AGGRO 
SAY_CAPERNIAN_DEATH 
SAY_TELONICUS_AGGRO 
SAY_TELONICUS_DEATH 

Definition at line 36 of file boss_kaelthas.cpp.

Function Documentation

◆ AddSC_boss_kaelthas()

void AddSC_boss_kaelthas ( )

Definition at line 1380 of file boss_kaelthas.cpp.

+ Here is the caller graph for this function:

Variable Documentation

◆ CAPERNIAN_DISTANCE

constexpr float CAPERNIAN_DISTANCE = 20.0f
constexpr

Definition at line 312 of file boss_kaelthas.cpp.

◆ GravityLapseSpells

constexpr uint32 GravityLapseSpells[]
constexpr
Initial value:
=
{
}
@ SPELL_GRAVITY_LAPSE_TELE_BACK
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT3
@ SPELL_GRAVITY_LAPSE_TELE_BACK_LEFT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_RIGHT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_RIGHT2
@ SPELL_GRAVITY_LAPSE_TELE_FRONT_RIGHT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT
@ SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT2
@ SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT3
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_LEFT2
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT_RIGHT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK_LEFT
@ SPELL_GRAVITY_LAPSE_TELE_FRONT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT2
@ SPELL_GRAVITY_LAPSE_TELE_TO_CASTER
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK
@ SPELL_GRAVITY_LAPSE_TELE_FRONT_RIGHT2
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_RIGHT2
@ SPELL_GRAVITY_LAPSE_TELE_FRONT_LEFT2
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_FRONT_LEFT
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_BACK2
@ SPELL_GRAVITY_LAPSE_TELE_CASTER_LEFT3

Definition at line 283 of file boss_kaelthas.cpp.

◆ SummonWeaponsSpells

constexpr uint32 SummonWeaponsSpells[]
constexpr
Initial value:

Definition at line 277 of file boss_kaelthas.cpp.

◆ TransitionPos

constexpr Position TransitionPos[6]
constexpr
Initial value:
=
{
{ 794.0522f, -0.96732f, 48.97848f, 0.0f },
{ 796.641f, -0.5888171f, 48.72847f, 3.176499f },
{ 795.007f, -0.471827f, 75.0f, 0.0f },
{ 795.007f, -0.471827f, 75.0f, 3.133458f },
{ 792.419f, -0.504778f, 50.0505f, 0.0f },
{ 792.419f, -0.504778f, 50.0505f, 3.130386f }
}

Definition at line 315 of file boss_kaelthas.cpp.