Core/Handlers: Fixed changing equipment while charmed with equipament manager
Port From (https://github.com/TrinityCore/TrinityCore/commit/6210fc10ae28a06a92e7d4796b66115eb1fe028e)
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user