diff options
author | xinef1 <w.szyszko2@gmail.com> | 2016-12-30 20:38:54 +0100 |
---|---|---|
committer | DoctorKraft <DoctorKraft@users.noreply.github.com> | 2018-03-18 00:19:46 +0100 |
commit | 15b22590beb99fd1ac7f06564d5aa37a29ab127c (patch) | |
tree | 3a41f38abab2f888f580d1884c21c8d3171bca58 /src/server/game/Handlers/ItemHandler.cpp | |
parent | 9fe172d7d510116892e2ef4cbd6ea4bf88ac4674 (diff) |
Core/Items: Fixed problem where item dependent auras are not properly updated (#18592)
- Introduced in 7e83d7e22a82104e53f872758fc7fe835472782c
Closes #18506
(cherry picked from commit 90a330c910804f9cb770681ff646a2362c8c0efa)
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ItemHandler.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index 1b1910abdc5..50ff418d108 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -303,6 +303,11 @@ void WorldSession::HandleAutoEquipItemOpcode(WorldPackets::Item::AutoEquipItem& } _player->AutoUnequipOffhandIfNeed(); + + // if inventory item was moved, check if we can remove dependent auras, because they were not removed in Player::RemoveItem (update was set to false) + // do this after swaps are done, we pass nullptr because both weapons could be swapped and none of them should be ignored + if ((autoEquipItem.PackSlot == INVENTORY_SLOT_BAG_0 && autoEquipItem.Slot < INVENTORY_SLOT_BAG_END) || (dstbag == INVENTORY_SLOT_BAG_0 && dstslot < INVENTORY_SLOT_BAG_END)) + _player->ApplyItemDependentAuras((Item*)nullptr, false); } } |