2022-07-30 00:35:54 -04:00
|
|
|
import { DialogueHelper } from "../helpers/DialogueHelper";
|
|
|
|
import { SecureContainerHelper } from "../helpers/SecureContainerHelper";
|
|
|
|
import { TraderHelper } from "../helpers/TraderHelper";
|
|
|
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
|
|
|
import { Item } from "../models/eft/common/tables/IItem";
|
|
|
|
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
|
|
|
import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
|
|
|
|
import { ILogger } from "../models/spt/utils/ILogger";
|
|
|
|
import { ConfigServer } from "../servers/ConfigServer";
|
|
|
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
|
|
|
import { SaveServer } from "../servers/SaveServer";
|
|
|
|
import { RandomUtil } from "../utils/RandomUtil";
|
|
|
|
import { TimeUtil } from "../utils/TimeUtil";
|
|
|
|
export declare class InsuranceService {
|
|
|
|
protected logger: ILogger;
|
|
|
|
protected databaseServer: DatabaseServer;
|
|
|
|
protected secureContainerHelper: SecureContainerHelper;
|
|
|
|
protected randomUtil: RandomUtil;
|
|
|
|
protected timeUtil: TimeUtil;
|
|
|
|
protected saveServer: SaveServer;
|
|
|
|
protected traderHelper: TraderHelper;
|
|
|
|
protected dialogueHelper: DialogueHelper;
|
|
|
|
protected configServer: ConfigServer;
|
|
|
|
protected insured: Record<string, Record<string, Item[]>>;
|
|
|
|
protected insuranceConfig: IInsuranceConfig;
|
|
|
|
constructor(logger: ILogger, databaseServer: DatabaseServer, secureContainerHelper: SecureContainerHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, saveServer: SaveServer, traderHelper: TraderHelper, dialogueHelper: DialogueHelper, configServer: ConfigServer);
|
|
|
|
insuranceExists(sessionId: string): boolean;
|
|
|
|
insuranceTraderArrayExists(sessionId: string, traderId: string): boolean;
|
|
|
|
getInsurance(sessionId: string): Record<string, Item[]>;
|
|
|
|
getInsuranceItems(sessionId: string, traderId: string): any[];
|
|
|
|
resetInsurance(sessionId: string): void;
|
|
|
|
resetInsuranceTraderArray(sessionId: string, traderId: string): void;
|
|
|
|
addInsuranceItemToArray(sessionId: string, traderId: string, itemToAdd: any): void;
|
2022-08-08 20:03:48 -04:00
|
|
|
/**
|
|
|
|
* Get the rouble price for an item by templateId
|
|
|
|
* @param itemTpl item tpl to get handbook price for
|
|
|
|
* @returns handbook price in roubles, Return 0 if not found
|
|
|
|
*/
|
|
|
|
getItemPrice(itemTpl: string): number;
|
|
|
|
/**
|
|
|
|
* Sends stored insured items as message to player
|
|
|
|
* @param pmcData profile to modify
|
|
|
|
* @param sessionID SessionId of current player
|
|
|
|
* @param mapId Id of the map player died/exited that caused the insurance to be issued on
|
|
|
|
*/
|
|
|
|
sendInsuredItems(pmcData: IPmcData, sessionID: string, mapId: string): void;
|
2022-07-30 00:35:54 -04:00
|
|
|
storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
|
|
|
storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void;
|
|
|
|
protected addGearToSend(pmcData: IPmcData, insuredItem: any, actualItem: any, sessionID: string): any;
|
|
|
|
getPremium(pmcData: IPmcData, inventoryItem: Item, traderId: string): number;
|
|
|
|
}
|