Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
boss_highlord_omokk.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#include "ScriptMgr.h"
7#include "ScriptedCreature.h"
8#include "blackrock_spire.h"
9
11{
14};
15
21
23{
24public:
25 boss_highlord_omokk() : CreatureScript("boss_highlord_omokk") { }
26
28 {
29 return new boss_highlordomokkAI(creature);
30 }
31
33 {
35
37 {
38 _Reset();
39 }
40
41 void EnterCombat(Unit* /*who*/) OVERRIDE
42 {
44 events.ScheduleEvent(EVENT_FRENZY, 20000);
45 events.ScheduleEvent(EVENT_KNOCK_AWAY, 18000);
46 }
47
48 void JustDied(Unit* /*killer*/) OVERRIDE
49 {
50 _JustDied();
51 }
52
54 {
55 if (!UpdateVictim())
56 return;
57
58 events.Update(diff);
59
60 if (me->HasUnitState(UNIT_STATE_CASTING))
61 return;
62
63 while (uint32 eventId = events.ExecuteEvent())
64 {
65 switch (eventId)
66 {
67 case EVENT_FRENZY:
69 events.ScheduleEvent(EVENT_FRENZY, 60000);
70 break;
73 events.ScheduleEvent(EVENT_KNOCK_AWAY, 12000);
74 break;
75 default:
76 break;
77 }
78 }
80 }
81 };
82};
83
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
@ UNIT_STATE_CASTING
Definition Unit.h:527
@ DATA_HIGHLORD_OMOKK
@ SPELL_FRENZY
@ SPELL_KNOCK_AWAY
Definition boss_gyth.cpp:16
@ EVENT_KNOCK_AWAY
Definition boss_gyth.cpp:32
@ SPELL_KNOCK_AWAY
void AddSC_boss_highlordomokk()
@ EVENT_KNOCK_AWAY
EventMap events
BossAI(Creature *creature, uint32 bossId)
void _EnterCombat()
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
Creature * me
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================