diff options
-rw-r--r-- | src/server/scripts/Northrend/Gundrak/boss_eck.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp index 5a4dbcd2cb..ef11e32a6a 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp @@ -17,6 +17,7 @@ #include "CreatureScript.h" #include "ScriptedCreature.h" +#include "SpellInfo.h" #include "gundrak.h" enum Spells @@ -71,6 +72,15 @@ public: } } + void SpellHitTarget(Unit* target, SpellInfo const* spell) override + { + if (spell->Id == SPELL_ECK_SPRING) + { + me->GetThreatMgr().ResetAllThreat(); + me->AddThreat(target, 1.0f); + } + } + void Reset() override { BossAI::Reset(); @@ -81,8 +91,8 @@ public: BossAI::JustEngagedWith(who); events.ScheduleEvent(EVENT_ECK_BERSERK, 60s, 90s); events.ScheduleEvent(EVENT_ECK_BITE, 5s); - events.ScheduleEvent(EVENT_ECK_SPIT, 10s); - events.ScheduleEvent(EVENT_ECK_SPRING, 8s); + events.ScheduleEvent(EVENT_ECK_SPIT, 10s, 37s); + events.ScheduleEvent(EVENT_ECK_SPRING, 10s, 24s); } void JustDied(Unit* killer) override @@ -120,17 +130,14 @@ public: break; case EVENT_ECK_SPIT: me->CastSpell(me->GetVictim(), SPELL_ECK_SPIT, false); - events.ScheduleEvent(EVENT_ECK_SPIT, 10s); + events.ScheduleEvent(EVENT_ECK_SPIT, 11s, 24s); break; case EVENT_ECK_SPRING: if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true, false)) { - me->GetThreatMgr().ResetAllThreat(); - me->AddThreat(target, 500.0f); me->CastSpell(target, SPELL_ECK_SPRING, false); } - - events.ScheduleEvent(EVENT_ECK_SPRING, 5s, 10s); + events.ScheduleEvent(EVENT_ECK_SPRING, 10s, 24s); break; } |