bump
This commit is contained in:
parent
a737ea44bd
commit
c92ef457ba
Before Width: | Height: | Size: 553 B After Width: | Height: | Size: 553 B |
@ -1,12 +1,13 @@
|
|||||||
import type { DependencyContainer } from "tsyringe";
|
import type { DependencyContainer } from "tsyringe";
|
||||||
import { IMod } from "@spt-aki/models/external/mod";
|
import { IPreAkiLoadMod } from "@spt-aki/models/external/IPreAkiLoadMod";
|
||||||
|
import { IPostAkiLoadMod } from "@spt-aki/models/external/IPostAkiLoadMod";
|
||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { DynamicRouterModService } from "@spt-aki/services/mod/dynamicRouter/DynamicRouterModService"
|
import { DynamicRouterModService } from "@spt-aki/services/mod/dynamicRouter/DynamicRouterModService"
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"
|
||||||
import { JsonUtil } from "@spt-aki/utils/JsonUtil"
|
import { JsonUtil } from "@spt-aki/utils/JsonUtil"
|
||||||
import { InitialModLoader } from "@spt-aki/loaders/InitialModLoader"
|
import { PreAkiModLoader } from "@spt-aki/loaders/PreAkiModLoader";
|
||||||
|
|
||||||
class HideoutArchitect implements IMod
|
class HideoutArchitect implements IPreAkiLoadMod, IPostAkiLoadMod
|
||||||
{
|
{
|
||||||
private path;
|
private path;
|
||||||
private logger: ILogger;
|
private logger: ILogger;
|
||||||
@ -14,12 +15,12 @@ class HideoutArchitect implements IMod
|
|||||||
private router: DynamicRouterModService;
|
private router: DynamicRouterModService;
|
||||||
private json: JsonUtil;
|
private json: JsonUtil;
|
||||||
private globalLocale;
|
private globalLocale;
|
||||||
private modLoader: InitialModLoader;
|
private modLoader: PreAkiModLoader;
|
||||||
private mod;
|
private mod;
|
||||||
private translations;
|
private translations;
|
||||||
private table;
|
private table;
|
||||||
|
|
||||||
public load(container: DependencyContainer)
|
public preAkiLoad(container: DependencyContainer)
|
||||||
{
|
{
|
||||||
this.logger = container.resolve<ILogger>("WinstonLogger");
|
this.logger = container.resolve<ILogger>("WinstonLogger");
|
||||||
this.router = container.resolve<DynamicRouterModService>("DynamicRouterModService");
|
this.router = container.resolve<DynamicRouterModService>("DynamicRouterModService");
|
||||||
@ -32,9 +33,9 @@ class HideoutArchitect implements IMod
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public delayedLoad(container: DependencyContainer)
|
public postAkiLoad(container: DependencyContainer)
|
||||||
{
|
{
|
||||||
this.modLoader = container.resolve<InitialModLoader>("InitialModLoader");
|
this.modLoader = container.resolve<PreAkiModLoader>("PreAkiModLoader");
|
||||||
this.database = container.resolve<DatabaseServer>("DatabaseServer");
|
this.database = container.resolve<DatabaseServer>("DatabaseServer");
|
||||||
this.table = this.database.getTables();
|
this.table = this.database.getTables();
|
||||||
this.globalLocale = this.table.locales.global;
|
this.globalLocale = this.table.locales.global;
|
||||||
@ -84,7 +85,7 @@ class HideoutArchitect implements IMod
|
|||||||
data: null
|
data: null
|
||||||
};
|
};
|
||||||
|
|
||||||
modOutput.data = {...this.mod, ...{path: this.path.resolve(this.modLoader.getModPath(this.mod.name))}};
|
modOutput.data = {...this.mod, ...{path: this.path.resolve(this.modLoader.getModPath("HideoutArchitect"))}};
|
||||||
modOutput.status = 0;
|
modOutput.status = 0;
|
||||||
|
|
||||||
return this.json.serialize(modOutput);
|
return this.json.serialize(modOutput);
|
@ -2,6 +2,7 @@ import { GameController } from "../controllers/GameController";
|
|||||||
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse";
|
import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse";
|
||||||
import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData";
|
import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData";
|
||||||
|
import { IReportNicknameRequestData } from "../models/eft/game/IReportNicknameRequestData";
|
||||||
import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData";
|
import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData";
|
||||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
@ -20,5 +21,6 @@ declare class GameCallbacks {
|
|||||||
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
getVersion(url: string, info: IEmptyRequestData, sessionID: string): string;
|
getVersion(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||||
|
reportNickname(url: string, info: IReportNicknameRequestData, sessionID: string): INullResponseData;
|
||||||
}
|
}
|
||||||
export { GameCallbacks };
|
export { GameCallbacks };
|
@ -13,6 +13,13 @@ export declare class HealthCallbacks {
|
|||||||
protected profileHelper: ProfileHelper;
|
protected profileHelper: ProfileHelper;
|
||||||
protected healthController: HealthController;
|
protected healthController: HealthController;
|
||||||
constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController);
|
constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController);
|
||||||
|
/**
|
||||||
|
* Custom aki server request found in modules/HealthSynchronizer.cs
|
||||||
|
* @param url
|
||||||
|
* @param info HealthListener.Instance.CurrentHealth class
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns empty response, no data sent back to client
|
||||||
|
*/
|
||||||
syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData<string>;
|
syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData<string>;
|
||||||
offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse;
|
offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse;
|
offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse;
|
@ -3,6 +3,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate";
|
|||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData";
|
import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData";
|
||||||
|
import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData";
|
||||||
import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData";
|
import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData";
|
||||||
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
|
import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
|
||||||
@ -17,7 +18,7 @@ export declare class InsuranceCallbacks extends OnLoadOnUpdate {
|
|||||||
protected insuranceConfig: IInsuranceConfig;
|
protected insuranceConfig: IInsuranceConfig;
|
||||||
constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer);
|
constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer);
|
||||||
onLoad(): void;
|
onLoad(): void;
|
||||||
getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData<any>;
|
getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData<IGetInsuranceCostResponseData>;
|
||||||
insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse;
|
insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
onUpdate(secondsSinceLastRun: number): boolean;
|
onUpdate(secondsSinceLastRun: number): boolean;
|
||||||
getRoute(): string;
|
getRoute(): string;
|
@ -1,10 +1,17 @@
|
|||||||
import { MatchController } from "../controllers/MatchController";
|
import { MatchController } from "../controllers/MatchController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
|
import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData";
|
||||||
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||||
|
import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData";
|
||||||
import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData";
|
import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData";
|
||||||
|
import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData";
|
||||||
|
import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult";
|
||||||
|
import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData";
|
||||||
import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData";
|
import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData";
|
||||||
|
import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
@ -14,21 +21,21 @@ export declare class MatchCallbacks {
|
|||||||
protected matchController: MatchController;
|
protected matchController: MatchController;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
constructor(httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, matchController: MatchController, databaseServer: DatabaseServer);
|
constructor(httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, matchController: MatchController, databaseServer: DatabaseServer);
|
||||||
updatePing(url: string, info: any, sessionID: string): INullResponseData;
|
updatePing(url: string, info: IUpdatePingRequestData, sessionID: string): INullResponseData;
|
||||||
exitMatch(url: string, info: any, sessionID: string): INullResponseData;
|
exitMatch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||||
exitToMenu(url: string, info: any, sessionID: string): INullResponseData;
|
exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||||
startGroupSearch(url: string, info: any, sessionID: string): INullResponseData;
|
startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||||
stopGroupSearch(url: string, info: any, sessionID: string): INullResponseData;
|
stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||||
sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
putMetrics(url: string, info: any, sessionID: string): INullResponseData;
|
putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData;
|
||||||
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
||||||
serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData<any> | IGetBodyResponseData<true>;
|
serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any> | IGetBodyResponseData<true>;
|
||||||
joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData<any>;
|
joinMatch(url: string, info: IJoinMatchRequestData, sessionID: string): IGetBodyResponseData<IJoinMatchResult[]>;
|
||||||
getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData<string>;
|
getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData<string>;
|
||||||
getGroupStatus(url: string, info: any, sessionID: string): IGetBodyResponseData<any>;
|
getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
createGroup(url: string, info: any, sessionID: string): IGetBodyResponseData<any>;
|
createGroup(url: string, info: ICreateGroupRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
deleteGroup(url: string, info: any, sessionID: string): INullResponseData;
|
deleteGroup(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData;
|
startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData;
|
||||||
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
|
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
|
@ -1,5 +1,5 @@
|
|||||||
import { OnLoad } from "../di/OnLoad";
|
import { OnLoad } from "../di/OnLoad";
|
||||||
import { DelayedModLoader } from "../loaders/DelayedModLoader";
|
import { PostAkiModLoader } from "../loaders/PostAkiModLoader";
|
||||||
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
||||||
import { IHttpServer } from "../models/spt/server/IHttpServer";
|
import { IHttpServer } from "../models/spt/server/IHttpServer";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
@ -9,10 +9,10 @@ declare class ModCallbacks extends OnLoad {
|
|||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected httpResponse: HttpResponseUtil;
|
protected httpResponse: HttpResponseUtil;
|
||||||
protected httpServer: IHttpServer;
|
protected httpServer: IHttpServer;
|
||||||
protected modLoader: DelayedModLoader;
|
protected postAkiModLoader: PostAkiModLoader;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected httpConfig: IHttpConfig;
|
protected httpConfig: IHttpConfig;
|
||||||
constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer);
|
constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, postAkiModLoader: PostAkiModLoader, configServer: ConfigServer);
|
||||||
onLoad(): void;
|
onLoad(): void;
|
||||||
getRoute(): string;
|
getRoute(): string;
|
||||||
sendBundle(sessionID: string, req: any, resp: any, body: any): void;
|
sendBundle(sessionID: string, req: any, resp: any, body: any): void;
|
@ -1,4 +1,5 @@
|
|||||||
import { PresetBuildController } from "../controllers/PresetBuildController";
|
import { PresetBuildController } from "../controllers/PresetBuildController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
@ -9,7 +10,7 @@ export declare class PresetBuildCallbacks {
|
|||||||
protected httpResponse: HttpResponseUtil;
|
protected httpResponse: HttpResponseUtil;
|
||||||
protected presetBuildController: PresetBuildController;
|
protected presetBuildController: PresetBuildController;
|
||||||
constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController);
|
constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController);
|
||||||
getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData<WeaponBuild[]>;
|
getHandbookUserlist(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<WeaponBuild[]>;
|
||||||
saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
|
saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
|
removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
}
|
}
|
@ -3,6 +3,7 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
|||||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
||||||
|
import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData";
|
||||||
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||||
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||||
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||||
@ -23,7 +24,14 @@ export declare class ProfileCallbacks {
|
|||||||
changeNickname(url: string, info: IProfileChangeNicknameRequestData, sessionID: string): IGetBodyResponseData<any>;
|
changeNickname(url: string, info: IProfileChangeNicknameRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
validateNickname(url: string, info: IValidateNicknameRequestData, sessionID: string): IGetBodyResponseData<any>;
|
validateNickname(url: string, info: IValidateNicknameRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
getReservedNickname(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string>;
|
getReservedNickname(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string>;
|
||||||
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
/**
|
||||||
|
* Called when creating a character, when you choose a character face/voice
|
||||||
|
* @param url
|
||||||
|
* @param info response (empty)
|
||||||
|
* @param sessionID
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<GetProfileStatusResponseData>;
|
||||||
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
||||||
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
||||||
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
@ -9,8 +9,10 @@ import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData
|
|||||||
import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData";
|
import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData";
|
||||||
import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult";
|
import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult";
|
||||||
import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData";
|
import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData";
|
||||||
|
import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult";
|
||||||
import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData";
|
import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData";
|
||||||
import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData";
|
import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData";
|
||||||
|
import { ISendRagfairReportRequestData } from "../models/eft/ragfair/ISendRagfairReportRequestData";
|
||||||
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
@ -28,12 +30,12 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate {
|
|||||||
constructor(httpResponse: HttpResponseUtil, logger: ILogger, jsonUtil: JsonUtil, ragfairServer: RagfairServer, ragfairController: RagfairController, configServer: ConfigServer);
|
constructor(httpResponse: HttpResponseUtil, logger: ILogger, jsonUtil: JsonUtil, ragfairServer: RagfairServer, ragfairController: RagfairController, configServer: ConfigServer);
|
||||||
onLoad(): void;
|
onLoad(): void;
|
||||||
getRoute(): string;
|
getRoute(): string;
|
||||||
search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData<any>;
|
search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData<IGetOffersResult>;
|
||||||
getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData<IGetItemPriceResult>;
|
getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData<IGetItemPriceResult>;
|
||||||
getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
onUpdate(timeSinceLastRun: number): boolean;
|
onUpdate(timeSinceLastRun: number): boolean;
|
||||||
sendReport(url: string, info: any, sessionID: string): INullResponseData;
|
sendReport(url: string, info: ISendRagfairReportRequestData, sessionID: string): INullResponseData;
|
||||||
}
|
}
|
@ -1,32 +1,28 @@
|
|||||||
import { HttpServerHelper } from "../helpers/HttpServerHelper";
|
import { HttpServerHelper } from "../helpers/HttpServerHelper";
|
||||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
|
||||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests";
|
|
||||||
import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse";
|
import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse";
|
||||||
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { LocaleService } from "../services/LocaleService";
|
||||||
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
export declare class GameController {
|
export declare class GameController {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected watermark: Watermark;
|
protected watermark: Watermark;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
|
protected localeService: LocaleService;
|
||||||
protected profileHelper: ProfileHelper;
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected profileFixerService: ProfileFixerService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected httpConfig: IHttpConfig;
|
protected httpConfig: IHttpConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer);
|
protected coreConfig: ICoreConfig;
|
||||||
|
constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, localeService: LocaleService, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, configServer: ConfigServer);
|
||||||
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void;
|
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void;
|
||||||
protected addMissingBonusesProperty(pmcProfile: IPmcData): void;
|
protected logProfileDetails(fullProfile: IAkiProfile): void;
|
||||||
protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void;
|
|
||||||
protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void;
|
|
||||||
protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void;
|
|
||||||
protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void;
|
|
||||||
protected fixNullTraderSalesSums(pmcProfile: IPmcData): void;
|
|
||||||
protected removeDanglingConditionCounters(pmcProfile: IPmcData): void;
|
|
||||||
protected removeDanglingBackendCounters(pmcProfile: IPmcData): void;
|
|
||||||
getGameConfig(sessionID: string): IGameConfigResponse;
|
getGameConfig(sessionID: string): IGameConfigResponse;
|
||||||
getServer(): any[];
|
getServer(): any[];
|
||||||
protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[];
|
|
||||||
}
|
}
|
@ -18,8 +18,29 @@ export declare class HealthController {
|
|||||||
protected inventoryHelper: InventoryHelper;
|
protected inventoryHelper: InventoryHelper;
|
||||||
protected healthHelper: HealthHelper;
|
protected healthHelper: HealthHelper;
|
||||||
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper);
|
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper);
|
||||||
saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void;
|
/**
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void;
|
||||||
|
/**
|
||||||
|
* When healing in menu
|
||||||
|
* @param pmcData
|
||||||
|
* @param body
|
||||||
|
* @param sessionID
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse;
|
offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse;
|
offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Occurs on post-raid healing page
|
||||||
|
* @param pmcData player profile
|
||||||
|
* @param info Request data from client
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse;
|
healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
}
|
}
|
@ -3,10 +3,12 @@ import { InventoryHelper } from "../helpers/InventoryHelper";
|
|||||||
import { PaymentHelper } from "../helpers/PaymentHelper";
|
import { PaymentHelper } from "../helpers/PaymentHelper";
|
||||||
import { PresetHelper } from "../helpers/PresetHelper";
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { HideoutArea, IPmcData, Product } from "../models/eft/common/IPmcData";
|
||||||
import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData";
|
import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData";
|
||||||
import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData";
|
import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData";
|
||||||
|
import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction";
|
||||||
import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData";
|
import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData";
|
||||||
|
import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase";
|
||||||
import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData";
|
import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData";
|
||||||
import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData";
|
import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData";
|
||||||
import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData";
|
import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData";
|
||||||
@ -47,11 +49,20 @@ export declare class HideoutController {
|
|||||||
upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse;
|
upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse;
|
putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse;
|
takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected removeItemFromGenerator(sessionID: string, pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, output: IItemEventRouterResponse, hideoutArea: HideoutArea): IItemEventRouterResponse;
|
||||||
toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse;
|
toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse;
|
scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected getRandomisedItemRarityCounter(recipe: IHideoutScavCase): {
|
||||||
|
[x: string]: number;
|
||||||
|
};
|
||||||
|
protected getRandomisedScavRewards(rarityItemCounter: {
|
||||||
|
[x: string]: number;
|
||||||
|
}): Product[];
|
||||||
continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse;
|
takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected handleRecipie(sessionID: string, recipe: IHideoutProduction, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse;
|
||||||
|
protected handleScavCase(sessionID: string, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse;
|
||||||
registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
update(): void;
|
update(): void;
|
||||||
}
|
}
|
@ -3,6 +3,7 @@ import { ItemHelper } from "../helpers/ItemHelper";
|
|||||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData";
|
import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData";
|
||||||
|
import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData";
|
||||||
import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData";
|
import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData";
|
||||||
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
|
import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
|
||||||
@ -33,6 +34,12 @@ export declare class InsuranceController {
|
|||||||
insuranceService: InsuranceService, configServer: ConfigServer);
|
insuranceService: InsuranceService, configServer: ConfigServer);
|
||||||
processReturn(): void;
|
processReturn(): void;
|
||||||
insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse;
|
insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
cost(info: IGetInsuranceCostRequestData, sessionID: string): any;
|
/**
|
||||||
|
* Calculate insurance cost
|
||||||
|
* @param info request object
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns response object to send to client
|
||||||
|
*/
|
||||||
|
cost(info: IGetInsuranceCostRequestData, sessionID: string): IGetInsuranceCostResponseData;
|
||||||
doAbsolutelyNothing(): void;
|
doAbsolutelyNothing(): void;
|
||||||
}
|
}
|
@ -24,6 +24,8 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { FenceService } from "../services/FenceService";
|
||||||
|
import { RagfairOfferService } from "../services/RagfairOfferService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
export declare class InventoryController {
|
export declare class InventoryController {
|
||||||
@ -31,12 +33,14 @@ export declare class InventoryController {
|
|||||||
protected hashUtil: HashUtil;
|
protected hashUtil: HashUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected fenceService: FenceService;
|
||||||
protected presetHelper: PresetHelper;
|
protected presetHelper: PresetHelper;
|
||||||
protected inventoryHelper: InventoryHelper;
|
protected inventoryHelper: InventoryHelper;
|
||||||
|
protected ragfairOfferService: RagfairOfferService;
|
||||||
protected profileHelper: ProfileHelper;
|
protected profileHelper: ProfileHelper;
|
||||||
protected paymentHelper: PaymentHelper;
|
protected paymentHelper: PaymentHelper;
|
||||||
protected itemEventRouter: ItemEventRouter;
|
protected itemEventRouter: ItemEventRouter;
|
||||||
constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter);
|
constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, fenceService: FenceService, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, ragfairOfferService: RagfairOfferService, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter);
|
||||||
/**
|
/**
|
||||||
* Move Item
|
* Move Item
|
||||||
* change location of item with parentId and slotId
|
* change location of item with parentId and slotId
|
||||||
@ -93,9 +97,19 @@ export declare class InventoryController {
|
|||||||
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
/**
|
/**
|
||||||
* Handles examining of the item *
|
* Handles examining an item
|
||||||
|
* @param pmcData player profile
|
||||||
|
* @param body request object
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns response
|
||||||
*/
|
*/
|
||||||
examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse;
|
examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Get the tplid of an item from the examine request object
|
||||||
|
* @param body response request
|
||||||
|
* @returns tplid
|
||||||
|
*/
|
||||||
|
protected getExaminedItemTpl(body: IInventoryExamineRequestData): string;
|
||||||
readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse;
|
readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
/**
|
/**
|
||||||
* Handles sorting of Inventory.
|
* Handles sorting of Inventory.
|
@ -1,30 +1,36 @@
|
|||||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
import { TraderHelper } from "../helpers/TraderHelper";
|
import { TraderHelper } from "../helpers/TraderHelper";
|
||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData";
|
||||||
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||||
|
import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData";
|
||||||
import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData";
|
import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData";
|
||||||
|
import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData";
|
||||||
|
import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult";
|
||||||
import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData";
|
import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData";
|
||||||
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
|
||||||
import { IMatchConfig } from "../models/spt/config/IMatchConfig";
|
import { IMatchConfig } from "../models/spt/config/IMatchConfig";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { SaveServer } from "../servers/SaveServer";
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { BotLootCacheService } from "../services/BotLootCacheService";
|
||||||
import { MatchLocationService } from "../services/MatchLocationService";
|
import { MatchLocationService } from "../services/MatchLocationService";
|
||||||
export declare class MatchController {
|
export declare class MatchController {
|
||||||
protected saveServer: SaveServer;
|
protected saveServer: SaveServer;
|
||||||
protected profileHelper: ProfileHelper;
|
protected profileHelper: ProfileHelper;
|
||||||
protected matchLocationService: MatchLocationService;
|
protected matchLocationService: MatchLocationService;
|
||||||
protected traderHelper: TraderHelper;
|
protected traderHelper: TraderHelper;
|
||||||
|
protected botLootCacheService: BotLootCacheService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected matchConfig: IMatchConfig;
|
protected matchConfig: IMatchConfig;
|
||||||
protected inraidConfig: IInRaidConfig;
|
protected inraidConfig: IInRaidConfig;
|
||||||
constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer);
|
constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer);
|
||||||
getEnabled(): boolean;
|
getEnabled(): boolean;
|
||||||
getProfile(info: IGetProfileRequestData): IPmcData[];
|
getProfile(info: IGetProfileRequestData): IPmcData[];
|
||||||
protected getMatch(location: any): any;
|
createGroup(sessionID: string, info: ICreateGroupRequestData): any;
|
||||||
createGroup(sessionID: string, info: any): any;
|
|
||||||
deleteGroup(info: any): void;
|
deleteGroup(info: any): void;
|
||||||
joinMatch(info: any, sessionID: string): any[];
|
joinMatch(info: IJoinMatchRequestData, sessionID: string): IJoinMatchResult[];
|
||||||
getGroupStatus(info: any): any;
|
protected getMatch(location: string): any;
|
||||||
|
getGroupStatus(info: IGetGroupStatusRequestData): any;
|
||||||
startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void;
|
startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void;
|
||||||
endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void;
|
endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void;
|
||||||
}
|
}
|
@ -11,6 +11,7 @@ import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendRespon
|
|||||||
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
|
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { SaveServer } from "../servers/SaveServer";
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
export declare class ProfileController {
|
export declare class ProfileController {
|
||||||
@ -19,13 +20,20 @@ export declare class ProfileController {
|
|||||||
protected saveServer: SaveServer;
|
protected saveServer: SaveServer;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
|
protected profileFixerService: ProfileFixerService;
|
||||||
protected traderHelper: TraderHelper;
|
protected traderHelper: TraderHelper;
|
||||||
protected extendedProfileHelper: ExtendedProfileHelper;
|
protected extendedProfileHelper: ExtendedProfileHelper;
|
||||||
constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper);
|
constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileFixerService: ProfileFixerService, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper);
|
||||||
getMiniProfiles(): IMiniProfile[];
|
getMiniProfiles(): IMiniProfile[];
|
||||||
getMiniProfile(sessionID: string): any;
|
getMiniProfile(sessionID: string): any;
|
||||||
getCompleteProfile(sessionID: string): IPmcData[];
|
getCompleteProfile(sessionID: string): IPmcData[];
|
||||||
createProfile(info: IProfileCreateRequestData, sessionID: string): void;
|
createProfile(info: IProfileCreateRequestData, sessionID: string): void;
|
||||||
|
/**
|
||||||
|
* Generate a player scav object
|
||||||
|
* pmc profile MUST exist first before pscav can be generated
|
||||||
|
* @param sessionID
|
||||||
|
* @returns IPmcData object
|
||||||
|
*/
|
||||||
generatePlayerScav(sessionID: string): IPmcData;
|
generatePlayerScav(sessionID: string): IPmcData;
|
||||||
validateNickname(info: IValidateNicknameRequestData, sessionID: string): string;
|
validateNickname(info: IValidateNicknameRequestData, sessionID: string): string;
|
||||||
changeNickname(info: IProfileChangeNicknameRequestData, sessionID: string): string;
|
changeNickname(info: IProfileChangeNicknameRequestData, sessionID: string): string;
|
@ -4,7 +4,7 @@ import { ProfileHelper } from "../helpers/ProfileHelper";
|
|||||||
import { QuestConditionHelper } from "../helpers/QuestConditionHelper";
|
import { QuestConditionHelper } from "../helpers/QuestConditionHelper";
|
||||||
import { QuestHelper } from "../helpers/QuestHelper";
|
import { QuestHelper } from "../helpers/QuestHelper";
|
||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { IQuest } from "../models/eft/common/tables/IQuest";
|
import { IQuest, Reward } from "../models/eft/common/tables/IQuest";
|
||||||
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData";
|
import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData";
|
||||||
import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData";
|
import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData";
|
||||||
@ -14,6 +14,7 @@ import { ILogger } from "../models/spt/utils/ILogger";
|
|||||||
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { LocaleService } from "../services/LocaleService";
|
||||||
import { PlayerService } from "../services/PlayerService";
|
import { PlayerService } from "../services/PlayerService";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
export declare class QuestController {
|
export declare class QuestController {
|
||||||
@ -27,12 +28,49 @@ export declare class QuestController {
|
|||||||
protected questHelper: QuestHelper;
|
protected questHelper: QuestHelper;
|
||||||
protected questConditionHelper: QuestConditionHelper;
|
protected questConditionHelper: QuestConditionHelper;
|
||||||
protected playerService: PlayerService;
|
protected playerService: PlayerService;
|
||||||
|
protected localeService: LocaleService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected questConfig: IQuestConfig;
|
protected questConfig: IQuestConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer);
|
constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Get all quests visible to player
|
||||||
|
* Exclude quests with incomplete preconditions (level/loyalty)
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns array of IQuest
|
||||||
|
*/
|
||||||
getClientQuests(sessionID: string): IQuest[];
|
getClientQuests(sessionID: string): IQuest[];
|
||||||
acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Remove completed quest from profile
|
||||||
|
* Add newly unlocked quests to profile
|
||||||
|
* Also recalculate thier level due to exp rewards
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param body completed quest request
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns ItemEvent response
|
||||||
|
*/
|
||||||
completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Send a popup to player on completion of a quest
|
||||||
|
* @param sessionID session id
|
||||||
|
* @param pmcData player profile
|
||||||
|
* @param completedQuestId completed quest id
|
||||||
|
* @param questRewards rewards given to player
|
||||||
|
*/
|
||||||
|
protected sendDialogMessageOnQuestComplete(sessionID: string, pmcData: IPmcData, completedQuestId: string, questRewards: Reward[]): void;
|
||||||
|
/**
|
||||||
|
* Returns a list of quests that should be failed when a quest is completed
|
||||||
|
* @param completedQuestId quest completed id
|
||||||
|
* @returns array of quests
|
||||||
|
*/
|
||||||
|
protected getQuestsFailedByCompletingQuest(completedQuestId: string): IQuest[];
|
||||||
|
/**
|
||||||
|
* Fail the quests provided
|
||||||
|
* @param sessionID session id
|
||||||
|
* @param pmcData player profile
|
||||||
|
* @param questsToFail quests to fail
|
||||||
|
*/
|
||||||
|
protected failQuests(sessionID: string, pmcData: IPmcData, questsToFail: IQuest[]): void;
|
||||||
handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
}
|
}
|
@ -60,6 +60,8 @@ export declare class RagfairController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer);
|
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer);
|
||||||
getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult;
|
getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult;
|
||||||
|
protected isLinkedSearch(info: ISearchRequestData): boolean;
|
||||||
|
protected isRequiredSearch(info: ISearchRequestData): boolean;
|
||||||
update(): void;
|
update(): void;
|
||||||
getItemPrice(info: IGetMarketPriceRequestData): IGetItemPriceResult;
|
getItemPrice(info: IGetMarketPriceRequestData): IGetItemPriceResult;
|
||||||
addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
@ -21,6 +21,7 @@ export declare class RepairController {
|
|||||||
protected repairHelper: RepairHelper;
|
protected repairHelper: RepairHelper;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected repairConfig: IRepairConfig;
|
protected repairConfig: IRepairConfig;
|
||||||
|
protected readonly WEAPON_SKILL_REPAIR_GAIN: number;
|
||||||
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, questHelper: QuestHelper, traderHelper: TraderHelper, paymentService: PaymentService, repairHelper: RepairHelper, configServer: ConfigServer);
|
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, questHelper: QuestHelper, traderHelper: TraderHelper, paymentService: PaymentService, repairHelper: RepairHelper, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Repair with trader
|
* Repair with trader
|
||||||
@ -37,5 +38,5 @@ export declare class RepairController {
|
|||||||
* @param sessionID session id
|
* @param sessionID session id
|
||||||
* @returns item event router action
|
* @returns item event router action
|
||||||
*/
|
*/
|
||||||
repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse;
|
repairWithKit(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
}
|
}
|
@ -15,6 +15,7 @@ import { ItemEventRouter } from "../routers/ItemEventRouter";
|
|||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { PaymentService } from "../services/PaymentService";
|
import { PaymentService } from "../services/PaymentService";
|
||||||
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { MathUtil } from "../utils/MathUtil";
|
import { MathUtil } from "../utils/MathUtil";
|
||||||
import { ObjectId } from "../utils/ObjectId";
|
import { ObjectId } from "../utils/ObjectId";
|
||||||
@ -57,13 +58,14 @@ export declare class RepeatableQuestController {
|
|||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
protected presetHelper: PresetHelper;
|
protected presetHelper: PresetHelper;
|
||||||
protected profileHelper: ProfileHelper;
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected profileFixerService: ProfileFixerService;
|
||||||
protected ragfairServerHelper: RagfairServerHelper;
|
protected ragfairServerHelper: RagfairServerHelper;
|
||||||
protected itemEventRouter: ItemEventRouter;
|
protected itemEventRouter: ItemEventRouter;
|
||||||
protected paymentService: PaymentService;
|
protected paymentService: PaymentService;
|
||||||
protected objectId: ObjectId;
|
protected objectId: ObjectId;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected questConfig: IQuestConfig;
|
protected questConfig: IQuestConfig;
|
||||||
constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer);
|
constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* This is the method reached by the /client/repeatalbeQuests/activityPeriods endpoint
|
* This is the method reached by the /client/repeatalbeQuests/activityPeriods endpoint
|
||||||
* Returns an array of objects in the format of repeatable quests to the client.
|
* Returns an array of objects in the format of repeatable quests to the client.
|
@ -31,16 +31,54 @@ export declare class BotGenerator {
|
|||||||
protected botConfig: IBotConfig;
|
protected botConfig: IBotConfig;
|
||||||
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, botInventoryGenerator: BotInventoryGenerator, botHelper: BotHelper, gameEventHelper: GameEventHelper, configServer: ConfigServer);
|
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, botInventoryGenerator: BotInventoryGenerator, botHelper: BotHelper, gameEventHelper: GameEventHelper, configServer: ConfigServer);
|
||||||
generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[];
|
generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[];
|
||||||
|
/**
|
||||||
|
* Choose if a bot should become a Pmc by checking if bot type is allowed to become a Pmc in bot config
|
||||||
|
* @param isPlayerScav is a player scav being generated, forces choice returned to never be a pmc
|
||||||
|
*/
|
||||||
|
protected shouldBotBePmc(isPlayerScav: boolean, role: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get a randomised PMC side based on bot config value 'isUsec'
|
||||||
|
* @returns pmc side as string
|
||||||
|
*/
|
||||||
|
protected getRandomisedPmcSide(): string;
|
||||||
|
/**
|
||||||
|
* Get a clone of the database\bots\base.json file
|
||||||
|
* @returns IBotBase object
|
||||||
|
*/
|
||||||
|
protected getCloneOfBotBase(): IBotBase;
|
||||||
protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase;
|
protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase;
|
||||||
|
/**
|
||||||
|
* Log the number of PMCs generated to the debug console
|
||||||
|
*/
|
||||||
|
protected logPmcGeneratedCount(output: IBotBase[]): void;
|
||||||
protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult;
|
protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult;
|
||||||
/** Converts health object to the required format */
|
/**
|
||||||
|
* Converts health object to the required format
|
||||||
|
* @param healthObj health object from bot json
|
||||||
|
* @param playerScav Is a pscav bot being generated
|
||||||
|
* @returns PmcHealth object
|
||||||
|
*/
|
||||||
protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth;
|
protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth;
|
||||||
protected generateSkills(skillsObj: Skills): Skills;
|
protected generateSkills(skillsObj: Skills): Skills;
|
||||||
|
/**
|
||||||
|
* Convert from pmc side (usec/bear) to the side as defined in the bot config (usecType/bearType)
|
||||||
|
* @param pmcSide eft side (usec/bear)
|
||||||
|
* @returns pmc side as defined in config
|
||||||
|
*/
|
||||||
protected getPmcRole(pmcSide: string): string;
|
protected getPmcRole(pmcSide: string): string;
|
||||||
|
/**
|
||||||
|
* Iterate through bots inventory and loot to find and remove christmas items (as defined in GameEventHelper)
|
||||||
|
* @param nodeInventory Bots inventory to iterate over
|
||||||
|
*/
|
||||||
protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void;
|
protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void;
|
||||||
protected generateId(bot: IBotBase): IBotBase;
|
protected generateId(bot: IBotBase): IBotBase;
|
||||||
protected generateInventoryID(profile: IBotBase): IBotBase;
|
protected generateInventoryID(profile: IBotBase): IBotBase;
|
||||||
protected getPMCDifficulty(requestedDifficulty: string): string;
|
protected getPMCDifficulty(requestedDifficulty: string): string;
|
||||||
|
/**
|
||||||
|
* Add a side-specific (usec/bear) dogtag item to a bots inventory
|
||||||
|
* @param bot bot to add dogtag to
|
||||||
|
* @returns Bot with dogtag added
|
||||||
|
*/
|
||||||
protected generateDogtag(bot: IBotBase): IBotBase;
|
protected generateDogtag(bot: IBotBase): IBotBase;
|
||||||
}
|
}
|
||||||
export {};
|
export {};
|
@ -1,29 +1,27 @@
|
|||||||
import { PMCLootGenerator } from "../generators/PMCLootGenerator";
|
|
||||||
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
|
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
|
||||||
import { HandbookHelper } from "../helpers/HandbookHelper";
|
import { HandbookHelper } from "../helpers/HandbookHelper";
|
||||||
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
|
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
|
||||||
import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType";
|
import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType";
|
||||||
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { BotLootCacheService } from "../services/BotLootCacheService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
export declare class BotLootGenerator {
|
export declare class BotLootGenerator {
|
||||||
protected jsonUtil: JsonUtil;
|
protected logger: ILogger;
|
||||||
protected hashUtil: HashUtil;
|
protected hashUtil: HashUtil;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected handbookHelper: HandbookHelper;
|
protected handbookHelper: HandbookHelper;
|
||||||
protected botGeneratorHelper: BotGeneratorHelper;
|
protected botGeneratorHelper: BotGeneratorHelper;
|
||||||
protected pmcLootGenerator: PMCLootGenerator;
|
protected botLootCacheService: BotLootCacheService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected botConfig: IBotConfig;
|
protected botConfig: IBotConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer);
|
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer);
|
||||||
generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void;
|
generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, botRole: string, inventory: PmcInventory): void;
|
||||||
protected getRandomisedCount(min: number, max: number, nValue: number): number;
|
protected getRandomisedCount(min: number, max: number, nValue: number): number;
|
||||||
protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void;
|
protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void;
|
||||||
/** Compares two item templates by their price to spawn chance ratio */
|
|
||||||
protected compareByValue(a: ITemplateItem, b: ITemplateItem): number;
|
|
||||||
}
|
}
|
@ -0,0 +1,97 @@
|
|||||||
|
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||||
|
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
|
||||||
|
import { Inventory, MinMax, ModsChances } from "../models/eft/common/tables/IBotType";
|
||||||
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
export declare class BotWeaponGenerator {
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected weightedRandomHelper: WeightedRandomHelper;
|
||||||
|
protected botGeneratorHelper: BotGeneratorHelper;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
private readonly modMagazineSlotId;
|
||||||
|
constructor(jsonUtil: JsonUtil, logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil);
|
||||||
|
generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void;
|
||||||
|
/**
|
||||||
|
* Get the mods necessary to kit out a weapon to its preset level
|
||||||
|
* @param weaponTpl weapon to find preset for
|
||||||
|
* @param equipmentSlot the slot the weapon will be placed in
|
||||||
|
* @param weaponParentId
|
||||||
|
* @returns array of weapon mods
|
||||||
|
*/
|
||||||
|
protected getPresetWeaponMods(weaponTpl: string, equipmentSlot: string, weaponParentId: string, itemTemplate: ITemplateItem, botRole: string): Item[];
|
||||||
|
/** Checks if all required slots are occupied on a weapon and all it's mods */
|
||||||
|
protected isWeaponValid(itemList: Item[]): boolean;
|
||||||
|
/**
|
||||||
|
* Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets.
|
||||||
|
* Additionally, adds extra bullets to SecuredContainer
|
||||||
|
* @param weaponMods
|
||||||
|
* @param weaponTemplate
|
||||||
|
* @param magCounts
|
||||||
|
* @param ammoTpl
|
||||||
|
* @param inventory
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void;
|
||||||
|
/**
|
||||||
|
* Get a randomised number of bullets for a specific magazine
|
||||||
|
* @param magCounts min and max count of magazines
|
||||||
|
* @param magTemplate magazine to generate bullet count for
|
||||||
|
* @returns bullet count number
|
||||||
|
*/
|
||||||
|
protected getRandomisedBulletCount(magCounts: MinMax, magTemplate: ITemplateItem): number;
|
||||||
|
/**
|
||||||
|
* Get a randomised count of magazines
|
||||||
|
* @param magCounts min and max value returned value can be between
|
||||||
|
* @returns numberical value of magazine count
|
||||||
|
*/
|
||||||
|
protected getRandomisedMagazineCount(magCounts: MinMax): number;
|
||||||
|
/**
|
||||||
|
* Add ammo to the secure container
|
||||||
|
* @param stackCount How many stacks of ammo to add
|
||||||
|
* @param ammoTpl Ammo type to add
|
||||||
|
* @param stackSize Size of the ammo stack to add
|
||||||
|
* @param inventory Player inventory
|
||||||
|
*/
|
||||||
|
protected addAmmoToSecureContainer(stackCount: number, ammoTpl: string, stackSize: number, inventory: PmcInventory): void;
|
||||||
|
/**
|
||||||
|
* Get a weapons magazine tpl from a weapon template
|
||||||
|
* @param weaponMods mods from a weapon template
|
||||||
|
* @param weaponTemplate Weapon to get magazine tpl for
|
||||||
|
* @returns magazine tpl string
|
||||||
|
*/
|
||||||
|
protected getMagazineTplFromWeaponTemplate(weaponMods: Item[], weaponTemplate: ITemplateItem): string;
|
||||||
|
protected addBulletsToVestAndPockets(ammoTpl: string, bulletCount: number, inventory: PmcInventory): void;
|
||||||
|
/**
|
||||||
|
* Finds and returns compatible ammo tpl
|
||||||
|
*
|
||||||
|
* @param {*} weaponMods
|
||||||
|
* @param {*} weaponTemplate
|
||||||
|
* @returns compatible ammo tpl
|
||||||
|
*/
|
||||||
|
protected getCompatibleAmmo(weaponMods: Item[], weaponTemplate: ITemplateItem): string;
|
||||||
|
/**
|
||||||
|
* Fill existing magazines to full, while replacing their contents with specified ammo
|
||||||
|
* @param weaponMods
|
||||||
|
* @param magazine
|
||||||
|
* @param ammoTpl
|
||||||
|
*/
|
||||||
|
protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void;
|
||||||
|
/**
|
||||||
|
* Fill each Camora with a bullet
|
||||||
|
* @param weaponMods Weapon mods to find and update camora mod(s) from
|
||||||
|
* @param magazineId magazine id to find and add to
|
||||||
|
* @param ammoTpl ammo template id to hydate with
|
||||||
|
*/
|
||||||
|
protected fillCamorasWithAmmo(weaponMods: Item[], magazineId: string, ammoTpl: string): void;
|
||||||
|
}
|
@ -11,6 +11,7 @@ import { ConfigServer } from "../servers/ConfigServer";
|
|||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { SaveServer } from "../servers/SaveServer";
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
import { FenceService } from "../services/FenceService";
|
import { FenceService } from "../services/FenceService";
|
||||||
|
import { RagfairCategoriesService } from "../services/RagfairCategoriesService";
|
||||||
import { RagfairOfferService } from "../services/RagfairOfferService";
|
import { RagfairOfferService } from "../services/RagfairOfferService";
|
||||||
import { RagfairPriceService } from "../services/RagfairPriceService";
|
import { RagfairPriceService } from "../services/RagfairPriceService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
@ -31,11 +32,12 @@ export declare class RagfairOfferGenerator {
|
|||||||
protected ragfairAssortGenerator: RagfairAssortGenerator;
|
protected ragfairAssortGenerator: RagfairAssortGenerator;
|
||||||
protected ragfairOfferService: RagfairOfferService;
|
protected ragfairOfferService: RagfairOfferService;
|
||||||
protected ragfairPriceService: RagfairPriceService;
|
protected ragfairPriceService: RagfairPriceService;
|
||||||
|
protected ragfairCategoriesService: RagfairCategoriesService;
|
||||||
protected fenceService: FenceService;
|
protected fenceService: FenceService;
|
||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer);
|
constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, ragfairCategoriesService: RagfairCategoriesService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer);
|
||||||
createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer;
|
createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer;
|
||||||
protected getTraderId(userID: string): string;
|
protected getTraderId(userID: string): string;
|
||||||
protected getRating(userID: string): number;
|
protected getRating(userID: string): number;
|
@ -12,6 +12,19 @@ export declare class WeatherGenerator {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(weightedRandomHelper: WeightedRandomHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer);
|
constructor(weightedRandomHelper: WeightedRandomHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||||
calculateTime(data: IWeatherData): IWeatherData;
|
calculateTime(data: IWeatherData): IWeatherData;
|
||||||
|
/**
|
||||||
|
* Get server uptime seconds multiplied by a multiplier and add to current time as seconds
|
||||||
|
* Format to BSGs requirements
|
||||||
|
* @param computedDate current date
|
||||||
|
* @returns formatted time
|
||||||
|
*/
|
||||||
|
protected getAcceleratedTime(computedDate: Date): string;
|
||||||
|
/**
|
||||||
|
* Get current time formatted to fit BSGs requirement
|
||||||
|
* @param computedDate
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
protected getNormalTime(computedDate: Date): string;
|
||||||
generateWeather(data: IWeatherData): IWeatherData;
|
generateWeather(data: IWeatherData): IWeatherData;
|
||||||
protected getWeightedFog(): string;
|
protected getWeightedFog(): string;
|
||||||
protected getWeightedRain(): number;
|
protected getWeightedRain(): number;
|
@ -13,11 +13,13 @@ import { RandomUtil } from "../utils/RandomUtil";
|
|||||||
import { ContainerHelper } from "./ContainerHelper";
|
import { ContainerHelper } from "./ContainerHelper";
|
||||||
import { InventoryHelper } from "./InventoryHelper";
|
import { InventoryHelper } from "./InventoryHelper";
|
||||||
import { ItemHelper } from "./ItemHelper";
|
import { ItemHelper } from "./ItemHelper";
|
||||||
|
import { ProbabilityHelper } from "./ProbabilityHelper";
|
||||||
export declare class BotGeneratorHelper {
|
export declare class BotGeneratorHelper {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected hashUtil: HashUtil;
|
protected hashUtil: HashUtil;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
|
protected probabilityHelper: ProbabilityHelper;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected durabilityLimitsHelper: DurabilityLimitsHelper;
|
protected durabilityLimitsHelper: DurabilityLimitsHelper;
|
||||||
protected itemHelper: ItemHelper;
|
protected itemHelper: ItemHelper;
|
||||||
@ -25,8 +27,42 @@ export declare class BotGeneratorHelper {
|
|||||||
protected containerHelper: ContainerHelper;
|
protected containerHelper: ContainerHelper;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected botConfig: IBotConfig;
|
protected botConfig: IBotConfig;
|
||||||
constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer);
|
constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, probabilityHelper: ProbabilityHelper, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer);
|
||||||
generateModsForItem(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem, modSpawnChances: ModsChances, isPmc?: boolean): Item[];
|
generateModsForItem(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem, modSpawnChances: ModsChances, isPmc?: boolean): Item[];
|
||||||
|
/**
|
||||||
|
* Is this magazine cylinder related (revolvers and grenade launchers)
|
||||||
|
* @param magazineParentName the name of the magazines parent
|
||||||
|
* @returns true if it is cylinder related
|
||||||
|
*/
|
||||||
|
magazineIsCylinderRelated(magazineParentName: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get a list of non black-listed cartridges from the PMC bot config
|
||||||
|
* @param modSlot mod item slot
|
||||||
|
* @param itemModPool
|
||||||
|
* @returns string array of cartridges PMCs can use
|
||||||
|
*/
|
||||||
|
protected getNonBlacklistedCartridges(modSlot: string, itemModPool: Record<string, string[]>): string[];
|
||||||
|
/**
|
||||||
|
* randomly choose if a mod should be spawned, 100% for required mods OR mod is ammo slot
|
||||||
|
* never return true for an item that has 0% spawn chance
|
||||||
|
* @param itemSlot slot the item sits in
|
||||||
|
* @param modSlot slot the mod sits in
|
||||||
|
* @param modSpawnChances Chances for various mod spawns
|
||||||
|
* @returns boolean true if it should spawn
|
||||||
|
*/
|
||||||
|
protected shouldModBeSpawned(itemSlot: Slot, modSlot: string, modSpawnChances: ModsChances): boolean;
|
||||||
|
/**
|
||||||
|
* Get a list of containers that hold ammo
|
||||||
|
* @returns string array
|
||||||
|
*/
|
||||||
|
protected getAmmoContainers(): string[];
|
||||||
|
/**
|
||||||
|
* Get the slot details for an item (chamber/cartridge/slot)
|
||||||
|
* @param modSlot e.g patron_in_weapon
|
||||||
|
* @param parentTemplate item template
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
protected getModItemSlot(modSlot: string, parentTemplate: ITemplateItem): Slot;
|
||||||
/**
|
/**
|
||||||
* With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines.
|
* With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines.
|
||||||
* Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0.
|
* Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0.
|
||||||
@ -39,6 +75,12 @@ export declare class BotGeneratorHelper {
|
|||||||
* @param {object} parentTemplate The CylinderMagazine's template
|
* @param {object} parentTemplate The CylinderMagazine's template
|
||||||
*/
|
*/
|
||||||
protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void;
|
protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Take a record of camoras and merge the compatable shells into one array
|
||||||
|
* @param camorasWithShells camoras we want to merge into one array
|
||||||
|
* @returns string array of shells fro luitple camora sources
|
||||||
|
*/
|
||||||
|
protected mergeCamoraPoolsTogether(camorasWithShells: Record<string, string[]>): string[];
|
||||||
generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): {
|
generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): {
|
||||||
upd?: Upd;
|
upd?: Upd;
|
||||||
};
|
};
|
@ -34,7 +34,7 @@ export declare class BotHelper {
|
|||||||
* @param difficultySettings bot settings to alter
|
* @param difficultySettings bot settings to alter
|
||||||
* @param typesToAdd bot type to add to enemy list
|
* @param typesToAdd bot type to add to enemy list
|
||||||
*/
|
*/
|
||||||
addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[]): void;
|
addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[], typeBeingEdited: string): void;
|
||||||
/**
|
/**
|
||||||
* Add a bot to the REVENGE_BOT_TYPES array
|
* Add a bot to the REVENGE_BOT_TYPES array
|
||||||
* @param difficultySettings bot settings to alter
|
* @param difficultySettings bot settings to alter
|
@ -2,15 +2,20 @@ import { BotGenerator } from "../generators/BotGenerator";
|
|||||||
import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData";
|
import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { SaveServer } from "../servers/SaveServer";
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { BotLootCacheService } from "../services/BotLootCacheService";
|
||||||
import { FenceService } from "../services/FenceService";
|
import { FenceService } from "../services/FenceService";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
import { ItemHelper } from "./ItemHelper";
|
import { ItemHelper } from "./ItemHelper";
|
||||||
import { ProfileHelper } from "./ProfileHelper";
|
import { ProfileHelper } from "./ProfileHelper";
|
||||||
|
/**
|
||||||
|
* This class needs to exist outside of ProfileHelper to ensure cyclic deps don't cause the server to fail on load
|
||||||
|
*/
|
||||||
export declare class ExtendedProfileHelper extends ProfileHelper {
|
export declare class ExtendedProfileHelper extends ProfileHelper {
|
||||||
|
protected botLootCacheService: BotLootCacheService;
|
||||||
protected botGenerator: BotGenerator;
|
protected botGenerator: BotGenerator;
|
||||||
constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator);
|
constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, botLootCacheService: BotLootCacheService, fenceService: FenceService, botGenerator: BotGenerator);
|
||||||
generatePlayerScav(sessionID: string): IPmcData;
|
generatePlayerScav(sessionID: string): IPmcData;
|
||||||
protected getScavSkills(sessionID: string): Skills;
|
protected getScavSkills(sessionID: string): Skills;
|
||||||
protected removeSecureContainer(profile: IPmcData): IPmcData;
|
protected removeSecureContainer(profile: IPmcData): IPmcData;
|
@ -0,0 +1,51 @@
|
|||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
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)
|
||||||
|
*/
|
||||||
|
saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void;
|
||||||
|
protected saveHealth(pmcData: IPmcData, sessionID: string): void;
|
||||||
|
/**
|
||||||
|
* Save effects to profile
|
||||||
|
* Works by removing all effects and adding them back from profile
|
||||||
|
* Remoces empty 'Effects' objects if found
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @param addEffects Should effects be added back to profile
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
protected saveEffects(pmcData: IPmcData, sessionID: string, addEffects: boolean): void;
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: string): void;
|
||||||
|
protected isEmpty(map: any): boolean;
|
||||||
|
}
|
@ -28,6 +28,18 @@ export declare class InRaidHelper {
|
|||||||
markFoundItems(pmcData: IPmcData, profile: IPmcData, isPlayerScav: boolean): IPmcData;
|
markFoundItems(pmcData: IPmcData, profile: IPmcData, isPlayerScav: boolean): IPmcData;
|
||||||
removeFoundInRaidStatusFromItems(profile: IPmcData): IPmcData;
|
removeFoundInRaidStatusFromItems(profile: IPmcData): IPmcData;
|
||||||
setInventory(sessionID: string, pmcData: IPmcData, profile: IPmcData): IPmcData;
|
setInventory(sessionID: string, pmcData: IPmcData, profile: IPmcData): IPmcData;
|
||||||
|
/**
|
||||||
|
* Clear pmc inventory of all items except those that are exempt
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param sessionID Session id
|
||||||
|
* @returns Player profile with pmc inventory cleared
|
||||||
|
*/
|
||||||
deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData;
|
deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData;
|
||||||
|
/**
|
||||||
|
* Does the provided items slotId mean its kept on the player after death
|
||||||
|
* @param slotId slotid of item to check
|
||||||
|
* @returns true if item is kept after death
|
||||||
|
*/
|
||||||
|
isItemKeptAfterDeath(slotId: string): boolean;
|
||||||
getPlayerGear(items: Item[]): Item[];
|
getPlayerGear(items: Item[]): Item[];
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData";
|
import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item, Repairable } from "../models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem, StackSlot } from "../models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
@ -18,7 +18,7 @@ declare class ItemHelper {
|
|||||||
*/
|
*/
|
||||||
isValidItem(tpl: string, invalidBaseTypes?: string[]): boolean;
|
isValidItem(tpl: string, invalidBaseTypes?: string[]): boolean;
|
||||||
/**
|
/**
|
||||||
* Checks if a id is a valid item. Valid meaning that it's an item that may be a reward
|
* Checks if an id is a valid item. Valid meaning that it's an item that may be a reward
|
||||||
* or content of bot loot. Items that are tested as valid may be in a player backpack or stash.
|
* or content of bot loot. Items that are tested as valid may be in a player backpack or stash.
|
||||||
* @param {*} tpl template id of item to check
|
* @param {*} tpl template id of item to check
|
||||||
* @returns boolean: true if item is valid reward
|
* @returns boolean: true if item is valid reward
|
||||||
@ -82,27 +82,77 @@ declare class ItemHelper {
|
|||||||
* @param {string} parentId The id of the AmmoBox instance these StackSlotItems should be children of
|
* @param {string} parentId The id of the AmmoBox instance these StackSlotItems should be children of
|
||||||
* @returns {array} The array of StackSlotItems
|
* @returns {array} The array of StackSlotItems
|
||||||
*/
|
*/
|
||||||
generateStackSlotItems(item: ITemplateItem, parentId: string): StackSlot[];
|
generateItemsFromStackSlot(item: ITemplateItem, parentId: string): Item[];
|
||||||
|
/**
|
||||||
|
* Gets item data from items.json
|
||||||
|
* @param tpl items template id to look up
|
||||||
|
* @returns bool - is valid + template item object as array
|
||||||
|
*/
|
||||||
getItem(tpl: string): [boolean, ITemplateItem];
|
getItem(tpl: string): [boolean, ITemplateItem];
|
||||||
|
/**
|
||||||
|
* get normalized value (0-1) based on item condition
|
||||||
|
* @param item
|
||||||
|
* @returns number between 0 and 1
|
||||||
|
*/
|
||||||
getItemQualityModifier(item: Item): number;
|
getItemQualityModifier(item: Item): number;
|
||||||
|
/**
|
||||||
|
* Get a quality value based on a repairable items (weapon/armor) current state between current and max durability
|
||||||
|
* @param itemDetails
|
||||||
|
* @param repairable repairable object
|
||||||
|
* @param item
|
||||||
|
* @returns a number between 0 and 1
|
||||||
|
*/
|
||||||
|
protected getRepairableItemQualityValue(itemDetails: ITemplateItem, repairable: Repairable, item: Item): number;
|
||||||
|
/**
|
||||||
|
* Recursive function that looks at every item from parameter and gets their childrens Ids
|
||||||
|
* @param items
|
||||||
|
* @param itemID
|
||||||
|
* @returns an array of strings
|
||||||
|
*/
|
||||||
findAndReturnChildrenByItems(items: Item[], itemID: string): string[];
|
findAndReturnChildrenByItems(items: Item[], itemID: string): string[];
|
||||||
/**
|
/**
|
||||||
* A variant of findAndReturnChildren where the output is list of item objects instead of their ids.
|
* A variant of findAndReturnChildren where the output is list of item objects instead of their ids.
|
||||||
|
* @param items
|
||||||
|
* @param baseItemId
|
||||||
|
* @returns An array of Item objects
|
||||||
*/
|
*/
|
||||||
findAndReturnChildrenAsItems(items: Item[], baseItemId: string): Item[];
|
findAndReturnChildrenAsItems(items: Item[], baseItemId: string): Item[];
|
||||||
/**
|
/**
|
||||||
* find children of the item in a given assort (weapons parts for example, need recursive loop function)
|
* Find children of the item in a given assort (weapons parts for example, need recursive loop function)
|
||||||
|
* @param itemIdToFind Template id of item to check for
|
||||||
|
* @param assort Array of items to check in
|
||||||
|
* @returns Array of children of requested item
|
||||||
*/
|
*/
|
||||||
findAndReturnChildrenByAssort(itemIdToFind: string, assort: Item[]): Item[];
|
findAndReturnChildrenByAssort(itemIdToFind: string, assort: Item[]): Item[];
|
||||||
|
/**
|
||||||
|
* Check if the passed in item has buy count restrictions
|
||||||
|
* @param itemToCheck Item to check
|
||||||
|
* @returns true if it has buy restrictions
|
||||||
|
*/
|
||||||
hasBuyRestrictions(itemToCheck: Item): boolean;
|
hasBuyRestrictions(itemToCheck: Item): boolean;
|
||||||
/**
|
/**
|
||||||
* Is Dogtag
|
* is the passed in template id a dog tag
|
||||||
* Checks if an item is a dogtag. Used under profile_f.js to modify preparePrice based
|
* @param tpl Template id to check
|
||||||
* on the level of the dogtag
|
* @returns true if it is a dogtag
|
||||||
*/
|
*/
|
||||||
isDogtag(tpl: string): boolean;
|
isDogtag(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Can the item passed in be sold to a trader because it is raw money
|
||||||
|
* @param tpl Item template id to check
|
||||||
|
* @returns true if unsellable
|
||||||
|
*/
|
||||||
isNotSellable(tpl: string): boolean;
|
isNotSellable(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Gets the identifier for a child using slotId, locationX and locationY.
|
||||||
|
* @param item
|
||||||
|
* @returns "slotId OR slotid,locationX,locationY"
|
||||||
|
*/
|
||||||
getChildId(item: Item): string;
|
getChildId(item: Item): string;
|
||||||
|
/**
|
||||||
|
* Can the pased in item be stacked
|
||||||
|
* @param tpl item to check
|
||||||
|
* @returns true if it can be stacked
|
||||||
|
*/
|
||||||
isItemTplStackable(tpl: string): boolean;
|
isItemTplStackable(tpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* split item stack if it exceeds StackMaxSize
|
* split item stack if it exceeds StackMaxSize
|
||||||
@ -112,15 +162,17 @@ declare class ItemHelper {
|
|||||||
* Find Barter items in the inventory
|
* Find Barter items in the inventory
|
||||||
* @param {string} by
|
* @param {string} by
|
||||||
* @param {Object} pmcData
|
* @param {Object} pmcData
|
||||||
* @param {string} barter_itemID
|
* @param {string} barterItemId
|
||||||
* @returns Array
|
* @returns Array of Item objects
|
||||||
*/
|
*/
|
||||||
findBarterItems(by: string, pmcData: IPmcData, barter_itemID: string): any[];
|
findBarterItems(by: string, pmcData: IPmcData, barterItemId: string): Item[];
|
||||||
/**
|
/**
|
||||||
* @param {Object} pmcData
|
*
|
||||||
* @param {Array} items
|
* @param pmcData
|
||||||
* @param {Object} fastPanel
|
* @param items
|
||||||
* @returns Array
|
* @param insuredItems insured items to not replace ids for
|
||||||
|
* @param fastPanel
|
||||||
|
* @returns
|
||||||
*/
|
*/
|
||||||
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
||||||
/**
|
/**
|
||||||
@ -136,6 +188,12 @@ declare class ItemHelper {
|
|||||||
* @returns boolean
|
* @returns boolean
|
||||||
*/
|
*/
|
||||||
isQuestItem(tpl: string): boolean;
|
isQuestItem(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get the inventory size of an item
|
||||||
|
* @param items
|
||||||
|
* @param rootItemId
|
||||||
|
* @returns ItemSize object (width and height)
|
||||||
|
*/
|
||||||
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
|
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
|
||||||
}
|
}
|
||||||
declare namespace ItemHelper {
|
declare namespace ItemHelper {
|
@ -1,9 +1,11 @@
|
|||||||
import { Preset } from "../models/eft/common/IGlobals";
|
import { Preset } from "../models/eft/common/IGlobals";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
export declare class PresetHelper {
|
export declare class PresetHelper {
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected lookup: Record<string, string[]>;
|
protected lookup: Record<string, string[]>;
|
||||||
constructor(databaseServer: DatabaseServer);
|
constructor(jsonUtil: JsonUtil, databaseServer: DatabaseServer);
|
||||||
hydratePresetStore(input: Record<string, string[]>): void;
|
hydratePresetStore(input: Record<string, string[]>): void;
|
||||||
isPreset(id: string): boolean;
|
isPreset(id: string): boolean;
|
||||||
hasPreset(templateId: string): boolean;
|
hasPreset(templateId: string): boolean;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user