AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
boss_kelthuzad.cpp File Reference
#include "CreatureScript.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "SpellScriptLoader.h"
#include "naxxramas.h"

Go to the source code of this file.

Classes

class  boss_kelthuzad
 
struct  boss_kelthuzad::boss_kelthuzadAI
 
class  boss_kelthuzad_minion
 
struct  boss_kelthuzad_minion::boss_kelthuzad_minionAI
 
class  spell_kelthuzad_frost_blast
 
class  spell_kelthuzad_detonate_mana_aura
 

Enumerations

enum  Yells {
  SAY_ANSWER_REQUEST = 3 ,
  SAY_TAUNT = 6 ,
  SAY_AGGRO = 7 ,
  SAY_SLAY = 8 ,
  SAY_DEATH = 9 ,
  SAY_CHAIN = 10 ,
  SAY_FROST_BLAST = 11 ,
  SAY_REQUEST_AID = 12 ,
  EMOTE_PHASE_TWO = 13 ,
  SAY_SUMMON_MINIONS = 14 ,
  SAY_SPECIAL = 15 ,
  EMOTE_GUARDIAN_FLEE = 0 ,
  EMOTE_GUARDIAN_APPEAR = 1
}
 
enum  Spells {
  SPELL_FROST_BOLT_SINGLE_10 = 28478 ,
  SPELL_FROST_BOLT_SINGLE_25 = 55802 ,
  SPELL_FROST_BOLT_MULTI_10 = 28479 ,
  SPELL_FROST_BOLT_MULTI_25 = 55807 ,
  SPELL_SHADOW_FISURE = 27810 ,
  SPELL_VOID_BLAST = 27812 ,
  SPELL_DETONATE_MANA = 27819 ,
  SPELL_MANA_DETONATION_DAMAGE = 27820 ,
  SPELL_FROST_BLAST = 27808 ,
  SPELL_CHAINS_OF_KELTHUZAD = 28410 ,
  SPELL_BERSERK = 28498 ,
  SPELL_KELTHUZAD_CHANNEL = 29423 ,
  SPELL_FRENZY = 28468 ,
  SPELL_MORTAL_WOUND = 28467 ,
  SPELL_BLOOD_TAP = 28470
}
 
enum  Misc {
  NPC_SOLDIER_OF_THE_FROZEN_WASTES = 16427 ,
  NPC_UNSTOPPABLE_ABOMINATION = 16428 ,
  NPC_SOUL_WEAVER = 16429 ,
  NPC_GUARDIAN_OF_ICECROWN = 16441 ,
  ACTION_CALL_HELP_ON = 1 ,
  ACTION_CALL_HELP_OFF = 2 ,
  ACTION_SECOND_PHASE = 3 ,
  ACTION_GUARDIANS_OFF = 4
}
 
enum  Event {
  EVENT_SUMMON_SOLDIER = 1 ,
  EVENT_SUMMON_UNSTOPPABLE_ABOMINATION = 2 ,
  EVENT_SUMMON_SOUL_WEAVER = 3 ,
  EVENT_PHASE_2 = 4 ,
  EVENT_FROST_BOLT_SINGLE = 5 ,
  EVENT_FROST_BOLT_MULTI = 6 ,
  EVENT_DETONATE_MANA = 7 ,
  EVENT_PHASE_3 = 8 ,
  EVENT_P3_LICH_KING_SAY = 9 ,
  EVENT_SHADOW_FISSURE = 10 ,
  EVENT_FROST_BLAST = 11 ,
  EVENT_CHAINS = 12 ,
  EVENT_SUMMON_GUARDIAN_OF_ICECROWN = 13 ,
  EVENT_FLOOR_CHANGE = 14 ,
  EVENT_ENRAGE = 15 ,
  EVENT_SPAWN_POOL = 16 ,
  EVENT_MINION_FRENZY = 17 ,
  EVENT_MINION_MORTAL_WOUND = 18 ,
  EVENT_MINION_BLOOD_TAP = 19
}
 

Functions

void AddSC_boss_kelthuzad ()
 

Variables

const Position SummonGroups [12]
 
const Position SpawnPool [7]
 

Enumeration Type Documentation

◆ Event

