Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_hydross_the_unstable.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
/* ScriptData
7
SDName: Boss_Hydross_The_Unstable
8
SD%Complete: 90
9
SDComment: Some details and adjustments left to do, probably nothing major. Spawns may be spawned in different way/location.
10
SDCategory: Coilfang Resevoir, Serpent Shrine Cavern
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
#include "
serpent_shrine.h
"
16
17
enum
HydrossTheUnstable
18
{
19
SAY_AGGRO
= 0,
20
SAY_SWITCH_TO_CLEAN
= 1,
21
SAY_CLEAN_SLAY
= 2,
22
SAY_CLEAN_DEATH
= 3,
23
SAY_SWITCH_TO_CORRUPT
= 4,
24
SAY_CORRUPT_SLAY
= 5,
25
SAY_CORRUPT_DEATH
= 6,
26
27
SWITCH_RADIUS
= 18,
28
29
MODEL_CORRUPT
= 20609,
30
MODEL_CLEAN
= 20162,
31
32
SPELL_WATER_TOMB
= 38235,
33
SPELL_MARK_OF_HYDROSS1
= 38215,
34
SPELL_MARK_OF_HYDROSS2
= 38216,
35
SPELL_MARK_OF_HYDROSS3
= 38217,
36
SPELL_MARK_OF_HYDROSS4
= 38218,
37
SPELL_MARK_OF_HYDROSS5
= 38231,
38
SPELL_MARK_OF_HYDROSS6
= 40584,
39
SPELL_MARK_OF_CORRUPTION1
= 38219,
40
SPELL_MARK_OF_CORRUPTION2
= 38220,
41
SPELL_MARK_OF_CORRUPTION3
= 38221,
42
SPELL_MARK_OF_CORRUPTION4
= 38222,
43
SPELL_MARK_OF_CORRUPTION5
= 38230,
44
SPELL_MARK_OF_CORRUPTION6
= 40583,
45
SPELL_VILE_SLUDGE
= 38246,
46
SPELL_ENRAGE
= 27680,
//this spell need verification
47
SPELL_SUMMON_WATER_ELEMENT
= 36459,
//not in use yet(in use ever?)
48
SPELL_ELEMENTAL_SPAWNIN
= 25035,
49
SPELL_BLUE_BEAM
= 40227,
//channeled Hydross Beam Helper (not in use yet)
50
51
ENTRY_PURE_SPAWN
= 22035,
52
ENTRY_TAINTED_SPAWN
= 22036,
53
ENTRY_BEAM_DUMMY
= 21934
54
};
55
56
57
#define HYDROSS_X -239.439f
58
#define HYDROSS_Y -363.481f
59
60
#define SPAWN_X_DIFF1 6.934003f
61
#define SPAWN_Y_DIFF1 -11.255012f
62
#define SPAWN_X_DIFF2 -6.934003f
63
#define SPAWN_Y_DIFF2 11.255012f
64
#define SPAWN_X_DIFF3 -12.577011f
65
#define SPAWN_Y_DIFF3 -4.72702f
66
#define SPAWN_X_DIFF4 12.577011f
67
#define SPAWN_Y_DIFF4 4.72702f
68
69
class
boss_hydross_the_unstable
:
public
CreatureScript
70
{
71
public
:
72
boss_hydross_the_unstable
() :
CreatureScript
(
"boss_hydross_the_unstable"
) { }
73
74
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
75
{
76
return
new
boss_hydross_the_unstableAI
(creature);
77
}
78
79
struct
boss_hydross_the_unstableAI
:
public
ScriptedAI
80
{
81
boss_hydross_the_unstableAI
(
Creature
* creature) :
ScriptedAI
(creature),
Summons
(
me
)
82
{
83
instance
= creature->
GetInstanceScript
();
84
beams
[0] = 0;
85
beams
[1] = 0;
86
}
87
88
InstanceScript
*
instance
;
89
90
uint64
beams
[2];
91
uint32
PosCheck_Timer
;
92
uint32
MarkOfHydross_Timer
;
93
uint32
MarkOfCorruption_Timer
;
94
uint32
WaterTomb_Timer
;
95
uint32
VileSludge_Timer
;
96
uint32
MarkOfHydross_Count
;
97
uint32
MarkOfCorruption_Count
;
98
uint32
EnrageTimer
;
99
bool
CorruptedForm
;
100
bool
beam
;
101
SummonList
Summons
;
102
103
void
Reset
()
OVERRIDE
104
{
105
DeSummonBeams
();
106
beams
[0] = 0;
107
beams
[1] = 0;
108
PosCheck_Timer
= 2500;
109
MarkOfHydross_Timer
= 15000;
110
MarkOfCorruption_Timer
= 15000;
111
WaterTomb_Timer
= 7000;
112
VileSludge_Timer
= 7000;
113
MarkOfHydross_Count
= 0;
114
MarkOfCorruption_Count
= 0;
115
EnrageTimer
= 600000;
116
117
CorruptedForm
=
false
;
118
me
->SetMeleeDamageSchool(
SPELL_SCHOOL_FROST
);
119
me
->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_FROST
,
true
);
120
me
->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_NATURE
,
false
);
121
122
me
->SetDisplayId(
MODEL_CLEAN
);
123
124
if
(
instance
)
125
instance
->SetData(
DATA_HYDROSSTHEUNSTABLEEVENT
,
NOT_STARTED
);
126
beam
=
false
;
127
Summons
.DespawnAll();
128
}
129
130
void
SummonBeams
()
131
{
132
Creature
* beamer =
me
->SummonCreature(
ENTRY_BEAM_DUMMY
, -258.333f, -356.34f, 22.0499f, 5.90835f,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
133
if
(beamer)
134
{
135
beamer->
CastSpell
(
me
,
SPELL_BLUE_BEAM
,
true
);
136
beamer->
SetDisplayId
(11686);
//invisible
137
beamer->
SetFlag
(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NOT_SELECTABLE
);
138
beams
[0]=beamer->
GetGUID
();
139
}
140
beamer =
me
->SummonCreature(
ENTRY_BEAM_DUMMY
, -219.918f, -371.308f, 22.0042f, 2.73072f,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
141
if
(beamer)
142
{
143
beamer->
CastSpell
(
me
,
SPELL_BLUE_BEAM
,
true
);
144
beamer->
SetDisplayId
(11686);
//invisible
145
beamer->
SetFlag
(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NOT_SELECTABLE
);
146
beams
[1]=beamer->
GetGUID
();
147
}
148
}
149
void
DeSummonBeams
()
150
{
151
for
(
uint8
i = 0; i < 2; ++i)
152
{
153
if
(
Creature
* mob =
Unit::GetCreature
(*
me
,
beams
[i]))
154
{
155
mob->setDeathState(
DeathState::DEAD
);
156
mob->RemoveCorpse();
157
}
158
}
159
}
160
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
161
{
162
Talk
(
SAY_AGGRO
);
163
164
if
(
instance
)
165
instance
->SetData(
DATA_HYDROSSTHEUNSTABLEEVENT
,
IN_PROGRESS
);
166
}
167
168
void
KilledUnit
(
Unit
*
/*victim*/
)
OVERRIDE
169
{
170
Talk
(
CorruptedForm
?
SAY_CORRUPT_SLAY
:
SAY_CLEAN_SLAY
);
171
}
172
173
void
JustSummoned
(
Creature
* summoned)
OVERRIDE
174
{
175
if
(summoned->GetEntry() ==
ENTRY_PURE_SPAWN
)
176
{
177
summoned->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_FROST
,
true
);
178
summoned->CastSpell(summoned,
SPELL_ELEMENTAL_SPAWNIN
,
true
);
179
Summons
.Summon(summoned);
180
}
181
if
(summoned->GetEntry() ==
ENTRY_TAINTED_SPAWN
)
182
{
183
summoned->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_NATURE
,
true
);
184
summoned->CastSpell(summoned,
SPELL_ELEMENTAL_SPAWNIN
,
true
);
185
Summons
.Summon(summoned);
186
}
187
}
188
189
void
SummonedCreatureDespawn
(
Creature
* summon)
OVERRIDE
190
{
191
Summons
.Despawn(summon);
192
}
193
194
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
195
{
196
Talk
(
CorruptedForm
?
SAY_CORRUPT_DEATH
:
SAY_CLEAN_DEATH
);
197
198
if
(
instance
)
199
instance
->SetData(
DATA_HYDROSSTHEUNSTABLEEVENT
,
DONE
);
200
Summons
.DespawnAll();
201
}
202
203
void
UpdateAI
(
uint32
diff)
OVERRIDE
204
{
205
if
(!
beam
)
206
{
207
SummonBeams
();
208
beam
=
true
;
209
}
210
//Return since we have no target
211
if
(!
UpdateVictim
())
212
return
;
213
214
// corrupted form
215
if
(
CorruptedForm
)
216
{
217
//MarkOfCorruption_Timer
218
if
(
MarkOfCorruption_Timer
<= diff)
219
{
220
if
(
MarkOfCorruption_Count
<= 5)
221
{
222
uint32
mark_spell = 0;
223
224
switch
(
MarkOfCorruption_Count
)
225
{
226
case
0:
227
mark_spell =
SPELL_MARK_OF_CORRUPTION1
;
228
break
;
229
230
case
1:
231
mark_spell =
SPELL_MARK_OF_CORRUPTION2
;
232
break
;
233
234
case
2:
235
mark_spell =
SPELL_MARK_OF_CORRUPTION3
;
236
break
;
237
238
case
3:
239
mark_spell =
SPELL_MARK_OF_CORRUPTION4
;
240
break
;
241
242
case
4:
243
mark_spell =
SPELL_MARK_OF_CORRUPTION5
;
244
break
;
245
246
case
5:
247
mark_spell =
SPELL_MARK_OF_CORRUPTION6
;
248
break
;
249
}
250
251
DoCastVictim
(mark_spell);
252
253
if
(
MarkOfCorruption_Count
< 5)
254
++
MarkOfCorruption_Count
;
255
}
256
257
MarkOfCorruption_Timer
= 15000;
258
}
else
MarkOfCorruption_Timer
-= diff;
259
260
//VileSludge_Timer
261
if
(
VileSludge_Timer
<= diff)
262
{
263
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0))
264
DoCast
(target,
SPELL_VILE_SLUDGE
);
265
266
VileSludge_Timer
= 15000;
267
}
else
VileSludge_Timer
-= diff;
268
269
//PosCheck_Timer
270
if
(
PosCheck_Timer
<= diff)
271
{
272
if
(
me
->IsWithinDist2d(
HYDROSS_X
,
HYDROSS_Y
,
SWITCH_RADIUS
))
273
{
274
// switch to clean form
275
me
->SetDisplayId(
MODEL_CLEAN
);
276
CorruptedForm
=
false
;
277
MarkOfHydross_Count
= 0;
278
279
Talk
(
SAY_SWITCH_TO_CLEAN
);
280
DoResetThreat
();
281
SummonBeams
();
282
283
// spawn 4 adds
284
DoSpawnCreature
(
ENTRY_PURE_SPAWN
,
SPAWN_X_DIFF1
,
SPAWN_Y_DIFF1
, 3, 0,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
285
DoSpawnCreature
(
ENTRY_PURE_SPAWN
,
SPAWN_X_DIFF2
,
SPAWN_Y_DIFF2
, 3, 0,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
286
DoSpawnCreature
(
ENTRY_PURE_SPAWN
,
SPAWN_X_DIFF3
,
SPAWN_Y_DIFF3
, 3, 0,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
287
DoSpawnCreature
(
ENTRY_PURE_SPAWN
,
SPAWN_X_DIFF4
,
SPAWN_Y_DIFF4
, 3, 0,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
288
289
me
->SetMeleeDamageSchool(
SPELL_SCHOOL_FROST
);
290
me
->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_FROST
,
true
);
291
me
->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_NATURE
,
false
);
292
}
293
294
PosCheck_Timer
= 2500;
295
}
else
PosCheck_Timer
-=diff;
296
}
297
// clean form
298
else
299
{
300
//MarkOfHydross_Timer
301
if
(
MarkOfHydross_Timer
<= diff)
302
{
303
if
(
MarkOfHydross_Count
<= 5)
304
{
305
uint32
mark_spell = 0;
306
307
switch
(
MarkOfHydross_Count
)
308
{
309
case
0:
310
mark_spell =
SPELL_MARK_OF_HYDROSS1
;
311
break
;
312
313
case
1:
314
mark_spell =
SPELL_MARK_OF_HYDROSS2
;
315
break
;
316
317
case
2:
318
mark_spell =
SPELL_MARK_OF_HYDROSS3
;
319
break
;
320
321
case
3:
322
mark_spell =
SPELL_MARK_OF_HYDROSS4
;
323
break
;
324
325
case
4:
326
mark_spell =
SPELL_MARK_OF_HYDROSS5
;
327
break
;
328
329
case
5:
330
mark_spell =
SPELL_MARK_OF_HYDROSS6
;
331
break
;
332
}
333
334
DoCastVictim
(mark_spell);
335
336
if
(
MarkOfHydross_Count
< 5)
337
++
MarkOfHydross_Count
;
338
}
339
340
MarkOfHydross_Timer
= 15000;
341
}
else
MarkOfHydross_Timer
-= diff;
342
343
//WaterTomb_Timer
344
if
(
WaterTomb_Timer
<= diff)
345
{
346
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0, 100,
true
);
347
if
(target)
348
DoCast
(target,
SPELL_WATER_TOMB
);
349
350
WaterTomb_Timer
= 7000;
351
}
else
WaterTomb_Timer
-= diff;
352
353
//PosCheck_Timer
354
if
(
PosCheck_Timer
<= diff)
355
{
356
if
(!
me
->IsWithinDist2d(
HYDROSS_X
,
HYDROSS_Y
,
SWITCH_RADIUS
))
357
{
358
// switch to corrupted form
359
me
->SetDisplayId(
MODEL_CORRUPT
);
360
MarkOfCorruption_Count
= 0;
361
CorruptedForm
=
true
;
362
363
Talk
(
SAY_SWITCH_TO_CORRUPT
);
364
DoResetThreat
();
365
DeSummonBeams
();
366
367
// spawn 4 adds
368
DoSpawnCreature
(
ENTRY_TAINTED_SPAWN
,
SPAWN_X_DIFF1
,
SPAWN_Y_DIFF1
, 3, 0,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
369
DoSpawnCreature
(
ENTRY_TAINTED_SPAWN
,
SPAWN_X_DIFF2
,
SPAWN_Y_DIFF2
, 3, 0,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
370
DoSpawnCreature
(
ENTRY_TAINTED_SPAWN
,
SPAWN_X_DIFF3
,
SPAWN_Y_DIFF3
, 3, 0,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
371
DoSpawnCreature
(
ENTRY_TAINTED_SPAWN
,
SPAWN_X_DIFF4
,
SPAWN_Y_DIFF4
, 3, 0,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
372
373
me
->SetMeleeDamageSchool(
SPELL_SCHOOL_NATURE
);
374
me
->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_NATURE
,
true
);
375
me
->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_FROST
,
false
);
376
}
377
378
PosCheck_Timer
= 2500;
379
}
else
PosCheck_Timer
-=diff;
380
}
381
382
//EnrageTimer
383
if
(
EnrageTimer
<= diff)
384
{
385
DoCast
(
me
,
SPELL_ENRAGE
);
386
EnrageTimer
= 60000;
387
}
else
EnrageTimer
-= diff;
388
389
DoMeleeAttackIfReady
();
390
}
391
};
392
};
393
394
void
AddSC_boss_hydross_the_unstable
()
395
{
396
new
boss_hydross_the_unstable
();
397
}
uint8
std::uint8_t uint8
Definition
Define.h:79
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
uint64
std::uint64_t uint64
Definition
Define.h:76
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
DONE
@ DONE
Definition
InstanceScript.h:49
NOT_STARTED
@ NOT_STARTED
Definition
InstanceScript.h:46
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
@ TEMPSUMMON_CORPSE_DESPAWN
Definition
Object.h:72
ScriptMgr.h
ScriptedCreature.h
SPELL_SCHOOL_NATURE
@ SPELL_SCHOOL_NATURE
Definition
SharedDefines.h:259
SPELL_SCHOOL_FROST
@ SPELL_SCHOOL_FROST
Definition
SharedDefines.h:260
IMMUNITY_SCHOOL
@ IMMUNITY_SCHOOL
Definition
SharedDefines.h:1598
SPELL_SCHOOL_MASK_NATURE
@ SPELL_SCHOOL_MASK_NATURE
Definition
SharedDefines.h:273
SPELL_SCHOOL_MASK_FROST
@ SPELL_SCHOOL_MASK_FROST
Definition
SharedDefines.h:274
DeathState::DEAD
@ DEAD
Definition
Unit.h:506
UNIT_FLAG_NOT_SELECTABLE
@ UNIT_FLAG_NOT_SELECTABLE
Definition
Unit.h:650
SELECT_TARGET_RANDOM
@ SELECT_TARGET_RANDOM
Definition
UnitAI.h:23
UNIT_FIELD_FLAGS
@ UNIT_FIELD_FLAGS
Definition
UpdateFields.h:82
SPELL_ENRAGE
@ SPELL_ENRAGE
Definition
alterac_valley.cpp:14
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
SPAWN_Y_DIFF4
#define SPAWN_Y_DIFF4
Definition
boss_hydross_the_unstable.cpp:67
SPAWN_Y_DIFF3
#define SPAWN_Y_DIFF3
Definition
boss_hydross_the_unstable.cpp:65
SPAWN_X_DIFF2
#define SPAWN_X_DIFF2
Definition
boss_hydross_the_unstable.cpp:62
SPAWN_Y_DIFF1
#define SPAWN_Y_DIFF1
Definition
boss_hydross_the_unstable.cpp:61
HYDROSS_Y
#define HYDROSS_Y
Definition
boss_hydross_the_unstable.cpp:58
SPAWN_X_DIFF1
#define SPAWN_X_DIFF1
Definition
boss_hydross_the_unstable.cpp:60
SPAWN_X_DIFF3
#define SPAWN_X_DIFF3
Definition
boss_hydross_the_unstable.cpp:64
SPAWN_Y_DIFF2
#define SPAWN_Y_DIFF2
Definition
boss_hydross_the_unstable.cpp:63
SPAWN_X_DIFF4
#define SPAWN_X_DIFF4
Definition
boss_hydross_the_unstable.cpp:66
HydrossTheUnstable
HydrossTheUnstable
Definition
boss_hydross_the_unstable.cpp:18
SPELL_MARK_OF_CORRUPTION3
@ SPELL_MARK_OF_CORRUPTION3
Definition
boss_hydross_the_unstable.cpp:41
MODEL_CLEAN
@ MODEL_CLEAN
Definition
boss_hydross_the_unstable.cpp:30
SPELL_MARK_OF_HYDROSS1
@ SPELL_MARK_OF_HYDROSS1
Definition
boss_hydross_the_unstable.cpp:33
SPELL_WATER_TOMB
@ SPELL_WATER_TOMB
Definition
boss_hydross_the_unstable.cpp:32
SPELL_BLUE_BEAM
@ SPELL_BLUE_BEAM
Definition
boss_hydross_the_unstable.cpp:49
SPELL_ENRAGE
@ SPELL_ENRAGE
Definition
boss_hydross_the_unstable.cpp:46
ENTRY_TAINTED_SPAWN
@ ENTRY_TAINTED_SPAWN
Definition
boss_hydross_the_unstable.cpp:52
SPELL_MARK_OF_CORRUPTION5
@ SPELL_MARK_OF_CORRUPTION5
Definition
boss_hydross_the_unstable.cpp:43
SPELL_MARK_OF_CORRUPTION1
@ SPELL_MARK_OF_CORRUPTION1
Definition
boss_hydross_the_unstable.cpp:39
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_hydross_the_unstable.cpp:19
SPELL_MARK_OF_CORRUPTION2
@ SPELL_MARK_OF_CORRUPTION2
Definition
boss_hydross_the_unstable.cpp:40
SPELL_MARK_OF_HYDROSS4
@ SPELL_MARK_OF_HYDROSS4
Definition
boss_hydross_the_unstable.cpp:36
SAY_CORRUPT_SLAY
@ SAY_CORRUPT_SLAY
Definition
boss_hydross_the_unstable.cpp:24
SAY_CLEAN_SLAY
@ SAY_CLEAN_SLAY
Definition
boss_hydross_the_unstable.cpp:21
SPELL_MARK_OF_HYDROSS2
@ SPELL_MARK_OF_HYDROSS2
Definition
boss_hydross_the_unstable.cpp:34
SPELL_ELEMENTAL_SPAWNIN
@ SPELL_ELEMENTAL_SPAWNIN
Definition
boss_hydross_the_unstable.cpp:48
SPELL_MARK_OF_CORRUPTION6
@ SPELL_MARK_OF_CORRUPTION6
Definition
boss_hydross_the_unstable.cpp:44
SPELL_SUMMON_WATER_ELEMENT
@ SPELL_SUMMON_WATER_ELEMENT
Definition
boss_hydross_the_unstable.cpp:47
SAY_SWITCH_TO_CORRUPT
@ SAY_SWITCH_TO_CORRUPT
Definition
boss_hydross_the_unstable.cpp:23
SWITCH_RADIUS
@ SWITCH_RADIUS
Definition
boss_hydross_the_unstable.cpp:27
ENTRY_PURE_SPAWN
@ ENTRY_PURE_SPAWN
Definition
boss_hydross_the_unstable.cpp:51
SAY_CLEAN_DEATH
@ SAY_CLEAN_DEATH
Definition
boss_hydross_the_unstable.cpp:22
SPELL_MARK_OF_HYDROSS3
@ SPELL_MARK_OF_HYDROSS3
Definition
boss_hydross_the_unstable.cpp:35
SAY_SWITCH_TO_CLEAN
@ SAY_SWITCH_TO_CLEAN
Definition
boss_hydross_the_unstable.cpp:20
SPELL_MARK_OF_HYDROSS5
@ SPELL_MARK_OF_HYDROSS5
Definition
boss_hydross_the_unstable.cpp:37
SPELL_VILE_SLUDGE
@ SPELL_VILE_SLUDGE
Definition
boss_hydross_the_unstable.cpp:45
SPELL_MARK_OF_CORRUPTION4
@ SPELL_MARK_OF_CORRUPTION4
Definition
boss_hydross_the_unstable.cpp:42
SAY_CORRUPT_DEATH
@ SAY_CORRUPT_DEATH
Definition
boss_hydross_the_unstable.cpp:25
ENTRY_BEAM_DUMMY
@ ENTRY_BEAM_DUMMY
Definition
boss_hydross_the_unstable.cpp:53
SPELL_MARK_OF_HYDROSS6
@ SPELL_MARK_OF_HYDROSS6
Definition
boss_hydross_the_unstable.cpp:38
MODEL_CORRUPT
@ MODEL_CORRUPT
Definition
boss_hydross_the_unstable.cpp:29
AddSC_boss_hydross_the_unstable
void AddSC_boss_hydross_the_unstable()
Definition
boss_hydross_the_unstable.cpp:394
HYDROSS_X
#define HYDROSS_X
Definition
boss_hydross_the_unstable.cpp:57
CreatureAI
Definition
CreatureAI.h:54
CreatureAI::Talk
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
Definition
CreatureAI.cpp:28
CreatureAI::UpdateVictim
bool UpdateVictim()
Definition
CreatureAI.cpp:192
Creature
Definition
Creature.h:427
Creature::SetDisplayId
void SetDisplayId(uint32 modelId) OVERRIDE
Definition
Creature.cpp:2615
CreatureScript::CreatureScript
CreatureScript(const char *name)
Definition
ScriptMgr.cpp:1436
InstanceScript
Definition
InstanceScript.h:123
Object::GetGUID
uint64 GetGUID() const
Definition
Object.h:119
Object::SetFlag
void SetFlag(uint16 index, uint32 newFlag)
Definition
Object.cpp:1261
SummonList
Definition
ScriptedCreature.h:19
UnitAI::DoMeleeAttackIfReady
void DoMeleeAttackIfReady()
Definition
UnitAI.cpp:28
UnitAI::DoCast
void DoCast(uint32 spellId)
Definition
UnitAI.cpp:110
UnitAI::SelectTarget
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
Definition
UnitAI.cpp:66
UnitAI::DoCastVictim
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition
UnitAI.cpp:168
Unit
Definition
Unit.h:1367
Unit::CastSpell
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
Definition
UnitCombat.cpp:324
Unit::GetCreature
static Creature * GetCreature(WorldObject &object, uint64 guid)
Definition
Unit.cpp:4905
WorldObject::GetInstanceScript
InstanceScript * GetInstanceScript()
Definition
Object.cpp:1612
boss_hydross_the_unstable
Definition
boss_hydross_the_unstable.cpp:70
boss_hydross_the_unstable::boss_hydross_the_unstable
boss_hydross_the_unstable()
Definition
boss_hydross_the_unstable.cpp:72
boss_hydross_the_unstable::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_hydross_the_unstable.cpp:74
serpent_shrine.h
DATA_HYDROSSTHEUNSTABLEEVENT
@ DATA_HYDROSSTHEUNSTABLEEVENT
Definition
serpent_shrine.h:20
ScriptedAI::DoResetThreat
void DoResetThreat()
Definition
ScriptedCreature.cpp:260
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::DoSpawnCreature
Creature * DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, TempSummonType type, uint32 despawntime)
Definition
ScriptedCreature.cpp:178
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
boss_hydross_the_unstable::boss_hydross_the_unstableAI
Definition
boss_hydross_the_unstable.cpp:80
boss_hydross_the_unstable::boss_hydross_the_unstableAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_hydross_the_unstable.cpp:160
boss_hydross_the_unstable::boss_hydross_the_unstableAI::beams
uint64 beams[2]
Definition
boss_hydross_the_unstable.cpp:90
boss_hydross_the_unstable::boss_hydross_the_unstableAI::MarkOfHydross_Count
uint32 MarkOfHydross_Count
Definition
boss_hydross_the_unstable.cpp:96
boss_hydross_the_unstable::boss_hydross_the_unstableAI::SummonedCreatureDespawn
void SummonedCreatureDespawn(Creature *summon) OVERRIDE
Definition
boss_hydross_the_unstable.cpp:189
boss_hydross_the_unstable::boss_hydross_the_unstableAI::WaterTomb_Timer
uint32 WaterTomb_Timer
Definition
boss_hydross_the_unstable.cpp:94
boss_hydross_the_unstable::boss_hydross_the_unstableAI::boss_hydross_the_unstableAI
boss_hydross_the_unstableAI(Creature *creature)
Definition
boss_hydross_the_unstable.cpp:81
boss_hydross_the_unstable::boss_hydross_the_unstableAI::SummonBeams
void SummonBeams()
Definition
boss_hydross_the_unstable.cpp:130
boss_hydross_the_unstable::boss_hydross_the_unstableAI::PosCheck_Timer
uint32 PosCheck_Timer
Definition
boss_hydross_the_unstable.cpp:91
boss_hydross_the_unstable::boss_hydross_the_unstableAI::MarkOfHydross_Timer
uint32 MarkOfHydross_Timer
Definition
boss_hydross_the_unstable.cpp:92
boss_hydross_the_unstable::boss_hydross_the_unstableAI::MarkOfCorruption_Count
uint32 MarkOfCorruption_Count
Definition
boss_hydross_the_unstable.cpp:97
boss_hydross_the_unstable::boss_hydross_the_unstableAI::MarkOfCorruption_Timer
uint32 MarkOfCorruption_Timer
Definition
boss_hydross_the_unstable.cpp:93
boss_hydross_the_unstable::boss_hydross_the_unstableAI::KilledUnit
void KilledUnit(Unit *) OVERRIDE
Definition
boss_hydross_the_unstable.cpp:168
boss_hydross_the_unstable::boss_hydross_the_unstableAI::Reset
void Reset() OVERRIDE
Definition
boss_hydross_the_unstable.cpp:103
boss_hydross_the_unstable::boss_hydross_the_unstableAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_hydross_the_unstable.cpp:203
boss_hydross_the_unstable::boss_hydross_the_unstableAI::beam
bool beam
Definition
boss_hydross_the_unstable.cpp:100
boss_hydross_the_unstable::boss_hydross_the_unstableAI::Summons
SummonList Summons
Definition
boss_hydross_the_unstable.cpp:101
boss_hydross_the_unstable::boss_hydross_the_unstableAI::DeSummonBeams
void DeSummonBeams()
Definition
boss_hydross_the_unstable.cpp:149
boss_hydross_the_unstable::boss_hydross_the_unstableAI::VileSludge_Timer
uint32 VileSludge_Timer
Definition
boss_hydross_the_unstable.cpp:95
boss_hydross_the_unstable::boss_hydross_the_unstableAI::instance
InstanceScript * instance
Definition
boss_hydross_the_unstable.cpp:88
boss_hydross_the_unstable::boss_hydross_the_unstableAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_hydross_the_unstable.cpp:194
boss_hydross_the_unstable::boss_hydross_the_unstableAI::CorruptedForm
bool CorruptedForm
Definition
boss_hydross_the_unstable.cpp:99
boss_hydross_the_unstable::boss_hydross_the_unstableAI::JustSummoned
void JustSummoned(Creature *summoned) OVERRIDE
Definition
boss_hydross_the_unstable.cpp:173
boss_hydross_the_unstable::boss_hydross_the_unstableAI::EnrageTimer
uint32 EnrageTimer
Definition
boss_hydross_the_unstable.cpp:98
src
server
scripts
Outland
CoilfangReservoir
SerpentShrine
boss_hydross_the_unstable.cpp
Generated on
for Project SkyFire Core by
1.17.0