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
@@ -17,6 +17,7 @@
#include "CreatureScript.h" #include "CreatureScript.h"
#include "ScriptedCreature.h" #include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "gundrak.h" #include "gundrak.h"
enum Spells 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 void Reset() override
{ {
BossAI::Reset(); BossAI::Reset();
@@ -81,8 +91,8 @@ public:
BossAI::JustEngagedWith(who); BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_ECK_BERSERK, 60s, 90s); events.ScheduleEvent(EVENT_ECK_BERSERK, 60s, 90s);
events.ScheduleEvent(EVENT_ECK_BITE, 5s); events.ScheduleEvent(EVENT_ECK_BITE, 5s);
events.ScheduleEvent(EVENT_ECK_SPIT, 10s); events.ScheduleEvent(EVENT_ECK_SPIT, 10s, 37s);
events.ScheduleEvent(EVENT_ECK_SPRING, 8s); events.ScheduleEvent(EVENT_ECK_SPRING, 10s, 24s);
} }
void JustDied(Unit* killer) override void JustDied(Unit* killer) override
@@ -120,17 +130,14 @@ public:
break; break;
case EVENT_ECK_SPIT: case EVENT_ECK_SPIT:
me->CastSpell(me->GetVictim(), SPELL_ECK_SPIT, false); me->CastSpell(me->GetVictim(), SPELL_ECK_SPIT, false);
events.ScheduleEvent(EVENT_ECK_SPIT, 10s); events.ScheduleEvent(EVENT_ECK_SPIT, 11s, 24s);
break; break;
case EVENT_ECK_SPRING: case EVENT_ECK_SPRING:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true, false)) 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); me->CastSpell(target, SPELL_ECK_SPRING, false);
} }
events.ScheduleEvent(EVENT_ECK_SPRING, 10s, 24s);
events.ScheduleEvent(EVENT_ECK_SPRING, 5s, 10s);
break; break;
} }