diff --git a/src/game/Player.cpp b/src/game/Player.cpp index ab75294a0..d4e246eb4 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -7579,7 +7579,7 @@ void Player::ApplyItemOnStoreSpell(Item *item, bool apply) } } -void Player::DestroyItemWithOnStoreSpell(Item* item) +void Player::DestroyItemWithOnStoreSpell(Item* item, uint32 spellId) { if (!item) return; @@ -7592,8 +7592,7 @@ void Player::DestroyItemWithOnStoreSpell(Item* item) { _Spell const& spellData = proto->Spells[i]; - // no spell - if (!spellData.SpellId) + if (spellData.SpellId != spellId) continue; // apply/unapply only at-store spells diff --git a/src/game/Player.h b/src/game/Player.h index 94b85a490..fa8901b65 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -1992,7 +1992,7 @@ class MANGOS_DLL_SPEC Player : public Unit void CastItemUseSpell(Item *item,SpellCastTargets const& targets,uint8 cast_count, uint32 glyphIndex); void ApplyItemOnStoreSpell(Item *item, bool apply); - void DestroyItemWithOnStoreSpell(Item* item); + void DestroyItemWithOnStoreSpell(Item* item, uint32 spellId); void SendEquipmentSetList(); void SetEquipmentSet(uint32 index, EquipmentSet eqset); diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 0da3f3eb8..07e98cb64 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -8642,7 +8642,7 @@ void SpellAuraHolder::_RemoveSpellAuraHolder() if (m_target->GetTypeId() == TYPEID_PLAYER && m_removeMode != AURA_REMOVE_BY_DEFAULT && m_removeMode != AURA_REMOVE_BY_DELETE) if (ObjectGuid castItemGuid = GetCastItemGuid()) if (Item* castItem = ((Player*)m_target)->GetItemByGuid(castItemGuid)) - ((Player*)m_target)->DestroyItemWithOnStoreSpell(castItem); + ((Player*)m_target)->DestroyItemWithOnStoreSpell(castItem, GetId()); //passive auras do not get put in slots - said who? ;) // Note: but totem can be not accessible for aura target in time remove (to far for find in grid) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 530051039..b6182cfb1 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11796" + #define REVISION_NR "11797" #endif // __REVISION_NR_H__