Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
boss_rajaxx.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 "ObjectMgr.h"
7#include "ScriptMgr.h"
8#include "ScriptedCreature.h"
9#include "ruins_of_ahnqiraj.h"
10
12{
13 // The time of our retribution is at hand! Let darkness reign in the hearts of our enemies! Sound: 8645 Emote: 35
14 SAY_ANDOROV_INTRO = 0, // Before for the first wave
15 SAY_ANDOROV_ATTACK = 1, // Beginning the event
16
29 SAY_COMPLETE_QUEST = 12 // Yell when realm complete quest 8743 for world event
30 // Warriors, Captains, continue the fight! Sound: 8640
31};
32
34{
38};
39
41{
42 EVENT_DISARM = 1, // 03:58:27, 03:58:49
43 EVENT_THUNDERCRASH = 2, // 03:58:29, 03:58:50
45};
46
48{
49 public:
50 boss_rajaxx() : CreatureScript("boss_rajaxx") { }
51
52 struct boss_rajaxxAI : public BossAI
53 {
54 boss_rajaxxAI(Creature* creature) : BossAI(creature, DATA_RAJAXX)
55 {
56 }
57
59 {
60 _Reset();
61 enraged = false;
62 events.ScheduleEvent(EVENT_DISARM, 10000);
63 events.ScheduleEvent(EVENT_THUNDERCRASH, 12000);
64 }
65
66 void JustDied(Unit* /*killer*/) OVERRIDE
67 {
68 //SAY_DEATH
69 _JustDied();
70 }
71
72 void EnterCombat(Unit* /*victim*/) OVERRIDE
73 {
75 }
76
78 {
79 if (!UpdateVictim())
80 return;
81
82 events.Update(diff);
83
84 if (me->HasUnitState(UNIT_STATE_CASTING))
85 return;
86
87 while (uint32 eventId = events.ExecuteEvent())
88 {
89 switch (eventId)
90 {
91 case EVENT_DISARM:
93 events.ScheduleEvent(EVENT_DISARM, 22000);
94 break;
97 events.ScheduleEvent(EVENT_THUNDERCRASH, 21000);
98 break;
99 default:
100 break;
101 }
102 }
103
105 }
106 private:
108 };
109
111 {
112 return new boss_rajaxxAI(creature);
113 }
114};
115
117{
118 new boss_rajaxx();
119}
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
@ UNIT_STATE_CASTING
Definition Unit.h:527
@ SAY_INTRO
#define SAY_DEATH
@ SPELL_FRENZY
@ SPELL_DISARM
@ SAY_UNK3
@ SAY_UNK1
@ SAY_WAVE3
@ SAY_WAVE6
@ SAY_WAVE5
@ SAY_ANDOROV_ATTACK
@ SAY_KILLS_ANDOROV
@ SAY_ANDOROV_INTRO
@ SAY_UNK2
@ SAY_CHANGEAGGRO
@ SAY_COMPLETE_QUEST
@ SAY_WAVE4
@ SAY_WAVE7
@ SPELL_THUNDERCRASH
@ SPELL_DISARM
void AddSC_boss_rajaxx()
@ EVENT_DISARM
@ EVENT_THUNDERCRASH
@ EVENT_CHANGE_AGGRO
EventMap events
BossAI(Creature *creature, uint32 bossId)
void _EnterCombat()
bool UpdateVictim()
CreatureScript(const char *name)
void DoMeleeAttackIfReady()
Definition UnitAI.cpp:28
void DoCast(uint32 spellId)
Definition UnitAI.cpp:110
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition UnitAI.cpp:168
Definition Unit.h:1367
CreatureAI * GetAI(Creature *creature) const OVERRIDE
@ DATA_RAJAXX
Creature * me
boss_rajaxxAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void JustDied(Unit *) OVERRIDE
void EnterCombat(Unit *) OVERRIDE