From 47622b287596c6680a470117df3ccab7434e8436 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Fri, 28 Nov 2025 23:57:08 -0600 Subject: [PATCH] fix(Scripts/Gundrak): Eck the Ferocious wrong enrage timing (#23929) --- .../rev_1764224411866335544.sql | 4 ++++ .../scripts/Northrend/Gundrak/boss_eck.cpp | 17 ++++++----------- 2 files changed, 10 insertions(+), 11 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1764224411866335544.sql diff --git a/data/sql/updates/pending_db_world/rev_1764224411866335544.sql b/data/sql/updates/pending_db_world/rev_1764224411866335544.sql new file mode 100644 index 0000000000..cee78d2912 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1764224411866335544.sql @@ -0,0 +1,4 @@ +-- Add creature_text for Eck the Ferocious "grows increasingly crazed" emote +DELETE FROM `creature_text` WHERE `CreatureID` = 29932 AND `GroupID` = 1; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) +VALUES (29932, 1, 0, '%s grows increasingly crazed!', 16, 0, 100, 0, 0, 0, 30727, 0, 'Eck the Ferocious - Crazed Warning'); diff --git a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp index 9e7a6bbc97..12f84b71f1 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_eck.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_eck.cpp @@ -36,7 +36,8 @@ enum Misc EVENT_ECK_BITE = 2, EVENT_ECK_SPIT = 3, EVENT_ECK_SPRING = 4, - EVENT_ECK_HEALTH = 5 + EVENT_ECK_CRAZED_EMOTE = 5, + EMOTE_CRAZED = 1 }; class boss_eck : public CreatureScript @@ -89,7 +90,8 @@ public: void JustEngagedWith(Unit* who) override { BossAI::JustEngagedWith(who); - events.ScheduleEvent(EVENT_ECK_BERSERK, 60s, 90s); + events.ScheduleEvent(EVENT_ECK_CRAZED_EMOTE, 76s, 78s); + events.ScheduleEvent(EVENT_ECK_BERSERK, 90s); events.ScheduleEvent(EVENT_ECK_BITE, 5s); events.ScheduleEvent(EVENT_ECK_SPIT, 10s, 37s); events.ScheduleEvent(EVENT_ECK_SPRING, 10s, 24s); @@ -111,18 +113,11 @@ public: switch (events.ExecuteEvent()) { - case EVENT_ECK_HEALTH: - if (me->HealthBelowPct(21)) - { - events.CancelEvent(EVENT_ECK_BERSERK); - me->CastSpell(me, SPELL_ECK_BERSERK, false); - break; - } - events.ScheduleEvent(EVENT_ECK_HEALTH, 1s); + case EVENT_ECK_CRAZED_EMOTE: + Talk(EMOTE_CRAZED); break; case EVENT_ECK_BERSERK: me->CastSpell(me, SPELL_ECK_BERSERK, false); - events.CancelEvent(EVENT_ECK_HEALTH); break; case EVENT_ECK_BITE: me->CastSpell(me->GetVictim(), SPELL_ECK_BITE, false);