diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp index e7cde7386..24e0d42a8 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp @@ -273,6 +273,7 @@ public: void Reset() override { events.Reset(); + _nazanCalled = false; } void EnterEvadeMode(EvadeReason /*why*/) override @@ -296,9 +297,17 @@ public: } } + void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*type*/, SpellSchoolMask /*school*/) override + { + if (!_nazanCalled && me->HealthBelowPctDamaged(35, damage)) + { + _nazanCalled = true; + me->CastSpell(me, SPELL_CALL_NAZAN, true); + } + } + void JustDied(Unit*) override { - me->CastSpell(me, SPELL_CALL_NAZAN, true); Talk(SAY_DIE); } @@ -324,6 +333,7 @@ public: private: EventMap events; + bool _nazanCalled; }; CreatureAI* GetAI(Creature* creature) const override