From 60ebf457f47f2f3a0d753b1f03a7121472948e1f Mon Sep 17 00:00:00 2001 From: bananarama92 <bananarama921@outlook.com> Date: Fri, 28 Mar 2025 17:18:56 +0100 Subject: [PATCH 1/2] BUG: Fix `InventoryWear()` ignoring explicitly passed colors in favor of `Craft.Color` --- BondageClub/Scripts/Inventory.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/BondageClub/Scripts/Inventory.js b/BondageClub/Scripts/Inventory.js index 78235649ba..1ef3c7ad77 100644 --- a/BondageClub/Scripts/Inventory.js +++ b/BondageClub/Scripts/Inventory.js @@ -820,10 +820,16 @@ function InventoryWear(C, AssetName, AssetGroup, ItemColor, Difficulty, MemberNu if (A.ExpressionTrigger != null) { InventoryExpressionTriggerApply(C, A.ExpressionTrigger); } + if (Craft) { + // Restore the item color if it has been explicitly passed; keep using the `Craft.Color`-assigned color otherwise const C_Source = Character.find(c => c.MemberNumber === MemberNumber) ?? null; InventoryCraft(C_Source, C, /** @type {AssetGroupItemName} */(AssetGroup), Craft, false); + if (ItemColor != null) { + item.Color = color; + } } + if (Refresh) { CharacterRefresh(C, true); } From b19d0746c414efd9d01245e8b94c5141db2b8ac3 Mon Sep 17 00:00:00 2001 From: bananarama92 <bananarama921@outlook.com> Date: Fri, 28 Mar 2025 17:20:10 +0100 Subject: [PATCH 2/2] BUG: Fix `InventoryCraft()` failing to apply certain item properties for non-extended items --- BondageClub/Scripts/Inventory.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BondageClub/Scripts/Inventory.js b/BondageClub/Scripts/Inventory.js index 1ef3c7ad77..5c945456e0 100644 --- a/BondageClub/Scripts/Inventory.js +++ b/BondageClub/Scripts/Inventory.js @@ -715,6 +715,8 @@ function InventoryCraft(Source, Target, GroupName, Craft, Refresh, PreConfigureI Target, Item, Craft.TypeRecord, { push: false, refresh: false, C_Source: Source, properties: Craft.ItemProperty }, ); + } else { + Object.assign(Item.Property, Craft.ItemProperty ?? {}); } // Applies a lock to the item