From 75cbafd83afe6ef5a2e36f4a858dd3e83bda0483 Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 26 Feb 2024 14:39:16 +0100 Subject: Core/Spells: Don't modify item charges in all slots on a single item spell cast (cherry picked from commit 9ecb93f34d7ff05feea9ea09faaba1af73a40d0d) --- src/server/game/Spells/Spell.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index d3937ff3147..13731b2679a 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4695,8 +4695,8 @@ void Spell::TakeCastItem() int32 charges = m_CastItem->GetSpellCharges(i); - // item has charges left - if (charges) + // item has charges left for this slot + if (charges && proto->Spells[i].SpellId == int32(m_spellInfo->Id)) { (charges > 0) ? --charges : ++charges; // abs(charges) less at 1 after use if (proto->Stackable == 1) -- cgit v1.2.3