From 283f03bdcdbfdbe876a9d6daaee207714726b8cd Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sun, 9 Nov 2025 19:06:47 -0300 Subject: [PATCH] fix(Scripts/HoL): Killing Volkhan should despawn all Slags (#23581) --- .../Ulduar/HallsOfLightning/boss_volkhan.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp index 7e7e800b9a..f19dba6995 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp @@ -41,6 +41,7 @@ enum VolkhanOther NPC_VOLKHAN_ANVIL = 28823, NPC_MOLTEN_GOLEM = 28695, NPC_BRITTLE_GOLEM = 28681, + NPC_SLAG = 28585, // Misc ACTION_SHATTER = 1, @@ -77,7 +78,7 @@ enum Yells struct boss_volkhan : public BossAI { - boss_volkhan(Creature* creature) : BossAI(creature, DATA_VOLKHAN), summons(creature) { } + boss_volkhan(Creature* creature) : BossAI(creature, DATA_VOLKHAN) { } void Reset() override { @@ -104,6 +105,18 @@ struct boss_volkhan : public BossAI { _JustDied(); Talk(SAY_DEATH); + + std::list slags; + GetCreatureListWithEntryInGrid(slags, me, NPC_SLAG, 100.0f); + + if (!slags.empty()) + { + for (Creature* slag : slags) + { + if (slag) + slag->DespawnOrUnsummon(); + } + } } void GetNextPos() @@ -286,8 +299,6 @@ struct boss_volkhan : public BossAI } private: - EventMap events; - SummonList summons; float x, y, z; uint8 PointID; uint8 ShatteredCount;