enum Event
Enumerator
EVENT_SUMMON_SOLDIER 
EVENT_SUMMON_UNSTOPPABLE_ABOMINATION 
EVENT_SUMMON_SOUL_WEAVER 
EVENT_PHASE_2 
EVENT_FROST_BOLT_SINGLE 
EVENT_FROST_BOLT_MULTI 
EVENT_DETONATE_MANA 
EVENT_PHASE_3 
EVENT_P3_LICH_KING_SAY 
EVENT_SHADOW_FISSURE 
EVENT_FROST_BLAST 
EVENT_CHAINS 
EVENT_SUMMON_GUARDIAN_OF_ICECROWN 
EVENT_FLOOR_CHANGE 
EVENT_ENRAGE 
EVENT_SPAWN_POOL 
EVENT_MINION_FRENZY 
EVENT_MINION_MORTAL_WOUND 
EVENT_MINION_BLOOD_TAP 
79{
80 // Kel'Thuzad
84 EVENT_PHASE_2 = 4,
88 EVENT_PHASE_3 = 8,
92 EVENT_CHAINS = 12,
95 EVENT_ENRAGE = 15,
97
98 // Minions
102};
@ EVENT_CHAINS
Definition boss_kelthuzad.cpp:92
@ EVENT_SPAWN_POOL
Definition boss_kelthuzad.cpp:96
@ EVENT_FROST_BOLT_MULTI
Definition boss_kelthuzad.cpp:86
@ EVENT_ENRAGE
Definition boss_kelthuzad.cpp:95
@ EVENT_SUMMON_GUARDIAN_OF_ICECROWN
Definition boss_kelthuzad.cpp:93
@ EVENT_SUMMON_SOUL_WEAVER
Definition boss_kelthuzad.cpp:83
@ EVENT_P3_LICH_KING_SAY
Definition boss_kelthuzad.cpp:89
@ EVENT_FLOOR_CHANGE
Definition boss_kelthuzad.cpp:94
@ EVENT_FROST_BLAST
Definition boss_kelthuzad.cpp:91
@ EVENT_MINION_BLOOD_TAP
Definition boss_kelthuzad.cpp:101
@ EVENT_DETONATE_MANA
Definition boss_kelthuzad.cpp:87
@ EVENT_SUMMON_SOLDIER
Definition boss_kelthuzad.cpp:81
@ EVENT_FROST_BOLT_SINGLE
Definition boss_kelthuzad.cpp:85
@ EVENT_MINION_FRENZY
Definition boss_kelthuzad.cpp:99
@ EVENT_MINION_MORTAL_WOUND
Definition boss_kelthuzad.cpp:100
@ EVENT_SHADOW_FISSURE
Definition boss_kelthuzad.cpp:90
@ EVENT_PHASE_2
Definition boss_kelthuzad.cpp:84
@ EVENT_PHASE_3
Definition boss_kelthuzad.cpp:88
@ EVENT_SUMMON_UNSTOPPABLE_ABOMINATION
Definition boss_kelthuzad.cpp:82

◆ Misc

enum Misc
Enumerator
NPC_SOLDIER_OF_THE_FROZEN_WASTES 
NPC_UNSTOPPABLE_ABOMINATION 
NPC_SOUL_WEAVER 
NPC_GUARDIAN_OF_ICECROWN 
ACTION_CALL_HELP_ON 
ACTION_CALL_HELP_OFF 
ACTION_SECOND_PHASE 
ACTION_GUARDIANS_OFF 
66{
69 NPC_SOUL_WEAVER = 16429,
71
76};
@ NPC_SOLDIER_OF_THE_FROZEN_WASTES
Definition boss_kelthuzad.cpp:67
@ ACTION_SECOND_PHASE
Definition boss_kelthuzad.cpp:74
@ ACTION_CALL_HELP_ON
Definition boss_kelthuzad.cpp:72
@ NPC_SOUL_WEAVER
Definition boss_kelthuzad.cpp:69
@ ACTION_GUARDIANS_OFF
Definition boss_kelthuzad.cpp:75
@ NPC_GUARDIAN_OF_ICECROWN
Definition boss_kelthuzad.cpp:70
@ ACTION_CALL_HELP_OFF
Definition boss_kelthuzad.cpp:73
@ NPC_UNSTOPPABLE_ABOMINATION
Definition boss_kelthuzad.cpp:68

◆ Spells

