@@ -74,13 +74,14 @@ enum DathrohanMisc
7474};
7575
7676// 10812 - Grand Crusader Dathrohan
77- struct boss_dathrohan_balnazzar : public ScriptedAI
77+ struct boss_dathrohan_balnazzar : public BossAI
7878{
79- boss_dathrohan_balnazzar (Creature* creature) : ScriptedAI (creature), _transformed(false ) { }
79+ boss_dathrohan_balnazzar (Creature* creature) : BossAI (creature, BOSS_BALNAZZAR ), _transformed(false ) { }
8080
8181 void Reset () override
8282 {
83- _events.Reset ();
83+ BossAI::Reset ();
84+
8485 _transformed = false ;
8586
8687 if (me->GetEntry () == NPC_BALNAZZAR)
@@ -89,27 +90,31 @@ struct boss_dathrohan_balnazzar : public ScriptedAI
8990 SetEquipmentSlots (true );
9091 }
9192
92- void JustEngagedWith (Unit* /* who*/ ) override
93+ void JustEngagedWith (Unit* who) override
9394 {
95+ BossAI::JustEngagedWith (who);
96+
9497 Talk (SAY_AGGRO);
9598
96- _events .ScheduleEvent (EVENT_CRUSADERS_HAMMER, 15s, 25s);
97- _events .ScheduleEvent (EVENT_CRUSADER_STRIKE, 5s, 10s);
98- _events .ScheduleEvent (EVENT_HOLY_STRIKE, 10s, 20s);
99- _events .ScheduleEvent (EVENT_MIND_BLAST, 5s, 15s);
99+ events .ScheduleEvent (EVENT_CRUSADERS_HAMMER, 15s, 25s);
100+ events .ScheduleEvent (EVENT_CRUSADER_STRIKE, 5s, 10s);
101+ events .ScheduleEvent (EVENT_HOLY_STRIKE, 10s, 20s);
102+ events .ScheduleEvent (EVENT_MIND_BLAST, 5s, 15s);
100103 }
101104
102105 void DamageTaken (Unit* /* attacker*/ , uint32& damage, DamageEffectType /* damageType*/ , SpellInfo const * /* spellInfo = nullptr*/ ) override
103106 {
104107 if (!_transformed && me->HealthBelowPctDamaged (40 , damage))
105108 {
106109 _transformed = true ;
107- _events .ScheduleEvent (EVENT_TRANSFORM_1, 0s);
110+ events .ScheduleEvent (EVENT_TRANSFORM_1, 0s);
108111 }
109112 }
110113
111- void JustDied (Unit* /* killer*/ ) override
114+ void JustDied (Unit* killer) override
112115 {
116+ BossAI::JustDied (killer);
117+
113118 Talk (SAY_DEATH);
114119 me->SummonCreatureGroup (SUMMON_GROUP_DEATH);
115120 }
@@ -119,78 +124,78 @@ struct boss_dathrohan_balnazzar : public ScriptedAI
119124 if (!UpdateVictim ())
120125 return ;
121126
122- _events .Update (diff);
127+ events .Update (diff);
123128
124129 if (me->HasUnitState (UNIT_STATE_CASTING))
125130 return ;
126131
127- while (uint32 eventId = _events .ExecuteEvent ())
132+ while (uint32 eventId = events .ExecuteEvent ())
128133 {
129134 switch (eventId)
130135 {
131136 case EVENT_CRUSADERS_HAMMER:
132137 DoCastSelf (SPELL_CRUSADERS_HAMMER);
133- _events .Repeat (20s, 30s);
138+ events .Repeat (20s, 30s);
134139 break ;
135140 case EVENT_CRUSADER_STRIKE:
136141 DoCastVictim (SPELL_CRUSADER_STRIKE);
137- _events .Repeat (10s, 20s);
142+ events .Repeat (10s, 20s);
138143 break ;
139144 case EVENT_HOLY_STRIKE:
140145 DoCastVictim (SPELL_HOLY_STRIKE);
141- _events .Repeat (10s, 15s);
146+ events .Repeat (10s, 15s);
142147 break ;
143148
144149 case EVENT_MIND_BLAST:
145150 DoCastVictim (SPELL_MIND_BLAST);
146- _events .Repeat (10s, 15s);
151+ events .Repeat (10s, 15s);
147152 break ;
148153
149154 case EVENT_SHADOW_SHOCK:
150155 DoCastSelf (SPELL_SHADOW_SHOCK);
151- _events .Repeat (10s, 15s);
156+ events .Repeat (10s, 15s);
152157 break ;
153158 case EVENT_PSYCHIC_SCREAM:
154159 DoCastSelf (SPELL_PSYCHIC_SCREAM);
155- _events .Repeat (20s, 30s);
160+ events .Repeat (20s, 30s);
156161 break ;
157162 case EVENT_SLEEP:
158163 if (Unit* target = SelectTarget (SelectTargetMethod::Random, 0 ))
159164 DoCast (target, SPELL_SLEEP);
160- _events .Repeat (15s, 20s);
165+ events .Repeat (15s, 20s);
161166 break ;
162167 case EVENT_DOMINATION:
163168 if (Unit* target = SelectTarget (SelectTargetMethod::Random, 1 ))
164169 DoCast (target, SPELL_DOMINATION);
165- _events .Repeat (20s, 25s);
170+ events .Repeat (20s, 25s);
166171 break ;
167172
168173 case EVENT_TRANSFORM_1:
169- _events .CancelEvent (EVENT_CRUSADERS_HAMMER);
170- _events .CancelEvent (EVENT_CRUSADER_STRIKE);
171- _events .CancelEvent (EVENT_HOLY_STRIKE);
172- _events .CancelEvent (EVENT_MIND_BLAST);
174+ events .CancelEvent (EVENT_CRUSADERS_HAMMER);
175+ events .CancelEvent (EVENT_CRUSADER_STRIKE);
176+ events .CancelEvent (EVENT_HOLY_STRIKE);
177+ events .CancelEvent (EVENT_MIND_BLAST);
173178 DoCastSelf (SPELL_BALNAZZAR_TRANSFORM);
174179 me->SetReactState (REACT_PASSIVE);
175- _events .ScheduleEvent (EVENT_TRANSFORM_2, 2s);
180+ events .ScheduleEvent (EVENT_TRANSFORM_2, 2s);
176181 break ;
177182 case EVENT_TRANSFORM_2:
178183 me->UpdateEntry (NPC_BALNAZZAR);
179184 me->SetReactState (REACT_PASSIVE);
180185 SetEquipmentSlots (false , EQUIP_UNEQUIP);
181- _events .ScheduleEvent (EVENT_TRANSFORM_3, 2s);
186+ events .ScheduleEvent (EVENT_TRANSFORM_3, 2s);
182187 break ;
183188 case EVENT_TRANSFORM_3:
184189 Talk (SAY_TRANSFORM);
185- _events .ScheduleEvent (EVENT_TRANSFORM_4, 4s);
190+ events .ScheduleEvent (EVENT_TRANSFORM_4, 4s);
186191 break ;
187192 case EVENT_TRANSFORM_4:
188193 me->SetReactState (REACT_AGGRESSIVE);
189- _events .ScheduleEvent (EVENT_MIND_BLAST, 5s, 15s);
190- _events .ScheduleEvent (EVENT_SHADOW_SHOCK, 10s, 15s);
191- _events .ScheduleEvent (EVENT_PSYCHIC_SCREAM, 15s, 25s);
192- _events .ScheduleEvent (EVENT_SLEEP, 5s, 15s);
193- _events .ScheduleEvent (EVENT_DOMINATION, 15s, 25s);
194+ events .ScheduleEvent (EVENT_MIND_BLAST, 5s, 15s);
195+ events .ScheduleEvent (EVENT_SHADOW_SHOCK, 10s, 15s);
196+ events .ScheduleEvent (EVENT_PSYCHIC_SCREAM, 15s, 25s);
197+ events .ScheduleEvent (EVENT_SLEEP, 5s, 15s);
198+ events .ScheduleEvent (EVENT_DOMINATION, 15s, 25s);
194199 break ;
195200 default :
196201 break ;
@@ -205,7 +210,6 @@ struct boss_dathrohan_balnazzar : public ScriptedAI
205210
206211private:
207212 bool _transformed;
208- EventMap _events;
209213};
210214
211215void AddSC_boss_dathrohan_balnazzar ()
0 commit comments