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

Go to the source code of this file.

Classes

struct  NotOnSameSide
 
class  boss_gothik
 
struct  boss_gothik::boss_gothikAI
 
class  npc_boss_gothik_minion
 
struct  npc_boss_gothik_minion::npc_boss_gothik_minionAI
 
class  npc_gothik_trigger
 
struct  npc_gothik_trigger::npc_gothik_triggerAI
 
class  spell_gothik_shadow_bolt_volley
 

Macros

#define POS_Y_GATE   -3360.78f
 
#define POS_Y_WEST   -3285.0f
 
#define POS_Y_EAST   -3434.0f
 
#define POS_X_NORTH   2750.49f
 
#define POS_X_SOUTH   2633.84f
 
#define IN_LIVE_SIDE(who)   (who->GetPositionY() < POS_Y_GATE)
 

Enumerations

enum  Yells {
  SAY_INTRO_1 = 0 ,
  SAY_INTRO_2 = 1 ,
  SAY_INTRO_3 = 2 ,
  SAY_INTRO_4 = 3 ,
  SAY_PHASE_TWO = 4 ,
  SAY_DEATH = 5 ,
  SAY_KILL = 6 ,
  EMOTE_PHASE_TWO = 7 ,
  EMOTE_GATE_OPENED = 8
}
 
enum  Spells {
  SPELL_HARVEST_SOUL = 28679 ,
  SPELL_SHADOW_BOLT = 29317 ,
  SPELL_TELEPORT_DEAD = 28025 ,
  SPELL_TELEPORT_LIVE = 28026 ,
  SPELL_ANCHOR_1_TRAINEE = 27892 ,
  SPELL_ANCHOR_1_DK = 27928 ,
  SPELL_ANCHOR_1_RIDER = 27935 ,
  SPELL_ANCHOR_2_TRAINEE = 27893 ,
  SPELL_ANCHOR_2_DK = 27929 ,
  SPELL_ANCHOR_2_RIDER = 27936 ,
  SPELL_SKULLS_TRAINEE = 27915 ,
  SPELL_SKULLS_DK = 27931 ,
  SPELL_SKULLS_RIDER = 27937 ,
  SPELL_DEATH_PLAGUE = 55604 ,
  SPELL_ARCANE_EXPLOSION = 27989 ,
  SPELL_SHADOW_MARK = 27825 ,
  SPELL_WHIRLWIND = 56408 ,
  SPELL_SHADOW_BOLT_VOLLEY = 27831 ,
  SPELL_DRAIN_LIFE = 27994 ,
  SPELL_UNHOLY_FRENZY = 55648 ,
  SPELL_STOMP = 27993
}
 
enum  Misc {
  NPC_LIVING_TRAINEE = 16124 ,
  NPC_LIVING_KNIGHT = 16125 ,
  NPC_LIVING_RIDER = 16126 ,
  NPC_DEAD_TRAINEE = 16127 ,
  NPC_DEAD_KNIGHT = 16148 ,
  NPC_DEAD_HORSE = 16149 ,
  NPC_DEAD_RIDER = 16150 ,
  NPC_TRIGGER = 16137
}
 
enum  Events {
  EVENT_SUMMON_ADDS = 1 ,
  EVENT_HARVEST_SOUL = 2 ,
  EVENT_SHADOW_BOLT = 3 ,
  EVENT_TELEPORT = 4 ,
  EVENT_CHECK_HEALTH = 5 ,
  EVENT_CHECK_PLAYERS = 6 ,
  EVENT_DEATH_PLAGUE = 7 ,
  EVENT_ARCANE_EXPLOSION = 8 ,
  EVENT_SHADOW_MARK = 9 ,
  EVENT_WHIRLWIND = 10 ,
  EVENT_SHADOW_BOLT_VOLLEY = 11 ,
  EVENT_DRAIN_LIFE = 12 ,
  EVENT_UNHOLY_FRENZY = 13 ,
  EVENT_STOMP = 14 ,
  EVENT_INTRO_2 = 15 ,
  EVENT_INTRO_3 = 16 ,
  EVENT_INTRO_4 = 17
}
 

Functions

void AddSC_boss_gothik ()
 

Variables

const uint32 gothikWaves [24][2]
 
const Position PosSummonLiving [6]
 
const Position PosSummonDead [5]
 

Macro Definition Documentation

◆ IN_LIVE_SIDE

#define IN_LIVE_SIDE (   who)    (who->GetPositionY() < POS_Y_GATE)

◆ POS_X_NORTH

