Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_interrogator_vishas.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_Interrogator_Vishas
8
SD%Complete: 100
9
SDComment:
10
SDCategory: Scarlet Monastery
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
#include "
scarlet_monastery.h
"
16
17
enum
Says
18
{
19
SAY_AGGRO
= 0,
20
SAY_HEALTH1
= 1,
21
SAY_HEALTH2
= 2,
22
SAY_KILL
= 3,
23
SAY_TRIGGER_VORREL
= 0
24
};
25
26
enum
Spells
27
{
28
SPELL_SHADOWWORDPAIN
= 2767
29
};
30
31
class
boss_interrogator_vishas
:
public
CreatureScript
32
{
33
public
:
34
boss_interrogator_vishas
() :
CreatureScript
(
"boss_interrogator_vishas"
) { }
35
36
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
37
{
38
return
new
boss_interrogator_vishasAI
(creature);
39
}
40
41
struct
boss_interrogator_vishasAI
:
public
ScriptedAI
42
{
43
boss_interrogator_vishasAI
(
Creature
* creature) :
ScriptedAI
(creature)
44
{
45
instance
=
me
->GetInstanceScript();
46
}
47
48
InstanceScript
*
instance
;
49
50
bool
Yell30
;
51
bool
Yell60
;
52
uint32
ShadowWordPain_Timer
;
53
54
void
Reset
()
OVERRIDE
55
{
56
ShadowWordPain_Timer
= 5000;
57
}
58
59
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
60
{
61
Talk
(
SAY_AGGRO
);
62
}
63
64
void
KilledUnit
(
Unit
*
/*Victim*/
)
OVERRIDE
65
{
66
Talk
(
SAY_KILL
);
67
}
68
69
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
70
{
71
if
(!
instance
)
72
return
;
73
74
//Any other Actions to do with vorrel? setStandState?
75
if
(
Creature
* vorrel =
Creature::GetCreature
(*
me
,
instance
->GetData64(
DATA_VORREL
)))
76
vorrel->AI()->Talk(
SAY_TRIGGER_VORREL
);
77
}
78
79
void
UpdateAI
(
uint32
diff)
OVERRIDE
80
{
81
if
(!
UpdateVictim
())
82
return
;
83
84
//If we are low on hp Do sayings
85
if
(!
Yell60
&& !
HealthAbovePct
(60))
86
{
87
Talk
(
SAY_HEALTH1
);
88
Yell60
=
true
;
89
}
90
91
if
(!
Yell30
&& !
HealthAbovePct
(30))
92
{
93
Talk
(
SAY_HEALTH2
);
94
Yell30
=
true
;
95
}
96
97
//ShadowWordPain_Timer
98
if
(
ShadowWordPain_Timer
<= diff)
99
{
100
DoCastVictim
(
SPELL_SHADOWWORDPAIN
);
101
ShadowWordPain_Timer
= urand(5000, 15000);
102
}
103
else
ShadowWordPain_Timer
-= diff;
104
105
DoMeleeAttackIfReady
();
106
}
107
};
108
};
109
110
void
AddSC_boss_interrogator_vishas
()
111
{
112
new
boss_interrogator_vishas
();
113
}
Spells
Spells
Definition
BattlegroundIC.h:645
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
ScriptMgr.h
ScriptedCreature.h
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
SAY_KILL
#define SAY_KILL
Definition
boss_commander_kolurg.cpp:29
Says
Says
Definition
boss_halycon.cpp:17
SPELL_SHADOWWORDPAIN
@ SPELL_SHADOWWORDPAIN
Definition
boss_high_interrogator_gerstahn.cpp:11
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_interrogator_vishas.cpp:19
SAY_KILL
@ SAY_KILL
Definition
boss_interrogator_vishas.cpp:22
SAY_HEALTH2
@ SAY_HEALTH2
Definition
boss_interrogator_vishas.cpp:21
SAY_TRIGGER_VORREL
@ SAY_TRIGGER_VORREL
Definition
boss_interrogator_vishas.cpp:23
SAY_HEALTH1
@ SAY_HEALTH1
Definition
boss_interrogator_vishas.cpp:20
AddSC_boss_interrogator_vishas
void AddSC_boss_interrogator_vishas()
Definition
boss_interrogator_vishas.cpp:110
SPELL_SHADOWWORDPAIN
@ SPELL_SHADOWWORDPAIN
Definition
boss_interrogator_vishas.cpp:28
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
CreatureScript::CreatureScript
CreatureScript(const char *name)
Definition
ScriptMgr.cpp:1436
InstanceScript
Definition
InstanceScript.h:123
UnitAI::DoMeleeAttackIfReady
void DoMeleeAttackIfReady()
Definition
UnitAI.cpp:28
UnitAI::DoCastVictim
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition
UnitAI.cpp:168
Unit
Definition
Unit.h:1367
Unit::GetCreature
static Creature * GetCreature(WorldObject &object, uint64 guid)
Definition
Unit.cpp:4905
boss_interrogator_vishas
Definition
boss_interrogator_vishas.cpp:32
boss_interrogator_vishas::boss_interrogator_vishas
boss_interrogator_vishas()
Definition
boss_interrogator_vishas.cpp:34
boss_interrogator_vishas::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_interrogator_vishas.cpp:36
scarlet_monastery.h
DATA_VORREL
@ DATA_VORREL
Definition
scarlet_monastery.h:20
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::HealthAbovePct
bool HealthAbovePct(uint32 pct) const
Definition
ScriptedCreature.h:251
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
boss_interrogator_vishas::boss_interrogator_vishasAI
Definition
boss_interrogator_vishas.cpp:42
boss_interrogator_vishas::boss_interrogator_vishasAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_interrogator_vishas.cpp:59
boss_interrogator_vishas::boss_interrogator_vishasAI::boss_interrogator_vishasAI
boss_interrogator_vishasAI(Creature *creature)
Definition
boss_interrogator_vishas.cpp:43
boss_interrogator_vishas::boss_interrogator_vishasAI::Reset
void Reset() OVERRIDE
Definition
boss_interrogator_vishas.cpp:54
boss_interrogator_vishas::boss_interrogator_vishasAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_interrogator_vishas.cpp:79
boss_interrogator_vishas::boss_interrogator_vishasAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_interrogator_vishas.cpp:69
boss_interrogator_vishas::boss_interrogator_vishasAI::Yell60
bool Yell60
Definition
boss_interrogator_vishas.cpp:51
boss_interrogator_vishas::boss_interrogator_vishasAI::instance
InstanceScript * instance
Definition
boss_interrogator_vishas.cpp:48
boss_interrogator_vishas::boss_interrogator_vishasAI::KilledUnit
void KilledUnit(Unit *) OVERRIDE
Definition
boss_interrogator_vishas.cpp:64
boss_interrogator_vishas::boss_interrogator_vishasAI::Yell30
bool Yell30
Definition
boss_interrogator_vishas.cpp:50
boss_interrogator_vishas::boss_interrogator_vishasAI::ShadowWordPain_Timer
uint32 ShadowWordPain_Timer
Definition
boss_interrogator_vishas.cpp:52
src
server
scripts
EasternKingdoms
ScarletMonastery
boss_interrogator_vishas.cpp
Generated on
for Project SkyFire Core by
1.17.0