fix(Script/Gundrak): Eck spring now resets threat after cast and Spit/Spring Timings (#23124)

This commit is contained in:
blinkysc
2025-10-05 12:51:21 -05:00
committed by GitHub
parent 0767b2edf5
commit 4572003eb1

View File

@@ -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;
}