#define POS_X_NORTH   2750.49f

◆ POS_X_SOUTH

#define POS_X_SOUTH   2633.84f

◆ POS_Y_EAST

#define POS_Y_EAST   -3434.0f

◆ POS_Y_GATE

#define POS_Y_GATE   -3360.78f

◆ POS_Y_WEST

#define POS_Y_WEST   -3285.0f

Enumeration Type Documentation

◆ Events

enum Events
Enumerator
EVENT_SUMMON_ADDS 
EVENT_HARVEST_SOUL 
EVENT_SHADOW_BOLT 
EVENT_TELEPORT 
EVENT_CHECK_HEALTH 
EVENT_CHECK_PLAYERS 
EVENT_DEATH_PLAGUE 
EVENT_ARCANE_EXPLOSION 
EVENT_SHADOW_MARK 
EVENT_WHIRLWIND 
EVENT_SHADOW_BOLT_VOLLEY 
EVENT_DRAIN_LIFE 
EVENT_UNHOLY_FRENZY 
EVENT_STOMP 
EVENT_INTRO_2 
EVENT_INTRO_3 
EVENT_INTRO_4 
88{
89 // Gothik
96 // Living trainee
98 // Dead trainee
100 // Living knight
102 // Dead knight
103 EVENT_WHIRLWIND = 10,
104 // Living rider
106 // Dead rider
107 EVENT_DRAIN_LIFE = 12,
109 // HORSE
110 EVENT_STOMP = 14,
111 // Intro
112 EVENT_INTRO_2 = 15,
113 EVENT_INTRO_3 = 16,
114 EVENT_INTRO_4 = 17
115};
@ EVENT_SHADOW_MARK
Definition boss_gothik.cpp:101
@ EVENT_INTRO_4
Definition boss_gothik.cpp:114
@ EVENT_DRAIN_LIFE
Definition boss_gothik.cpp:107
@ EVENT_SHADOW_BOLT_VOLLEY
Definition boss_gothik.cpp:105
@ EVENT_UNHOLY_FRENZY
Definition boss_gothik.cpp:108
@ EVENT_INTRO_2
Definition boss_gothik.cpp:112
@ EVENT_HARVEST_SOUL
Definition boss_gothik.cpp:91
@ EVENT_WHIRLWIND
Definition boss_gothik.cpp:103
@ EVENT_CHECK_HEALTH
Definition boss_gothik.cpp:94
@ EVENT_TELEPORT
Definition boss_gothik.cpp:93
@ EVENT_CHECK_PLAYERS
Definition boss_gothik.cpp:95
@ EVENT_ARCANE_EXPLOSION
Definition boss_gothik.cpp:99
@ EVENT_SUMMON_ADDS
Definition boss_gothik.cpp:90
@ EVENT_STOMP
Definition boss_gothik.cpp:110
@ EVENT_INTRO_3
Definition boss_gothik.cpp:113
@ EVENT_SHADOW_BOLT
Definition boss_gothik.cpp:92
@ EVENT_DEATH_PLAGUE
Definition boss_gothik.cpp:97

◆ Misc

enum Misc
Enumerator
NPC_LIVING_TRAINEE 
NPC_LIVING_KNIGHT 
NPC_LIVING_RIDER 
NPC_DEAD_TRAINEE 
NPC_DEAD_KNIGHT 
NPC_DEAD_HORSE 
NPC_DEAD_RIDER 
NPC_TRIGGER 
76{
77 NPC_LIVING_TRAINEE = 16124,
78 NPC_LIVING_KNIGHT = 16125,
79 NPC_LIVING_RIDER = 16126,
80 NPC_DEAD_TRAINEE = 16127,
81 NPC_DEAD_KNIGHT = 16148,
82 NPC_DEAD_HORSE = 16149,
83 NPC_DEAD_RIDER = 16150,
84 NPC_TRIGGER = 16137
85};
@ NPC_DEAD_HORSE
Definition boss_gothik.cpp:82
@ NPC_DEAD_TRAINEE
Definition boss_gothik.cpp:80
@ NPC_LIVING_RIDER
Definition boss_gothik.cpp:79
@ NPC_DEAD_RIDER
Definition boss_gothik.cpp:83
@ NPC_DEAD_KNIGHT
Definition boss_gothik.cpp:81
@ NPC_LIVING_KNIGHT
Definition boss_gothik.cpp:78
@ NPC_LIVING_TRAINEE
Definition boss_gothik.cpp:77
@ NPC_TRIGGER
Definition boss_gothik.cpp:84

