Make repair up to max theoretical

This commit is contained in:
2024-07-19 23:43:47 +02:00
parent c849601598
commit 9c1f40c6c8

View File

@@ -98,15 +98,16 @@ namespace armorMod
if (item.TryGetItemComponent<RepairableComponent>(out var component)) if (item.TryGetItemComponent<RepairableComponent>(out var component))
{ {
float maxCap = isArmor ? AssPlugin.MaxDurabilityCap.Value : AssPlugin.weaponMaxDurabilityCap.Value; float maxCap = isArmor ? AssPlugin.MaxDurabilityCap.Value : AssPlugin.weaponMaxDurabilityCap.Value;
float maxRepairableDurability = (maxCap / 100) * component.MaxDurability; float maxRepairableDurability = (maxCap / 100) * component.TemplateDurability;
// Logger.LogInfo(component.Item.Id + " " + component.TemplateDurability + " " + component.MaxDurability);
if (component.Durability < maxRepairableDurability) if (component.Durability < maxRepairableDurability)
{ {
#if DEBUG #if DEBUG
Logger.LogWarning($"Repairing {item.Name.Localized()} in {slot} with {component.Durability} / {component.MaxDurability} durability"); Logger.LogWarning($"Repairing {item.Name.Localized()} in {slot} with {component.Durability} / {component.MaxDurability} durability");
#endif #endif
component.Durability = Mathf.Min(component.Durability + repairRate, component.MaxDurability); component.Durability = Mathf.Min(component.Durability + repairRate, component.TemplateDurability);
component.MaxDurability = Mathf.Max(component.MaxDurability - maxDurabilityDrainRate, 0); component.MaxDurability = Mathf.Max(component.TemplateDurability - maxDurabilityDrainRate, 0);
} }
} }
} }