From 3fb46dd4ae36a0a64a15b6efa67cbf1e496e22b9 Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Mon, 23 Feb 2026 18:52:27 -0600 Subject: [PATCH] fix(Core/Spells): Fix Cut to the Chase S&D duration (#24841) Co-authored-by: blinkysc --- src/server/scripts/Spells/spell_rogue.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp index 72aeb1270..b0ffb02a6 100644 --- a/src/server/scripts/Spells/spell_rogue.cpp +++ b/src/server/scripts/Spells/spell_rogue.cpp @@ -844,19 +844,22 @@ class spell_rog_cut_to_the_chase : public AuraScript { PrepareAuraScript(spell_rog_cut_to_the_chase); - void HandleProc(ProcEventInfo& /*eventInfo*/) + void HandleProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo) { PreventDefaultAction(); - // Refresh Slice and Dice to 5 combo point max duration - if (AuraEffect const* snDEffect = GetTarget()->GetAuraEffect(SPELL_AURA_MOD_MELEE_HASTE, SPELLFAMILY_ROGUE, 0x40000, 0, 0)) + // Refresh Slice and Dice to its 5 combo point maximum duration + Unit* caster = eventInfo.GetActor(); + if (AuraEffect const* snd = caster->GetAuraEffect(SPELL_AURA_MOD_MELEE_HASTE, SPELLFAMILY_ROGUE, 0x40000, 0, 0, caster->GetGUID())) { - snDEffect->GetBase()->SetDuration(snDEffect->GetSpellInfo()->GetMaxDuration(), true); + int32 maxDuration = snd->GetSpellInfo()->GetMaxDuration(); + snd->GetBase()->SetDuration(maxDuration, true); + snd->GetBase()->SetMaxDuration(snd->GetBase()->GetDuration()); } } void Register() override { - OnProc += AuraProcFn(spell_rog_cut_to_the_chase::HandleProc); + OnEffectProc += AuraEffectProcFn(spell_rog_cut_to_the_chase::HandleProc, EFFECT_0, SPELL_AURA_DUMMY); } };