◆ Spells

enum Spells
Enumerator
SPELL_HARVEST_SOUL 
SPELL_SHADOW_BOLT 
SPELL_TELEPORT_DEAD 
SPELL_TELEPORT_LIVE 
SPELL_ANCHOR_1_TRAINEE 
SPELL_ANCHOR_1_DK 
SPELL_ANCHOR_1_RIDER 
SPELL_ANCHOR_2_TRAINEE 
SPELL_ANCHOR_2_DK 
SPELL_ANCHOR_2_RIDER 
SPELL_SKULLS_TRAINEE 
SPELL_SKULLS_DK 
SPELL_SKULLS_RIDER 
SPELL_DEATH_PLAGUE 
SPELL_ARCANE_EXPLOSION 
SPELL_SHADOW_MARK 
SPELL_WHIRLWIND 
SPELL_SHADOW_BOLT_VOLLEY 
SPELL_DRAIN_LIFE 
SPELL_UNHOLY_FRENZY 
SPELL_STOMP 
41{
42 // Gothik
43 SPELL_HARVEST_SOUL = 28679,
44 SPELL_SHADOW_BOLT = 29317,
45 // Teleport spells
46 SPELL_TELEPORT_DEAD = 28025,
47 SPELL_TELEPORT_LIVE = 28026,
48 // Visual spells
50 SPELL_ANCHOR_1_DK = 27928,
53 SPELL_ANCHOR_2_DK = 27929,
56 SPELL_SKULLS_DK = 27931,
57 SPELL_SKULLS_RIDER = 27937,
58 // Living trainee
59 SPELL_DEATH_PLAGUE = 55604,
60 // Dead trainee
62 // Living knight
63 SPELL_SHADOW_MARK = 27825,
64 // Dead knight
65 SPELL_WHIRLWIND = 56408,
66 // Living rider
68 // Dead rider
69 SPELL_DRAIN_LIFE = 27994,
70 SPELL_UNHOLY_FRENZY = 55648,
71 // Horse
72 SPELL_STOMP = 27993
73};
@ SPELL_STOMP
Definition boss_gothik.cpp:72
@ SPELL_SHADOW_BOLT_VOLLEY
Definition boss_gothik.cpp:67
@ SPELL_ANCHOR_1_DK
Definition boss_gothik.cpp:50
@ SPELL_UNHOLY_FRENZY
Definition boss_gothik.cpp:70
@ SPELL_DEATH_PLAGUE
Definition boss_gothik.cpp:59
@ SPELL_ANCHOR_1_TRAINEE
Definition boss_gothik.cpp:49
@ SPELL_ANCHOR_2_RIDER
Definition boss_gothik.cpp:54
@ SPELL_ARCANE_EXPLOSION
Definition boss_gothik.cpp:61
@ SPELL_SKULLS_DK
Definition boss_gothik.cpp:56
@ SPELL_SHADOW_BOLT
Definition boss_gothik.cpp:44
@ SPELL_HARVEST_SOUL
Definition boss_gothik.cpp:43
@ SPELL_ANCHOR_2_DK
Definition boss_gothik.cpp:53
@ SPELL_SKULLS_TRAINEE
Definition boss_gothik.cpp:55
@ SPELL_SHADOW_MARK
Definition boss_gothik.cpp:63
@ SPELL_SKULLS_RIDER
Definition boss_gothik.cpp:57
@ SPELL_ANCHOR_1_RIDER
Definition boss_gothik.cpp:51
@ SPELL_TELEPORT_LIVE
Definition boss_gothik.cpp:47
@ SPELL_WHIRLWIND
Definition boss_gothik.cpp:65
@ SPELL_TELEPORT_DEAD
Definition boss_gothik.cpp:46
@ SPELL_DRAIN_LIFE
Definition boss_gothik.cpp:69
@ SPELL_ANCHOR_2_TRAINEE
Definition boss_gothik.cpp:52

◆ Yells

