From db760ee2ed09df6db15e918aaa5af698577df912 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Sun, 28 Aug 2022 01:14:46 +0200 Subject: [PATCH] =?UTF-8?q?fix(Core/Spells):=20Nature's=20Swiftness=20shou?= =?UTF-8?q?ld=20not=20be=20consumed=20by=20instan=E2=80=A6=20(#12816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ...t spells. --- src/server/game/Entities/Unit/Unit.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index da48a89ba..12e2fc904 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -16128,9 +16128,13 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u { if (SpellModifier* mod = triggeredByAura->GetSpellModifier()) { - if (mod->op == SPELLMOD_CASTING_TIME && procSpell && (procSpell->GetTriggeredCastFlags() & TRIGGERED_CAST_DIRECTLY) != 0) + if (mod->op == SPELLMOD_CASTING_TIME && mod->value < 0 && procSpell) { - break; + // Skip instant spells + if (procSpellInfo->CalcCastTime() <= 0 || (procSpell->GetTriggeredCastFlags() & TRIGGERED_CAST_DIRECTLY) != 0) + { + break; + } } } takeCharges = true;