enum Spells
Enumerator
SPELL_FROST_BOLT_SINGLE_10 
SPELL_FROST_BOLT_SINGLE_25 
SPELL_FROST_BOLT_MULTI_10 
SPELL_FROST_BOLT_MULTI_25 
SPELL_SHADOW_FISURE 
SPELL_VOID_BLAST 
SPELL_DETONATE_MANA 
SPELL_MANA_DETONATION_DAMAGE 
SPELL_FROST_BLAST 
SPELL_CHAINS_OF_KELTHUZAD 
SPELL_BERSERK 
SPELL_KELTHUZAD_CHANNEL 
SPELL_FRENZY 
SPELL_MORTAL_WOUND 
SPELL_BLOOD_TAP 
44{
45 // Kel'Thzuad
50 SPELL_SHADOW_FISURE = 27810,
51 SPELL_VOID_BLAST = 27812,
52 SPELL_DETONATE_MANA = 27819,
54 SPELL_FROST_BLAST = 27808,
55 SPELL_CHAINS_OF_KELTHUZAD = 28410, // 28408 script effect
56 SPELL_BERSERK = 28498,
58
59 // Minions
60 SPELL_FRENZY = 28468,
61 SPELL_MORTAL_WOUND = 28467,
62 SPELL_BLOOD_TAP = 28470
63};
@ SPELL_MANA_DETONATION_DAMAGE
Definition boss_kelthuzad.cpp:53
@ SPELL_FROST_BOLT_SINGLE_10
Definition boss_kelthuzad.cpp:46
@ SPELL_VOID_BLAST
Definition boss_kelthuzad.cpp:51
@ SPELL_SHADOW_FISURE
Definition boss_kelthuzad.cpp:50
@ SPELL_CHAINS_OF_KELTHUZAD
Definition boss_kelthuzad.cpp:55
@ SPELL_KELTHUZAD_CHANNEL
Definition boss_kelthuzad.cpp:57
@ SPELL_FROST_BLAST
Definition boss_kelthuzad.cpp:54
@ SPELL_DETONATE_MANA
Definition boss_kelthuzad.cpp:52
@ SPELL_FRENZY
Definition boss_kelthuzad.cpp:60
@ SPELL_FROST_BOLT_SINGLE_25
Definition boss_kelthuzad.cpp:47
@ SPELL_FROST_BOLT_MULTI_10
Definition boss_kelthuzad.cpp:48
@ SPELL_BERSERK
Definition boss_kelthuzad.cpp:56
@ SPELL_MORTAL_WOUND
Definition boss_kelthuzad.cpp:61
@ SPELL_FROST_BOLT_MULTI_25
Definition boss_kelthuzad.cpp:49
@ SPELL_BLOOD_TAP
Definition boss_kelthuzad.cpp:62

◆ Yells

enum Yells
Enumerator
SAY_ANSWER_REQUEST 
SAY_TAUNT 
SAY_AGGRO 
SAY_SLAY 
SAY_DEATH 
SAY_CHAIN 
SAY_FROST_BLAST 
SAY_REQUEST_AID 
EMOTE_PHASE_TWO 
SAY_SUMMON_MINIONS 
SAY_SPECIAL 
EMOTE_GUARDIAN_FLEE 
EMOTE_GUARDIAN_APPEAR 
26{
28 SAY_TAUNT = 6,
29 SAY_AGGRO = 7,
30 SAY_SLAY = 8,
31 SAY_DEATH = 9,
32 SAY_CHAIN = 10,
33 SAY_FROST_BLAST = 11,
34 SAY_REQUEST_AID = 12,
35 EMOTE_PHASE_TWO = 13,
37 SAY_SPECIAL = 15,
38
41};
@ SAY_FROST_BLAST
Definition boss_kelthuzad.cpp:33
@ SAY_DEATH
Definition boss_kelthuzad.cpp:31
@ SAY_CHAIN
Definition boss_kelthuzad.cpp:32
@ SAY_AGGRO
Definition boss_kelthuzad.cpp:29
@ EMOTE_GUARDIAN_FLEE
Definition boss_kelthuzad.cpp:39
@ SAY_SPECIAL
Definition boss_kelthuzad.cpp:37
@ EMOTE_GUARDIAN_APPEAR
Definition boss_kelthuzad.cpp:40
@ SAY_ANSWER_REQUEST
Definition boss_kelthuzad.cpp:27
@ EMOTE_PHASE_TWO
Definition boss_kelthuzad.cpp:35
@ SAY_SLAY
Definition boss_kelthuzad.cpp:30
@ SAY_TAUNT
Definition boss_kelthuzad.cpp:28
@ SAY_SUMMON_MINIONS
Definition boss_kelthuzad.cpp:36
@ SAY_REQUEST_AID
Definition boss_kelthuzad.cpp:34

