Valens-Progression/types/controllers/HealthController.d.ts

74 lines
3.5 KiB
TypeScript
Raw Permalink Normal View History

import { HealthHelper } from "../helpers/HealthHelper";
2022-12-25 18:45:30 -05:00
import { InventoryHelper } from "../helpers/InventoryHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData";
import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData";
import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData";
import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData";
2023-02-12 23:21:22 -05:00
import { IWorkoutData } from "../models/eft/health/IWorkoutData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ILogger } from "../models/spt/utils/ILogger";
2022-12-25 18:45:30 -05:00
import { EventOutputHolder } from "../routers/EventOutputHolder";
import { LocalisationService } from "../services/LocalisationService";
import { PaymentService } from "../services/PaymentService";
2023-02-12 23:21:22 -05:00
import { JsonUtil } from "../utils/JsonUtil";
export declare class HealthController {
protected logger: ILogger;
2023-02-12 23:21:22 -05:00
protected jsonUtil: JsonUtil;
2022-12-25 18:45:30 -05:00
protected eventOutputHolder: EventOutputHolder;
protected itemHelper: ItemHelper;
protected paymentService: PaymentService;
protected inventoryHelper: InventoryHelper;
2022-12-25 18:45:30 -05:00
protected localisationService: LocalisationService;
protected healthHelper: HealthHelper;
2023-02-12 23:21:22 -05:00
constructor(logger: ILogger, jsonUtil: JsonUtil, eventOutputHolder: EventOutputHolder, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, localisationService: LocalisationService, healthHelper: HealthHelper);
/**
* stores in-raid player health
* @param pmcData Player profile
* @param info Request data
* @param sessionID
* @param addEffects Should effects found be added or removed from profile
*/
2022-12-25 18:45:30 -05:00
saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
/**
* When healing in menu
* @param pmcData
* @param body
* @param sessionID
* @returns
*/
offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse;
2023-02-12 23:21:22 -05:00
/**
* Consume food/water outside of a raid
* @param pmcData Player profile
* @param body request Object
* @param sessionID Session id
* @returns IItemEventRouterResponse
*/
offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse;
/**
* Occurs on post-raid healing page
* @param pmcData player profile
2022-12-25 18:45:30 -05:00
* @param healthTreatmentRequest Request data from client
* @param sessionID Session id
* @returns
*/
2022-12-25 18:45:30 -05:00
healthTreatment(pmcData: IPmcData, healthTreatmentRequest: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse;
/**
* applies skills from hideout workout.
* @param pmcData Player profile
* @param info Request data
* @param sessionID
*/
applyWorkoutChanges(pmcData: IPmcData, info: IWorkoutData, sessionId: string): void;
2022-12-25 18:45:30 -05:00
/**
2023-02-12 23:21:22 -05:00
* Iterate over treatment request diff and find effects to remove from player limbs
2022-12-25 18:45:30 -05:00
* @param sessionId
* @param profile Profile to update
* @param treatmentRequest client request
2023-02-12 23:21:22 -05:00
* @param output response to send to client
2022-12-25 18:45:30 -05:00
*/
2023-02-12 23:21:22 -05:00
protected removeEffectsAfterPostRaidHeal(sessionId: string, profile: IPmcData, treatmentRequest: IHealthTreatmentRequestData, output: IItemEventRouterResponse): void;
}