2022-07-30 00:35:54 -04:00
|
|
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
2022-12-25 18:45:37 -05:00
|
|
|
import { Effect } from "../models/eft/health/Effect";
|
2022-07-30 00:35:54 -04:00
|
|
|
import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData";
|
|
|
|
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
|
|
|
import { IHealthConfig } from "../models/spt/config/IHealthConfig";
|
|
|
|
import { ILogger } from "../models/spt/utils/ILogger";
|
|
|
|
import { ConfigServer } from "../servers/ConfigServer";
|
|
|
|
import { SaveServer } from "../servers/SaveServer";
|
|
|
|
import { JsonUtil } from "../utils/JsonUtil";
|
|
|
|
import { TimeUtil } from "../utils/TimeUtil";
|
|
|
|
export declare class HealthHelper {
|
|
|
|
protected jsonUtil: JsonUtil;
|
|
|
|
protected logger: ILogger;
|
|
|
|
protected timeUtil: TimeUtil;
|
|
|
|
protected saveServer: SaveServer;
|
|
|
|
protected configServer: ConfigServer;
|
|
|
|
protected healthConfig: IHealthConfig;
|
|
|
|
constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer);
|
|
|
|
/**
|
|
|
|
* Resets the profiles vitality/healh and vitality/effects properties to their defaults
|
|
|
|
* @param sessionID Session Id
|
|
|
|
* @returns updated profile
|
|
|
|
*/
|
|
|
|
resetVitality(sessionID: string): IAkiProfile;
|
|
|
|
/**
|
|
|
|
* Update player profile with changes from request object
|
|
|
|
* @param pmcData Player profile
|
|
|
|
* @param info Request object
|
|
|
|
* @param sessionID Session id
|
|
|
|
* @param addEffects Should effects be added or removed (default - add)
|
|
|
|
*/
|
2022-12-25 18:45:37 -05:00
|
|
|
saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
2022-07-30 00:35:54 -04:00
|
|
|
protected saveHealth(pmcData: IPmcData, sessionID: string): void;
|
|
|
|
/**
|
|
|
|
* Save effects to profile
|
|
|
|
* Works by removing all effects and adding them back from profile
|
2023-01-08 01:06:33 -05:00
|
|
|
* Removes empty 'Effects' objects if found
|
2022-07-30 00:35:54 -04:00
|
|
|
* @param pmcData Player profile
|
|
|
|
* @param sessionID Session id
|
|
|
|
* @param addEffects Should effects be added back to profile
|
|
|
|
* @returns
|
|
|
|
*/
|
2022-12-25 18:45:37 -05:00
|
|
|
protected saveEffects(pmcData: IPmcData, sessionID: string, addEffects: boolean, deleteExistingEffects?: boolean): void;
|
2022-07-30 00:35:54 -04:00
|
|
|
/**
|
|
|
|
* Add effect to body part in profile
|
|
|
|
* @param pmcData Player profile
|
|
|
|
* @param effectBodyPart body part to edit
|
|
|
|
* @param effectType Effect to add to body part
|
2023-01-08 01:06:33 -05:00
|
|
|
* @param duration How long the effect has left in seconds (-1 by default, no duration).
|
2022-07-30 00:35:54 -04:00
|
|
|
*/
|
2023-01-08 01:06:33 -05:00
|
|
|
protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: Effect, duration?: number): void;
|
2022-07-30 00:35:54 -04:00
|
|
|
protected isEmpty(map: any): boolean;
|
|
|
|
}
|