From 7d38e7f27524c27b01f1b5ec42229ef9492ddd1e Mon Sep 17 00:00:00 2001 From: Gene Date: Fri, 6 Jun 2025 11:36:23 -0700 Subject: [PATCH] Fix leather weight formula for correct gauntlet weight --- Assets/Scripts/Game/Items/ItemBuilder.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/Game/Items/ItemBuilder.cs b/Assets/Scripts/Game/Items/ItemBuilder.cs index 4389e9bf94..05c67201e0 100644 --- a/Assets/Scripts/Game/Items/ItemBuilder.cs +++ b/Assets/Scripts/Game/Items/ItemBuilder.cs @@ -387,7 +387,7 @@ public static DaggerfallUnityItem CreateRandomWeapon(int playerLevel) newItem = new DaggerfallUnityItem(ItemGroups.Weapons, groupIndex); else newItem = CreateItem(ItemGroups.Weapons, customItemTemplates[groupIndex - enumArray.Length]); - + // Random weapon material WeaponMaterialTypes material = FormulaHelper.RandomMaterial(playerLevel); @@ -491,7 +491,11 @@ public static void ApplyArmorMaterial(DaggerfallUnityItem armor, ArmorMaterialTy if (armor.nativeMaterialValue == (int)ArmorMaterialTypes.Leather) { - armor.weightInKg /= 2; + // Formula provided by Erisceres + // S_w = INT(B_w * 4) scaled weight + // A_w = S_w / 2 adjusted weight + // F_w = Mathf.Round(A_w) / 4 final weight + armor.weightInKg = Mathf.Round((int)(armor.weightInKg * 4) / 2) / 4; } else if (armor.nativeMaterialValue == (int)ArmorMaterialTypes.Chain) {