Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_baroness_anastari.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_Baroness_Anastari
8
SD%Complete: 90
9
SDComment: MC disabled
10
SDCategory: Stratholme
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
#include "
stratholme.h
"
16
17
enum
Spells
18
{
19
SPELL_BANSHEEWAIL
= 16565,
20
SPELL_BANSHEECURSE
= 16867,
21
SPELL_SILENCE
= 18327
22
//SPELL_POSSESS = 17244
23
};
24
25
class
boss_baroness_anastari
:
public
CreatureScript
26
{
27
public
:
28
boss_baroness_anastari
() :
CreatureScript
(
"boss_baroness_anastari"
) { }
29
30
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
31
{
32
return
new
boss_baroness_anastariAI
(creature);
33
}
34
35
struct
boss_baroness_anastariAI
:
public
ScriptedAI
36
{
37
boss_baroness_anastariAI
(
Creature
* creature) :
ScriptedAI
(creature)
38
{
39
instance
=
me
->GetInstanceScript();
40
}
41
42
InstanceScript
*
instance
;
43
44
uint32
BansheeWail_Timer
;
45
uint32
BansheeCurse_Timer
;
46
uint32
Silence_Timer
;
47
//uint32 Possess_Timer;
48
49
void
Reset
()
OVERRIDE
50
{
51
BansheeWail_Timer
= 1000;
52
BansheeCurse_Timer
= 11000;
53
Silence_Timer
= 13000;
54
//Possess_Timer = 35000;
55
}
56
57
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
58
{
59
}
60
61
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
62
{
63
if
(
instance
)
64
instance
->SetData(
TYPE_BARONESS
,
IN_PROGRESS
);
65
}
66
67
void
UpdateAI
(
uint32
diff)
OVERRIDE
68
{
69
if
(!
UpdateVictim
())
70
return
;
71
72
//BansheeWail
73
if
(
BansheeWail_Timer
<= diff)
74
{
75
if
(rand()%100 < 95)
76
DoCastVictim
(
SPELL_BANSHEEWAIL
);
77
//4 seconds until we should cast this again
78
BansheeWail_Timer
= 4000;
79
}
else
BansheeWail_Timer
-= diff;
80
81
//BansheeCurse
82
if
(
BansheeCurse_Timer
<= diff)
83
{
84
if
(rand()%100 < 75)
85
DoCastVictim
(
SPELL_BANSHEECURSE
);
86
//18 seconds until we should cast this again
87
BansheeCurse_Timer
= 18000;
88
}
else
BansheeCurse_Timer
-= diff;
89
90
//Silence
91
if
(
Silence_Timer
<= diff)
92
{
93
if
(rand()%100 < 80)
94
DoCastVictim
(
SPELL_SILENCE
);
95
//13 seconds until we should cast this again
96
Silence_Timer
= 13000;
97
}
else
Silence_Timer
-= diff;
98
99
//Possess
100
/* if (Possess_Timer <= diff)
101
{
102
//Cast
103
if (rand()%100 < 65)
104
{
105
Unit* target = NULL;
106
target = SelectUnit(SELECT_TARGET_RANDOM, 0);
107
if (target)DoCast(target, SPELL_POSSESS);
108
}
109
//50 seconds until we should cast this again
110
Possess_Timer = 50000;
111
} else Possess_Timer -= diff;
112
*/
113
114
DoMeleeAttackIfReady
();
115
}
116
};
117
};
118
119
void
AddSC_boss_baroness_anastari
()
120
{
121
new
boss_baroness_anastari
();
122
}
Spells
Spells
Definition
BattlegroundIC.h:645
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
ScriptMgr.h
ScriptedCreature.h
AddSC_boss_baroness_anastari
void AddSC_boss_baroness_anastari()
Definition
boss_baroness_anastari.cpp:119
SPELL_BANSHEEWAIL
@ SPELL_BANSHEEWAIL
Definition
boss_baroness_anastari.cpp:19
SPELL_SILENCE
@ SPELL_SILENCE
Definition
boss_baroness_anastari.cpp:21
SPELL_BANSHEECURSE
@ SPELL_BANSHEECURSE
Definition
boss_baroness_anastari.cpp:20
CreatureAI
Definition
CreatureAI.h:54
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
boss_baroness_anastari
Definition
boss_baroness_anastari.cpp:26
boss_baroness_anastari::boss_baroness_anastari
boss_baroness_anastari()
Definition
boss_baroness_anastari.cpp:28
boss_baroness_anastari::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_baroness_anastari.cpp:30
stratholme.h
TYPE_BARONESS
@ TYPE_BARONESS
Definition
stratholme.h:12
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
boss_baroness_anastari::boss_baroness_anastariAI
Definition
boss_baroness_anastari.cpp:36
boss_baroness_anastari::boss_baroness_anastariAI::BansheeCurse_Timer
uint32 BansheeCurse_Timer
Definition
boss_baroness_anastari.cpp:45
boss_baroness_anastari::boss_baroness_anastariAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_baroness_anastari.cpp:57
boss_baroness_anastari::boss_baroness_anastariAI::Silence_Timer
uint32 Silence_Timer
Definition
boss_baroness_anastari.cpp:46
boss_baroness_anastari::boss_baroness_anastariAI::Reset
void Reset() OVERRIDE
Definition
boss_baroness_anastari.cpp:49
boss_baroness_anastari::boss_baroness_anastariAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_baroness_anastari.cpp:61
boss_baroness_anastari::boss_baroness_anastariAI::BansheeWail_Timer
uint32 BansheeWail_Timer
Definition
boss_baroness_anastari.cpp:44
boss_baroness_anastari::boss_baroness_anastariAI::instance
InstanceScript * instance
Definition
boss_baroness_anastari.cpp:42
boss_baroness_anastari::boss_baroness_anastariAI::boss_baroness_anastariAI
boss_baroness_anastariAI(Creature *creature)
Definition
boss_baroness_anastari.cpp:37
boss_baroness_anastari::boss_baroness_anastariAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_baroness_anastari.cpp:67
src
server
scripts
EasternKingdoms
Stratholme
boss_baroness_anastari.cpp
Generated on
for Project SkyFire Core by
1.17.0