TrinityCore
boss_moira_bronzebeard.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#include "
ScriptMgr.h
"
19
#include "
blackrock_depths.h
"
20
#include "
ScriptedCreature.h
"
21
22
enum
Spells
23
{
24
SPELL_HEAL
= 10917,
25
SPELL_RENEW
= 10929,
26
SPELL_SHIELD
= 10901,
27
SPELL_MINDBLAST
= 10947,
28
SPELL_SHADOWWORDPAIN
= 10894,
29
SPELL_SMITE
= 10934
30
};
31
32
enum
Events
33
{
34
EVENT_MINDBLAST
= 1,
35
EVENT_SHADOW_WORD_PAIN
= 2,
36
EVENT_SMITE
= 3,
37
EVENT_HEAL
= 4
// not used atm
38
};
39
40
class
boss_moira_bronzebeard
:
public
CreatureScript
41
{
42
public
:
43
boss_moira_bronzebeard
() :
CreatureScript
(
"boss_moira_bronzebeard"
) { }
44
45
struct
boss_moira_bronzebeardAI
:
public
ScriptedAI
46
{
47
boss_moira_bronzebeardAI
(
Creature
* creature) :
ScriptedAI
(creature) { }
48
49
void
Reset
()
override
50
{
51
_events
.
Reset
();
52
}
53
54
void
JustEngagedWith
(
Unit
*
/*who*/
)
override
55
{
56
//_events.ScheduleEvent(EVENT_HEAL, 12s); // not used atm // These times are probably wrong
57
_events
.
ScheduleEvent
(
EVENT_MINDBLAST
, 16s);
58
_events
.
ScheduleEvent
(
EVENT_SHADOW_WORD_PAIN
, 2s);
59
_events
.
ScheduleEvent
(
EVENT_SMITE
, 8s);
60
}
61
62
void
UpdateAI
(
uint32
diff)
override
63
{
64
if
(!
UpdateVictim
())
65
return
;
66
67
_events
.
Update
(diff);
68
69
while
(
uint32
eventId =
_events
.
ExecuteEvent
())
70
{
71
switch
(eventId)
72
{
73
case
EVENT_MINDBLAST
:
74
DoCastVictim
(
SPELL_MINDBLAST
);
75
_events
.
ScheduleEvent
(
EVENT_MINDBLAST
, 14s);
76
break
;
77
case
EVENT_SHADOW_WORD_PAIN
:
78
DoCastVictim
(
SPELL_SHADOWWORDPAIN
);
79
_events
.
ScheduleEvent
(
EVENT_SHADOW_WORD_PAIN
, 18s);
80
break
;
81
case
EVENT_SMITE
:
82
DoCastVictim
(
SPELL_SMITE
);
83
_events
.
ScheduleEvent
(
EVENT_SMITE
, 10s);
84
break
;
85
default
:
86
break
;
87
}
88
}
89
}
90
91
private
:
92
EventMap
_events
;
93
};
94
95
CreatureAI
*
GetAI
(
Creature
* creature)
const override
96
{
97
return
GetBlackrockDepthsAI<boss_moira_bronzebeardAI>(creature);
98
}
99
};
100
101
void
AddSC_boss_moira_bronzebeard
()
102
{
103
new
boss_moira_bronzebeard
();
104
}
uint32
uint32_t uint32
Definition:
Define.h:142
Spells
Spells
Definition:
PlayerAI.cpp:32
ScriptMgr.h
ScriptedCreature.h
blackrock_depths.h
Events
Events
Definition:
boss_garothi_worldbreaker.cpp:101
SPELL_SHADOWWORDPAIN
@ SPELL_SHADOWWORDPAIN
Definition:
boss_moira_bronzebeard.cpp:28
SPELL_MINDBLAST
@ SPELL_MINDBLAST
Definition:
boss_moira_bronzebeard.cpp:27
SPELL_HEAL
@ SPELL_HEAL
Definition:
boss_moira_bronzebeard.cpp:24
SPELL_SMITE
@ SPELL_SMITE
Definition:
boss_moira_bronzebeard.cpp:29
SPELL_RENEW
@ SPELL_RENEW
Definition:
boss_moira_bronzebeard.cpp:25
SPELL_SHIELD
@ SPELL_SHIELD
Definition:
boss_moira_bronzebeard.cpp:26
AddSC_boss_moira_bronzebeard
void AddSC_boss_moira_bronzebeard()
Definition:
boss_moira_bronzebeard.cpp:101
EVENT_SHADOW_WORD_PAIN
@ EVENT_SHADOW_WORD_PAIN
Definition:
boss_moira_bronzebeard.cpp:35
EVENT_SMITE
@ EVENT_SMITE
Definition:
boss_moira_bronzebeard.cpp:36
EVENT_MINDBLAST
@ EVENT_MINDBLAST
Definition:
boss_moira_bronzebeard.cpp:34
EVENT_HEAL
@ EVENT_HEAL
Definition:
boss_moira_bronzebeard.cpp:37
CreatureAI
Definition:
CreatureAI.h:59
CreatureAI::UpdateVictim
bool UpdateVictim()
Definition:
CreatureAI.cpp:245
CreatureScript
Definition:
ScriptMgr.h:430
Creature
Definition:
Creature.h:70
EventMap
Definition:
EventMap.h:27
EventMap::ExecuteEvent
uint32 ExecuteEvent()
Definition:
EventMap.cpp:73
EventMap::Update
void Update(uint32 time)
Definition:
EventMap.h:56
EventMap::ScheduleEvent
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
Definition:
EventMap.cpp:36
EventMap::Reset
void Reset()
Definition:
EventMap.cpp:21
UnitAI::DoCastVictim
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
Definition:
UnitAI.cpp:180
Unit
Definition:
Unit.h:627
boss_moira_bronzebeard
Definition:
boss_moira_bronzebeard.cpp:41
boss_moira_bronzebeard::boss_moira_bronzebeard
boss_moira_bronzebeard()
Definition:
boss_moira_bronzebeard.cpp:43
boss_moira_bronzebeard::GetAI
CreatureAI * GetAI(Creature *creature) const override
Definition:
boss_moira_bronzebeard.cpp:95
ScriptedAI
Definition:
ScriptedCreature.h:134
boss_moira_bronzebeard::boss_moira_bronzebeardAI
Definition:
boss_moira_bronzebeard.cpp:46
boss_moira_bronzebeard::boss_moira_bronzebeardAI::UpdateAI
void UpdateAI(uint32 diff) override
Definition:
boss_moira_bronzebeard.cpp:62
boss_moira_bronzebeard::boss_moira_bronzebeardAI::JustEngagedWith
void JustEngagedWith(Unit *) override
Definition:
boss_moira_bronzebeard.cpp:54
boss_moira_bronzebeard::boss_moira_bronzebeardAI::_events
EventMap _events
Definition:
boss_moira_bronzebeard.cpp:92
boss_moira_bronzebeard::boss_moira_bronzebeardAI::Reset
void Reset() override
Definition:
boss_moira_bronzebeard.cpp:49
boss_moira_bronzebeard::boss_moira_bronzebeardAI::boss_moira_bronzebeardAI
boss_moira_bronzebeardAI(Creature *creature)
Definition:
boss_moira_bronzebeard.cpp:47
server
scripts
EasternKingdoms
BlackrockMountain
BlackrockDepths
boss_moira_bronzebeard.cpp
Generated on Thu Mar 14 2024 23:39:26 for TrinityCore by
1.9.4