From b1160e97851da31d116f20db13a6e5592858dab5 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Sat, 1 Nov 2025 15:37:38 -0500 Subject: [PATCH] fix(Scripts/HoS) Various issues with Krystallus (#23414) Co-authored-by: John Doe Co-authored-by: blinkysc --- .../updates/pending_db_world/rev_1761913259955630155.sql | 6 ++++++ .../Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1761913259955630155.sql diff --git a/data/sql/updates/pending_db_world/rev_1761913259955630155.sql b/data/sql/updates/pending_db_world/rev_1761913259955630155.sql new file mode 100644 index 000000000..223e926d7 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1761913259955630155.sql @@ -0,0 +1,6 @@ +-- Stomp +DELETE FROM `spelldifficulty_dbc` WHERE `ID` = 50868; +INSERT INTO `spelldifficulty_dbc` (`ID`, `DifficultySpellID_1`, `DifficultySpellID_2`, `DifficultySpellID_3`, `DifficultySpellID_4`) VALUES (50868, 50868, 59744, 0, 0); +-- Ground Spike : Heroic only +DELETE FROM `spelldifficulty_dbc` WHERE `ID` = 59750; +INSERT INTO `spelldifficulty_dbc` (`ID`, `DifficultySpellID_1`, `DifficultySpellID_2`, `DifficultySpellID_3`, `DifficultySpellID_4`) VALUES (59750, 59750, 59750, 0, 0); diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp index 5179525f4..f2a76412c 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp @@ -120,15 +120,13 @@ public: { case EVENT_BOULDER: { - if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0)) - me->CastSpell(target, SPELL_BOULDER_TOSS, false); - + DoCastRandomTarget(SPELL_BOULDER_TOSS, 0, 50.0f); events.Repeat(5s, 7s); break; } case EVENT_GROUND_SPIKE: { - me->CastSpell(me->GetVictim(), SPELL_GROUND_SPIKE, false); // current enemy target + DoCastRandomTarget(SPELL_GROUND_SPIKE, 0, 50.0f); events.Repeat(8s, 11s); break; } @@ -142,6 +140,8 @@ public: { events.Repeat(10s, 13s); me->CastSpell(me->GetVictim(), SPELL_GROUND_SLAM, true); + me->SetReactState(REACT_PASSIVE); + me->AttackStop(); events.DelayEvents(10s); events.RescheduleEvent(EVENT_SHATTER, 8s); break; @@ -151,6 +151,7 @@ public: me->CastSpell((Unit*)nullptr, SPELL_SHATTER, false); Talk(SAY_SHATTER); events.RescheduleEvent(EVENT_REMOVE_STONED, 1500ms); + me->SetReactState(REACT_AGGRESSIVE); break; } case EVENT_REMOVE_STONED: