From 53689df7fa31075cfe0ea1dd9ab5e1fa6ea89f27 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Sat, 24 Sep 2022 13:53:55 -0400 Subject: [PATCH] Core/Items: Added correct context and bonus calculation for character loadout items Port From (https://github.com/TrinityCore/TrinityCore/commit/b4d2166f0c7a61f5a9b159da80e478c5ae7aaa16) --- Source/Game/Entities/Player/Player.Items.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Source/Game/Entities/Player/Player.Items.cs b/Source/Game/Entities/Player/Player.Items.cs index 9dca857b9..5334aeae6 100644 --- a/Source/Game/Entities/Player/Player.Items.cs +++ b/Source/Game/Entities/Player/Player.Items.cs @@ -1222,6 +1222,10 @@ namespace Game.Entities bool StoreNewItemInBestSlots(uint titem_id, uint titem_amount) { Log.outDebug(LogFilter.Player, "STORAGE: Creating initial item, itemId = {0}, count = {1}", titem_id, titem_amount); + + ItemContext itemContext = ItemContext.NewCharacter; + var bonusListIDs = Global.DB2Mgr.GetDefaultItemBonusTree(titem_id, itemContext); + InventoryResult msg; // attempt equip by one while (titem_amount > 0) @@ -1230,7 +1234,8 @@ namespace Game.Entities if (msg != InventoryResult.Ok) break; - EquipNewItem(eDest, titem_id, ItemContext.None, true); + Item item = EquipNewItem(eDest, titem_id, itemContext, true); + item.SetBonuses(bonusListIDs); AutoUnequipOffhandIfNeed(); titem_amount--; } @@ -1244,7 +1249,7 @@ namespace Game.Entities msg = CanStoreNewItem(InventorySlots.Bag0, ItemConst.NullSlot, sDest, titem_id, titem_amount); if (msg == InventoryResult.Ok) { - StoreNewItem(sDest, titem_id, true, ItemEnchantmentManager.GenerateItemRandomBonusListId(titem_id)); + StoreNewItem(sDest, titem_id, true, ItemEnchantmentManager.GenerateItemRandomBonusListId(titem_id), null, itemContext, bonusListIDs); return true; // stored }