Core/Handlers: Fixed changing equipment while charmed with equipament manager

Port From (https://github.com/TrinityCore/TrinityCore/commit/6210fc10ae28a06a92e7d4796b66115eb1fe028e)
This commit is contained in:
hondacrx
2020-09-03 11:52:57 -04:00
parent 5c99f6faf3
commit cbd3904e02
+6
View File
@@ -1557,6 +1557,9 @@ namespace Game
InventoryResult inventoryResult = GetPlayer().CanStoreItem(ItemConst.NullBag, ItemConst.NullSlot, itemPosCount, uItem, false); InventoryResult inventoryResult = GetPlayer().CanStoreItem(ItemConst.NullBag, ItemConst.NullSlot, itemPosCount, uItem, false);
if (inventoryResult == InventoryResult.Ok) if (inventoryResult == InventoryResult.Ok)
{ {
if (_player.CanEquipItem(ItemConst.NullSlot, out dstPos, uItem, false) != InventoryResult.Ok)
continue;
GetPlayer().RemoveItem(InventorySlots.Bag0, i, true); GetPlayer().RemoveItem(InventorySlots.Bag0, i, true);
GetPlayer().StoreItem(itemPosCount, uItem, true); GetPlayer().StoreItem(itemPosCount, uItem, true);
} }
@@ -1569,6 +1572,9 @@ namespace Game
if (item.GetPos() == dstPos) if (item.GetPos() == dstPos)
continue; continue;
if (_player.CanUnequipItem(dstPos, true) != InventoryResult.Ok)
continue;
GetPlayer().SwapItem(item.GetPos(), dstPos); GetPlayer().SwapItem(item.GetPos(), dstPos);
} }