diff --git a/project/src/helpers/ItemHelper.ts b/project/src/helpers/ItemHelper.ts index a77a268b..6fdb3db8 100644 --- a/project/src/helpers/ItemHelper.ts +++ b/project/src/helpers/ItemHelper.ts @@ -360,29 +360,34 @@ class ItemHelper */ protected getRepairableItemQualityValue(itemDetails: ITemplateItem, repairable: Repairable, item: Item): number { + // Edge case, max durability is below durability + if (repairable.Durability < repairable.MaxDurability) + { + this.logger.warning(`Max durability: ${repairable.MaxDurability} for item id: ${item._id} was below Durability: ${repairable.Durability}, adjusting values to match`); + repairable.MaxDurability = repairable.Durability; + } + // Armor if (itemDetails._props.armorClass) { return repairable.Durability / itemDetails._props.MaxDurability; } - else + + // Weapon + // Get max dura from props, if it isnt there use repairable max dura value + const maxDurability = (itemDetails._props.MaxDurability) + ? itemDetails._props.MaxDurability + : repairable.MaxDurability; + const durability = repairable.Durability / maxDurability; + + if (!durability) { - // Weapon - // Get max dura from props, if it isnt there use repairable max dura value - const maxDurability = (itemDetails._props.MaxDurability) - ? itemDetails._props.MaxDurability - : repairable.MaxDurability; - const durability = repairable.Durability / maxDurability; + this.logger.error(this.localisationService.getText("item-durability_value_invalid_use_default", item._tpl)); - if (!durability) - { - this.logger.error(this.localisationService.getText("item-durability_value_invalid_use_default", item._tpl)); - - return 1; - } - - return Math.sqrt(durability); + return 1; } + + return Math.sqrt(durability); } /**