From 9ecb93f34d7ff05feea9ea09faaba1af73a40d0d 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 --- 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 a819a800632..904798d982b 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -5349,8 +5349,8 @@ void Spell::TakeCastItem() int32 charges = m_CastItem->GetSpellCharges(itemEffect->LegacySlotIndex); - // item has charges left - if (charges) + // item has charges left for this slot + if (charges && itemEffect->SpellID == int32(m_spellInfo->Id)) { (charges > 0) ? --charges : ++charges; // abs(charges) less at 1 after use if (proto->GetMaxStackSize() == 1) -- cgit v1.2.3