From d157d4f60d5f94f21cad5a9ffb12b094a6dac9d4 Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 15 Jun 2026 01:03:46 -0300 Subject: [PATCH] fix(Scripts/Ulduar): Steelbreaker's Static Disruption should target a ranged player (#26200) Co-authored-by: Claude Opus 4.8 --- .../Ulduar/Ulduar/boss_assembly_of_iron.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp index ff6b7f782..e956b3108 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp @@ -316,11 +316,20 @@ struct boss_steelbreaker : public ScriptedAI events.Repeat(15s, 20s); break; case EVENT_STATIC_DISRUPTION: - if (Unit* pTarget = SelectTarget(SelectTargetMethod::MinDistance, 0, 0, true)) - me->CastSpell(pTarget, SPELL_STATIC_DISRUPTION, false); + { + // Prefer a random player out of melee range so the nature damage debuff + // (and its 5y splash) stays off the melee/tank cluster; if everyone is in + // melee, fall back to a random player regardless of range. + Unit* target = SelectTarget(SelectTargetMethod::Random, 0, -10.0f, true); + if (!target) + target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true); + + if (target) + me->CastSpell(target, SPELL_STATIC_DISRUPTION, false); events.Repeat(20s, 40s); break; + } case EVENT_OVERWHELMING_POWER: Talk(SAY_STEELBREAKER_POWER); me->CastSpell(me->GetVictim(), SPELL_OVERWHELMING_POWER, true);