From 077bd9f86976b84c000f73061eb2453d5ded4d65 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Thu, 5 Mar 2026 23:08:34 -0600 Subject: [PATCH] fix(Core/Scripts): Fix Seal of Command cleave for Crusader Strike and ShoR (#25002) --- src/server/scripts/Spells/spell_paladin.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 539d003b2..acff77524 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -190,10 +190,16 @@ class spell_pal_seal_of_command_aura : public AuraScript void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) { PreventDefaultAction(); - // Only auto-attacks (no spell info) should trigger SoC's cleave. - // Spells like HotR/ShoR should proc SoC but not cleave. + // All melee procs should cleave except Hammer of the Righteous. // Judgement cleave is handled separately via JotJ code path. - int32 targets = eventInfo.GetSpellInfo() ? 1 : 3; + int32 targets = 3; + if (SpellInfo const* procSpell = eventInfo.GetSpellInfo()) + { + // HotR: flag1 0x40000, DS: flag1 0x20000 + if (procSpell->SpellFamilyName == SPELLFAMILY_PALADIN && + (procSpell->SpellFamilyFlags[1] & 0x60000)) + targets = 1; + } Unit* target = eventInfo.GetActionTarget(); if (target->IsAlive())