From 69c214bec59e3fe636e15abc680adb793501dbcf Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Thu, 10 Jun 2021 15:19:15 +0200 Subject: [PATCH] fix(Core/Spells): Spells and auras activated by item use should not be removed on unequip. (#6255) - Closes #5124 - Closes chromiecraft/chromiecraft#327 --- src/server/game/Entities/Player/Player.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 019248d12..09f2fbedf 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -8618,8 +8618,21 @@ void Player::ApplyItemEquipSpell(Item* item, bool apply, bool form_change) continue; // wrong triggering type - if ((apply || form_change) && spellData.SpellTrigger != ITEM_SPELLTRIGGER_ON_EQUIP) - continue; + if (apply) + { + if (spellData.SpellTrigger != ITEM_SPELLTRIGGER_ON_EQUIP) + { + continue; + } + } + else + { + // Auras activated by use should not be removed on unequip + if (spellData.SpellTrigger == ITEM_SPELLTRIGGER_ON_USE) + { + continue; + } + } // check if it is valid spell SpellInfo const* spellproto = sSpellMgr->GetSpellInfo(spellData.SpellId);