Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
boss_lord_overheat.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
7SDName: Boss_Lord_Overheat
8SD%Complete: 90
9SDComment:
10SDCategory: The Stockades
11EndScriptData */
12
13#include "ScriptMgr.h"
14#include "ScriptedCreature.h"
16
17
18enum Says
19{
22};
23
25{
29};
36
38{
39public:
40 boss_lord_overheat() : CreatureScript("boss_lord_overheat") { }
41
43 {
45
47 {
49 events.ScheduleEvent(EVENT_FIREBALL, 1000);
50 events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 15000);
51 events.ScheduleEvent(EVENT_OVERHEAT, 5000);
52 }
53
55 {
57 BossAI::EnterCombat(victim);
58 }
59
60 void JustDied(Unit* /*killer*/) OVERRIDE
61 {
63 _JustDied();
64 instance->SetBossState(DATA_LORD_OVERHEAT, DONE);
65 }
66
72
74 {
75 if (!UpdateVictim())
76 return;
77
78 events.Update(diff);
79
80 while (uint32 eventId = events.ExecuteEvent())
81 {
82 switch (eventId)
83 {
84 case EVENT_FIREBALL:
85 {
87 events.ScheduleEvent(EVENT_FIREBALL, 4000);
88 break;
89 }
91 {
93 events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 15000);
94 break;
95 }
96 case EVENT_OVERHEAT:
97 {
99 events.ScheduleEvent(EVENT_OVERHEAT, 10000);
100 break;
101 }
102 default:
103 break;
104 }
105 }
107 };
108 };
110 {
112 }
113};
114
116{
117 new boss_lord_overheat();
118};
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
@ FAIL
@ DONE
@ SPELL_FIREBALL
#define SAY_DEATH
#define SAY_AGGRO
@ SPELL_RAIN_OF_FIRE
@ EVENT_RAIN_OF_FIRE
@ SPELL_OVERHEAT
@ SPELL_RAIN_OF_FIRE
@ SPELL_FIREBALL
void AddSC_boss_lord_overheat()
@ EVENT_FIREBALL
@ EVENT_RAIN_OF_FIRE
@ EVENT_OVERHEAT
@ EVENT_FIREBALL
InstanceScript *const instance
void JustReachedHome() OVERRIDE
EventMap events
void Reset() OVERRIDE
BossAI(Creature *creature, uint32 bossId)
void EnterCombat(Unit *) OVERRIDE
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
bool UpdateVictim()
CreatureScript(const char *name)
void DoMeleeAttackIfReady()
Definition UnitAI.cpp:28
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition UnitAI.cpp:168
Definition Unit.h:1367
CreatureAI * GetAI(Creature *creature) const OVERRIDE
AI * GetTheStockadeAI(Creature *creature)
@ DATA_LORD_OVERHEAT
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================