47 lines
2.8 KiB
TypeScript
Raw Normal View History

2024-04-03 20:15:11 +11:00
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
import { ITemplateItem, Props } from "@spt-aki/models/eft/common/tables/ITemplateItem";
import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { JsonUtil } from "@spt-aki/utils/JsonUtil";
import { RandomUtil } from "@spt-aki/utils/RandomUtil";
2023-06-11 15:10:34 +10:00
export declare class RepairHelper {
protected logger: ILogger;
protected jsonUtil: JsonUtil;
protected randomUtil: RandomUtil;
protected databaseServer: DatabaseServer;
protected configServer: ConfigServer;
protected repairConfig: IRepairConfig;
constructor(logger: ILogger, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
/**
* Alter an items durability after a repair by trader/repair kit
* @param itemToRepair item to update durability details
* @param itemToRepairDetails db details of item to repair
* @param isArmor Is item being repaired a piece of armor
* @param amountToRepair how many unit of durability to repair
* @param useRepairKit Is item being repaired with a repair kit
2023-10-09 20:21:00 +11:00
* @param traderQualityMultipler Trader quality value from traders base json
2023-06-11 15:10:34 +10:00
* @param applyMaxDurabilityDegradation should item have max durability reduced
*/
updateItemDurability(itemToRepair: Item, itemToRepairDetails: ITemplateItem, isArmor: boolean, amountToRepair: number, useRepairKit: boolean, traderQualityMultipler: number, applyMaxDurabilityDegradation?: boolean): void;
2024-04-03 20:15:11 +11:00
/**
* Repairing armor reduces the total durability value slightly, get a randomised (to 2dp) amount based on armor material
* @param armorMaterial What material is the armor being repaired made of
* @param isRepairKit Was a repair kit used
* @param armorMax Max amount of durability item can have
* @param traderQualityMultipler Different traders produce different loss values
* @returns Amount to reduce max durability by
*/
2023-06-11 15:10:34 +10:00
protected getRandomisedArmorRepairDegradationValue(armorMaterial: string, isRepairKit: boolean, armorMax: number, traderQualityMultipler: number): number;
/**
2024-04-03 20:15:11 +11:00
* Repairing weapons reduces the total durability value slightly, get a randomised (to 2dp) amount
* @param itemProps Weapon properties
* @param isRepairKit Was a repair kit used
* @param weaponMax ax amount of durability item can have
* @param traderQualityMultipler Different traders produce different loss values
* @returns Amount to reduce max durability by
2023-06-11 15:10:34 +10:00
*/
2024-04-03 20:15:11 +11:00
protected getRandomisedWeaponRepairDegradationValue(itemProps: Props, isRepairKit: boolean, weaponMax: number, traderQualityMultipler: number): number;
2023-06-11 15:10:34 +10:00
}