enum Yells
Enumerator
SAY_INTRO_1 
SAY_INTRO_2 
SAY_INTRO_3 
SAY_INTRO_4 
SAY_PHASE_TWO 
SAY_DEATH 
SAY_KILL 
EMOTE_PHASE_TWO 
EMOTE_GATE_OPENED 
27{
28 SAY_INTRO_1 = 0,
29 SAY_INTRO_2 = 1,
30 SAY_INTRO_3 = 2,
31 SAY_INTRO_4 = 3,
32 SAY_PHASE_TWO = 4,
33 SAY_DEATH = 5,
34 SAY_KILL = 6,
35
38};
@ SAY_DEATH
Definition boss_gothik.cpp:33
@ SAY_INTRO_2
Definition boss_gothik.cpp:29
@ SAY_PHASE_TWO
Definition boss_gothik.cpp:32
@ SAY_INTRO_1
Definition boss_gothik.cpp:28
@ SAY_KILL
Definition boss_gothik.cpp:34
@ EMOTE_PHASE_TWO
Definition boss_gothik.cpp:36
@ SAY_INTRO_3
Definition boss_gothik.cpp:30
@ SAY_INTRO_4
Definition boss_gothik.cpp:31
@ EMOTE_GATE_OPENED
Definition boss_gothik.cpp:37

Function Documentation

◆ AddSC_boss_gothik()

void AddSC_boss_gothik ( )
752{
753 new boss_gothik();
755 new npc_gothik_trigger();
757}
#define RegisterSpellScript(spell_script)
Definition SpellScriptLoader.h:88
Definition boss_gothik.cpp:191
Definition boss_gothik.cpp:478
Definition boss_gothik.cpp:632
Definition boss_gothik.cpp:732

References RegisterSpellScript.

Referenced by AddNorthrendScripts().

Variable Documentation

◆ gothikWaves

const uint32 gothikWaves[24][2]
Initial value:
118{
119 {NPC_LIVING_TRAINEE, 20000},
120 {NPC_LIVING_TRAINEE, 20000},
121 {NPC_LIVING_TRAINEE, 10000},
122 {NPC_LIVING_KNIGHT, 10000},
123 {NPC_LIVING_TRAINEE, 15000},
124 {NPC_LIVING_KNIGHT, 10000},
125 {NPC_LIVING_TRAINEE, 15000},
127 {NPC_LIVING_KNIGHT, 10000},
128 {NPC_LIVING_RIDER, 10000},
129 {NPC_LIVING_TRAINEE, 5000},
130 {NPC_LIVING_KNIGHT, 15000},
131 {NPC_LIVING_RIDER, 0},
132 {NPC_LIVING_TRAINEE, 10000},
133 {NPC_LIVING_KNIGHT, 10000},
134 {NPC_LIVING_TRAINEE, 10000},
135 {NPC_LIVING_RIDER, 5000},
136 {NPC_LIVING_KNIGHT, 5000},
137 {NPC_LIVING_TRAINEE, 20000},
138 {NPC_LIVING_RIDER, 0},
140 {NPC_LIVING_TRAINEE, 15000},
141 {NPC_LIVING_TRAINEE, 29000},
142 {0, 0}
143};

Referenced by boss_gothik::boss_gothikAI::UpdateAI().

◆ PosSummonDead

const Position PosSummonDead[5]
Initial value:
=
{
{2725.1f, -3310.0f, 268.85f, 3.4f},
{2699.3f, -3322.8f, 268.60f, 3.3f},
{2733.1f, -3348.5f, 268.84f, 3.1f},
{2682.8f, -3304.2f, 268.85f, 3.9f},
{2664.8f, -3340.7f, 268.23f, 3.7f}
}
156{
157 {2725.1f, -3310.0f, 268.85f, 3.4f},
158 {2699.3f, -3322.8f, 268.60f, 3.3f},
159 {2733.1f, -3348.5f, 268.84f, 3.1f},
160 {2682.8f, -3304.2f, 268.85f, 3.9f},
161 {2664.8f, -3340.7f, 268.23f, 3.7f}
162};

◆ PosSummonLiving

const Position PosSummonLiving[6]
Initial value:
=
{
{2669.7f, -3428.76f, 268.56f, 1.6f},
{2692.1f, -3428.76f, 268.56f, 1.6f},
{2714.4f, -3428.76f, 268.56f, 1.6f},
{2669.7f, -3431.67f, 268.56f, 1.6f},
{2692.1f, -3431.67f, 268.56f, 1.6f},
{2714.4f, -3431.67f, 268.56f, 1.6f}
}
146{
147 {2669.7f, -3428.76f, 268.56f, 1.6f},
148 {2692.1f, -3428.76f, 268.56f, 1.6f},
149 {2714.4f, -3428.76f, 268.56f, 1.6f},
150 {2669.7f, -3431.67f, 268.56f, 1.6f},
151 {2692.1f, -3431.67f, 268.56f, 1.6f},
152 {2714.4f, -3431.67f, 268.56f, 1.6f}
153};

Referenced by boss_gothik::boss_gothikAI::SummonHelpers().