Function Documentation

◆ AddSC_boss_kelthuzad()

void AddSC_boss_kelthuzad ( )
684{
685 new boss_kelthuzad();
689}
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_kelthuzad.cpp:473
Definition boss_kelthuzad.cpp:136
Definition boss_kelthuzad.cpp:658
Definition boss_kelthuzad.cpp:622

References RegisterSpellScript.

Referenced by AddNorthrendScripts().

Variable Documentation

◆ SpawnPool

const Position SpawnPool[7]
Initial value:
=
{
{3783.272705f, -5062.697266f, 143.711203f, 3.617599f},
{3730.291260f, -5027.239258f, 143.956909f, 4.461900f},
{3683.868652f, -5057.281250f, 143.183884f, 5.237086f},
{3759.355225f, -5174.128418f, 143.802383f, 2.170104f},
{3700.724365f, -5185.123047f, 143.928024f, 1.309310f},
{3665.121094f, -5138.679199f, 143.183212f, 0.604023f},
{3651.729980f, -5092.620117f, 143.380005f, 6.050000f}
}
124{
125 // Portals
126 {3783.272705f, -5062.697266f, 143.711203f, 3.617599f}, // LEFT_FAR
127 {3730.291260f, -5027.239258f, 143.956909f, 4.461900f}, // LEFT_MIDDLE
128 {3683.868652f, -5057.281250f, 143.183884f, 5.237086f}, // LEFT_NEAR
129 {3759.355225f, -5174.128418f, 143.802383f, 2.170104f}, // RIGHT_FAR
130 {3700.724365f, -5185.123047f, 143.928024f, 1.309310f}, // RIGHT_MIDDLE
131 {3665.121094f, -5138.679199f, 143.183212f, 0.604023f}, // RIGHT_NEAR
132 {3651.729980f, -5092.620117f, 143.380005f, 6.050000f} // GATE
133};

Referenced by PoolMgr::LoadFromDB(), boss_kelthuzad::boss_kelthuzadAI::SummonHelper(), and boss_kelthuzad::boss_kelthuzadAI::UpdateAI().

◆ SummonGroups

Initial value:
=
{
{3783.272705f, -5062.697266f, 143.711203f, 3.617599f},
{3730.291260f, -5027.239258f, 143.956909f, 4.461900f},
{3683.868652f, -5057.281250f, 143.183884f, 5.237086f},
{3759.355225f, -5174.128418f, 143.802383f, 2.170104f},
{3700.724365f, -5185.123047f, 143.928024f, 1.309310f},
{3665.121094f, -5138.679199f, 143.183212f, 0.604023f},
{3769.34f, -5071.80f, 143.2082f, 3.658f},
{3729.78f, -5043.56f, 143.3867f, 4.475f},
{3682.75f, -5055.26f, 143.1848f, 5.295f},
{3752.58f, -5161.82f, 143.2944f, 2.126f},
{3702.83f, -5171.70f, 143.4356f, 1.305f},
{3665.30f, -5141.55f, 143.1846f, 0.566f}
}
105{
106 // Portals
107 {3783.272705f, -5062.697266f, 143.711203f, 3.617599f}, // LEFT_FAR
108 {3730.291260f, -5027.239258f, 143.956909f, 4.461900f}, // LEFT_MIDDLE
109 {3683.868652f, -5057.281250f, 143.183884f, 5.237086f}, // LEFT_NEAR
110 {3759.355225f, -5174.128418f, 143.802383f, 2.170104f}, // RIGHT_FAR
111 {3700.724365f, -5185.123047f, 143.928024f, 1.309310f}, // RIGHT_MIDDLE
112 {3665.121094f, -5138.679199f, 143.183212f, 0.604023f}, // RIGHT_NEAR
113
114 // Middle
115 {3769.34f, -5071.80f, 143.2082f, 3.658f},
116 {3729.78f, -5043.56f, 143.3867f, 4.475f},
117 {3682.75f, -5055.26f, 143.1848f, 5.295f},
118 {3752.58f, -5161.82f, 143.2944f, 2.126f},
119 {3702.83f, -5171.70f, 143.4356f, 1.305f},
120 {3665.30f, -5141.55f, 143.1846f, 0.566f}
121};