This commit is contained in:
CWX 2022-06-08 22:09:11 +01:00
parent f21be476bb
commit d26c1b7987
3245 changed files with 71062 additions and 4086 deletions

View File

@ -1,8 +1,26 @@
{ {
"name": "HideoutArchitect", "name": "HideoutArchitect",
"author": "Faupi",
"version": "1.5.0", "version": "1.5.0",
"license": "NCSA Open Source",
"main": "./src/hideoutarchitect.js", "main": "./src/hideoutarchitect.js",
"akiVersion": "3.0.0" "license": "NCSA Open Source",
} "author": "Faupi",
"akiVersion": "3.0.0",
"updated by": "CWX",
"scripts": {
"setup:environment": "npm i",
"build:unzipped": "copyfiles -e \"./node_modules/**/*.*\" -e \"./dist/**/*.*\" -e \"./package-lock.json\" -e \"./tsconfig.json\" -e \"./README.txt\" -e \"./mod.code-workspace\" ./**/*.* ./dist",
"zip:files": "cd dist/ && bestzip ../mod.zip *",
"build:zip": "npm run clean:environment && npm run build:unzipped && npm run zip:files",
"clean:environment": "node -e \"require('fs').rm('mod.zip', ()=>{})\" && node -e \"require('fs').rmdir('./dist/',{recursive:true},()=>{})\""
},
"devDependencies": {
"@types/node": "^14.15.3",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",
"copyfiles": "2.4.1",
"eslint": "7.26.0",
"tsyringe": "4.6.0",
"typescript": "4.6.4",
"bestzip": "2.2.1"
}
}

View File

@ -1,15 +1,14 @@
import type { DependencyContainer } from "tsyringe"; import type { DependencyContainer } from "tsyringe";
import { IMod } from "../types/models/external/mod"; import { IMod } from "@spt-aki/models/external/mod";
import { ILogger } from "../types/models/spt/utils/ILogger"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { DynamicRouterModService } from "../types/services/mod/dynamicRouter/DynamicRouterModService" import { DynamicRouterModService } from "@spt-aki/services/mod/dynamicRouter/DynamicRouterModService"
import { DatabaseServer } from "../types/servers/DatabaseServer" import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"
import { JsonUtil } from "../types/utils/JsonUtil" import { JsonUtil } from "@spt-aki/utils/JsonUtil"
import { InitialModLoader } from "../types/loaders/InitialModLoader" import { InitialModLoader } from "@spt-aki/loaders/InitialModLoader"
const path = require('path');
class HideoutArchitect implements IMod class HideoutArchitect implements IMod
{ {
private path;
private logger: ILogger; private logger: ILogger;
private database: DatabaseServer; private database: DatabaseServer;
private router: DynamicRouterModService; private router: DynamicRouterModService;
@ -24,12 +23,13 @@ class HideoutArchitect implements IMod
{ {
this.logger = container.resolve<ILogger>("WinstonLogger"); this.logger = container.resolve<ILogger>("WinstonLogger");
this.router = container.resolve<DynamicRouterModService>("DynamicRouterModService"); this.router = container.resolve<DynamicRouterModService>("DynamicRouterModService");
this.path = require("path");
this.json = container.resolve<JsonUtil>("JsonUtil"); this.json = container.resolve<JsonUtil>("JsonUtil");
this.mod = require("../package.json"); this.mod = require("../package.json");
this.translations = require("../res/translations.json"); this.translations = require("../res/translations.json");
this.logger.info(`Loading: ${this.mod.name} ${this.mod.version}`); this.logger.info(`Loading: ${this.mod.name} ${this.mod.version}`);
this.hookRoutes(); this.hookRoutes();
} }
public delayedLoad(container: DependencyContainer) public delayedLoad(container: DependencyContainer)
@ -43,12 +43,17 @@ class HideoutArchitect implements IMod
private loadLocalization() private loadLocalization()
{ {
for(let language in this.translations){ for (const language in this.translations)
if(!(language in this.globalLocale)) continue; {
if (!(language in this.globalLocale))
let attrKvPair = this.translations[language]; {
for(let attrKey in attrKvPair){ continue;
let attrValue = attrKvPair[attrKey]; }
const attrKvPair = this.translations[language];
for (const attrKey in attrKvPair)
{
const attrValue = attrKvPair[attrKey];
this.globalLocale[language].interface[attrKey] = attrValue; this.globalLocale[language].interface[attrKey] = attrValue;
} }
@ -72,14 +77,14 @@ class HideoutArchitect implements IMod
) )
} }
private getModInfo(url, info, sessionId, output) private getModInfo(url: string, info: any, sessionId: string, output: string)
{ {
var modOutput = { const modOutput = {
status: 1, status: 1,
data: null data: null
}; };
modOutput.data = {...this.mod, ...{path: path.resolve(this.modLoader.getModPath(this.mod.name))}}; modOutput.data = {...this.mod, ...{path: this.path.resolve(this.modLoader.getModPath(this.mod.name))}};
modOutput.status = 0; modOutput.status = 0;
return this.json.serialize(modOutput); return this.json.serialize(modOutput);

View File

@ -5,8 +5,8 @@ import { IBotBase } from "../models/eft/common/tables/IBotBase";
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class BotCallbacks { export declare class BotCallbacks {
private botController; protected botController: BotController;
private httpResponse; protected httpResponse: HttpResponseUtil;
constructor(botController: BotController, httpResponse: HttpResponseUtil); constructor(botController: BotController, httpResponse: HttpResponseUtil);
getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string;
getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string;

View File

@ -1,15 +1,16 @@
import { BundleLoader } from "../loaders/BundleLoader"; import { BundleLoader } from "../loaders/BundleLoader";
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";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class BundleCallbacks { export declare class BundleCallbacks {
private logger; protected logger: ILogger;
private httpResponse; protected httpResponse: HttpResponseUtil;
private httpServer; protected httpServer: IHttpServer;
private bundleLoader; protected bundleLoader: BundleLoader;
private configServer; protected configServer: ConfigServer;
private httpConfig; protected httpConfig: IHttpConfig;
constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, bundleLoader: BundleLoader, configServer: ConfigServer); constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, bundleLoader: BundleLoader, configServer: ConfigServer);
sendBundle(sessionID: string, req: any, resp: any, body: any): any; sendBundle(sessionID: string, req: any, resp: any, body: any): any;
getBundles(url: string, info: any, sessionID: string): string; getBundles(url: string, info: any, sessionID: string): string;

View File

@ -9,9 +9,9 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
import { SaveServer } from "../servers/SaveServer"; import { SaveServer } from "../servers/SaveServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class CustomizationCallbacks { export declare class CustomizationCallbacks {
private customizationController; protected customizationController: CustomizationController;
private saveServer; protected saveServer: SaveServer;
private httpResponse; protected httpResponse: HttpResponseUtil;
constructor(customizationController: CustomizationController, saveServer: SaveServer, httpResponse: HttpResponseUtil); constructor(customizationController: CustomizationController, saveServer: SaveServer, httpResponse: HttpResponseUtil);
getSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<{ getSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<{
_id: string; _id: string;

View File

@ -12,8 +12,8 @@ import { ISettingsBase } from "../models/spt/server/ISettingsBase";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class DataCallbacks { export declare class DataCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private databaseServer; protected databaseServer: DatabaseServer;
constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer); constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer);
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>; getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>; getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;

View File

@ -21,10 +21,10 @@ import { HashUtil } from "../utils/HashUtil";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
export declare class DialogueCallbacks extends OnUpdate { export declare class DialogueCallbacks extends OnUpdate {
private hashUtil; protected hashUtil: HashUtil;
private timeUtil; protected timeUtil: TimeUtil;
private httpResponse; protected httpResponse: HttpResponseUtil;
private dialogueController; protected dialogueController: DialogueController;
constructor(hashUtil: HashUtil, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, dialogueController: DialogueController); constructor(hashUtil: HashUtil, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, dialogueController: DialogueController);
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>; getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<any[]>; getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<any[]>;

View File

@ -8,9 +8,9 @@ import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { Watermark } from "../utils/Watermark"; import { Watermark } from "../utils/Watermark";
declare class GameCallbacks { declare class GameCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private watermark; protected watermark: Watermark;
private gameController; protected gameController: GameController;
constructor(httpResponse: HttpResponseUtil, watermark: Watermark, gameController: GameController); constructor(httpResponse: HttpResponseUtil, watermark: Watermark, gameController: GameController);
versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData;
gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>; gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;

View File

@ -1,7 +1,7 @@
import { HandbookController } from "../controllers/HandbookController"; import { HandbookController } from "../controllers/HandbookController";
import { OnLoad } from "../di/OnLoad"; import { OnLoad } from "../di/OnLoad";
export declare class HandbookCallbacks extends OnLoad { export declare class HandbookCallbacks extends OnLoad {
private handbookController; protected handbookController: HandbookController;
constructor(handbookController: HandbookController); constructor(handbookController: HandbookController);
onLoad(): void; onLoad(): void;
getRoute(): string; getRoute(): string;

View File

@ -9,9 +9,9 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class HealthCallbacks { export declare class HealthCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private profileHelper; protected profileHelper: ProfileHelper;
private healthController; protected healthController: HealthController;
constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController);
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;

View File

@ -11,11 +11,12 @@ import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutTog
import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData"; import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData";
import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IHideoutConfig } from "../models/spt/config/IHideoutConfig";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
export declare class HideoutCallbacks extends OnUpdate { export declare class HideoutCallbacks extends OnUpdate {
private hideoutController; protected hideoutController: HideoutController;
private configServer; protected configServer: ConfigServer;
private hideoutConfig; protected hideoutConfig: IHideoutConfig;
constructor(hideoutController: HideoutController, // TODO: delay needed constructor(hideoutController: HideoutController, // TODO: delay needed
configServer: ConfigServer); configServer: ConfigServer);
upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -1,7 +1,7 @@
import { OnLoad } from "../di/OnLoad"; import { OnLoad } from "../di/OnLoad";
import { IHttpServer } from "../models/spt/server/IHttpServer"; import { IHttpServer } from "../models/spt/server/IHttpServer";
export declare class HttpCallbacks extends OnLoad { export declare class HttpCallbacks extends OnLoad {
private httpServer; protected httpServer: IHttpServer;
constructor(httpServer: IHttpServer); constructor(httpServer: IHttpServer);
onLoad(): void; onLoad(): void;
getRoute(): string; getRoute(): string;

View File

@ -3,14 +3,16 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData";
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
import { IAirdropConfig } from "../models/spt/config/IAirdropConfig";
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class InraidCallbacks { export declare class InraidCallbacks {
private inraidController; protected inraidController: InraidController;
private httpResponse; protected httpResponse: HttpResponseUtil;
private configServer; protected configServer: ConfigServer;
private airdropConfig; protected airdropConfig: IAirdropConfig;
private inraidConfig; protected inraidConfig: IInRaidConfig;
constructor(inraidController: InraidController, httpResponse: HttpResponseUtil, configServer: ConfigServer); constructor(inraidController: InraidController, httpResponse: HttpResponseUtil, configServer: ConfigServer);
registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData;
saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData; saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData;

View File

@ -5,15 +5,16 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons
import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData";
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 { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { InsuranceService } from "../services/InsuranceService"; import { InsuranceService } from "../services/InsuranceService";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class InsuranceCallbacks extends OnLoadOnUpdate { export declare class InsuranceCallbacks extends OnLoadOnUpdate {
private insuranceController; protected insuranceController: InsuranceController;
private insuranceService; protected insuranceService: InsuranceService;
private httpResponse; protected httpResponse: HttpResponseUtil;
private configServer; protected configServer: ConfigServer;
private insuranceConfig; 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<any>;

View File

@ -18,7 +18,7 @@ import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryT
import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
export declare class InventoryCallbacks { export declare class InventoryCallbacks {
private inventoryController; protected inventoryController: InventoryController;
constructor(inventoryController: InventoryController); constructor(inventoryController: InventoryController);
moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse;
removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -4,8 +4,8 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ItemEventRouter } from "../routers/ItemEventRouter";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class ItemEventCallbacks { export declare class ItemEventCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
constructor(httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter); constructor(httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter);
handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData<IItemEventRouterResponse>; handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData<IItemEventRouterResponse>;
} }

View File

@ -8,10 +8,10 @@ import { SaveServer } from "../servers/SaveServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { Watermark } from "../utils/Watermark"; import { Watermark } from "../utils/Watermark";
declare class LauncherCallbacks { declare class LauncherCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private launcherController; protected launcherController: LauncherController;
private saveServer; protected saveServer: SaveServer;
private watermark; protected watermark: Watermark;
constructor(httpResponse: HttpResponseUtil, launcherController: LauncherController, saveServer: SaveServer, watermark: Watermark); constructor(httpResponse: HttpResponseUtil, launcherController: LauncherController, saveServer: SaveServer, watermark: Watermark);
connect(): string; connect(): string;
login(url: string, info: ILoginRequestData, sessionID: string): string; login(url: string, info: ILoginRequestData, sessionID: string): string;

View File

@ -6,8 +6,8 @@ import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyRespons
import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData"; import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class LocationCallbacks { export declare class LocationCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private locationController; protected locationController: LocationController;
constructor(httpResponse: HttpResponseUtil, locationController: LocationController); constructor(httpResponse: HttpResponseUtil, locationController: LocationController);
getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ILocationsGenerateAllResponse>; getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ILocationsGenerateAllResponse>;
getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData<ILocationBase>; getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData<ILocationBase>;

View File

@ -9,10 +9,10 @@ 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";
export declare class MatchCallbacks { export declare class MatchCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private jsonUtil; protected jsonUtil: JsonUtil;
private matchController; protected matchController: MatchController;
private 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: any, sessionID: string): INullResponseData;
exitMatch(url: string, info: any, sessionID: string): INullResponseData; exitMatch(url: string, info: any, sessionID: string): INullResponseData;

View File

@ -1,16 +1,17 @@
import { OnLoad } from "../di/OnLoad"; import { OnLoad } from "../di/OnLoad";
import { DelayedModLoader } from "../loaders/DelayedModLoader"; import { DelayedModLoader } from "../loaders/DelayedModLoader";
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";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
declare class ModCallbacks extends OnLoad { declare class ModCallbacks extends OnLoad {
private logger; protected logger: ILogger;
private httpResponse; protected httpResponse: HttpResponseUtil;
private httpServer; protected httpServer: IHttpServer;
private modLoader; protected modLoader: DelayedModLoader;
private configServer; protected configServer: ConfigServer;
private httpConfig; protected httpConfig: IHttpConfig;
constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer);
onLoad(): void; onLoad(): void;
getRoute(): string; getRoute(): string;

View File

@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { INoteActionData } from "../models/eft/notes/INoteActionData"; import { INoteActionData } from "../models/eft/notes/INoteActionData";
export declare class NoteCallbacks { export declare class NoteCallbacks {
private noteController; protected noteController: NoteController;
constructor(noteController: NoteController); constructor(noteController: NoteController);
addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;
editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;

View File

@ -6,9 +6,9 @@ import { INotifierChannel } from "../models/eft/notifier/INotifier";
import { ISelectProfileRequestData } from "../models/eft/notifier/ISelectProfileRequestData"; import { ISelectProfileRequestData } from "../models/eft/notifier/ISelectProfileRequestData";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class NotifierCallbacks { export declare class NotifierCallbacks {
private httpServerHelper; protected httpServerHelper: HttpServerHelper;
private httpResponse; protected httpResponse: HttpResponseUtil;
private notifierController; protected notifierController: NotifierController;
constructor(httpServerHelper: HttpServerHelper, httpResponse: HttpResponseUtil, notifierController: NotifierController); constructor(httpServerHelper: HttpServerHelper, httpResponse: HttpResponseUtil, notifierController: NotifierController);
/** /**
* If we don't have anything to send, it's ok to not send anything back * If we don't have anything to send, it's ok to not send anything back
@ -16,7 +16,7 @@ export declare class NotifierCallbacks {
* until we actually have something to send because otherwise we'd spam the client * until we actually have something to send because otherwise we'd spam the client
* and the client would abort the connection due to spam. * and the client would abort the connection due to spam.
*/ */
sendNotification(sessionID: string, req: any, resp: any, data: any): void; sendNotification(_sessionID: string, req: any, resp: any, _data: any): void;
getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData<any[]>; getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData<any[]>;
createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<INotifierChannel>; createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<INotifierChannel>;
selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData<any>; selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData<any>;

View File

@ -6,8 +6,8 @@ import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPreset
import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; import { WeaponBuild } from "../models/eft/profile/IAkiProfile";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class PresetBuildCallbacks { export declare class PresetBuildCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private 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: any, sessionID: string): IGetBodyResponseData<WeaponBuild[]>;
saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -1,7 +1,7 @@
import { PresetController } from "../controllers/PresetController"; import { PresetController } from "../controllers/PresetController";
import { OnLoad } from "../di/OnLoad"; import { OnLoad } from "../di/OnLoad";
export declare class PresetCallbacks extends OnLoad { export declare class PresetCallbacks extends OnLoad {
private presetController; protected presetController: PresetController;
constructor(presetController: PresetController); constructor(presetController: PresetController);
onLoad(): void; onLoad(): void;
getRoute(): string; getRoute(): string;

View File

@ -12,9 +12,9 @@ import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNic
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
export declare class ProfileCallbacks { export declare class ProfileCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private timeUtil; protected timeUtil: TimeUtil;
private profileController; protected profileController: ProfileController;
constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, profileController: ProfileController); constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, profileController: ProfileController);
createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData<any>; createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData<any>;
getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>; getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;

View File

@ -13,9 +13,9 @@ import { IListQuestsRequestData } from "../models/eft/quests/IListQuestsRequestD
import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class QuestCallbacks { export declare class QuestCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private questController; protected questController: QuestController;
private repeatableQuestController; protected repeatableQuestController: RepeatableQuestController;
constructor(httpResponse: HttpResponseUtil, questController: QuestController, repeatableQuestController: RepeatableQuestController); constructor(httpResponse: HttpResponseUtil, questController: QuestController, repeatableQuestController: RepeatableQuestController);
changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -3,6 +3,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate";
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; 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 { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData"; import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData";
import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData";
@ -10,19 +11,20 @@ import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult";
import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData";
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 { 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";
import { RagfairServer } from "../servers/RagfairServer"; import { RagfairServer } from "../servers/RagfairServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
export declare class RagfairCallbacks extends OnLoadOnUpdate { export declare class RagfairCallbacks extends OnLoadOnUpdate {
private httpResponse; protected httpResponse: HttpResponseUtil;
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private ragfairServer; protected ragfairServer: RagfairServer;
private ragfairController; protected ragfairController: RagfairController;
private configServer; protected configServer: ConfigServer;
private ragfairConfig; protected ragfairConfig: IRagfairConfig;
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;
@ -33,4 +35,5 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate {
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;
} }

View File

@ -4,7 +4,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest";
import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest";
export declare class RepairCallbacks { export declare class RepairCallbacks {
private repairController; protected repairController: RepairController;
constructor(repairController: RepairController); constructor(repairController: RepairController);
traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse;
repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse;

View File

@ -1,7 +1,7 @@
import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate";
import { SaveServer } from "../servers/SaveServer"; import { SaveServer } from "../servers/SaveServer";
export declare class SaveCallbacks extends OnLoadOnUpdate { export declare class SaveCallbacks extends OnLoadOnUpdate {
private saveServer; protected saveServer: SaveServer;
constructor(saveServer: SaveServer); constructor(saveServer: SaveServer);
onLoad(): void; onLoad(): void;
getRoute(): string; getRoute(): string;

View File

@ -4,7 +4,7 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
export declare class TradeCallbacks { export declare class TradeCallbacks {
private tradeController; protected tradeController: TradeController;
constructor(tradeController: TradeController); constructor(tradeController: TradeController);
processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse;
processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -5,8 +5,8 @@ import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class TraderCallbacks extends OnLoadOnUpdate { export declare class TraderCallbacks extends OnLoadOnUpdate {
private httpResponse; protected httpResponse: HttpResponseUtil;
private traderController; protected traderController: TraderController;
constructor(httpResponse: HttpResponseUtil, traderController: TraderController); constructor(httpResponse: HttpResponseUtil, traderController: TraderController);
onLoad(): void; onLoad(): void;
getRoute(): string; getRoute(): string;

View File

@ -3,8 +3,8 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class WeatherCallbacks { export declare class WeatherCallbacks {
private httpResponse; protected httpResponse: HttpResponseUtil;
private weatherController; protected weatherController: WeatherController;
constructor(httpResponse: HttpResponseUtil, weatherController: WeatherController); constructor(httpResponse: HttpResponseUtil, weatherController: WeatherController);
getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>; getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
} }

View File

@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData";
export declare class WishlistCallbacks { export declare class WishlistCallbacks {
private wishlistController; protected wishlistController: WishlistController;
constructor(wishlistController: WishlistController); constructor(wishlistController: WishlistController);
addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse;
removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse;

View File

@ -1,20 +1,35 @@
import { DatabaseServer } from "../servers/DatabaseServer"; import { BotGenerator } from "../generators/BotGenerator";
import { Difficulty } from "../models/eft/common/tables/IBotType"; import { BotHelper } from "../helpers/BotHelper";
import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData";
import { IBotBase } from "../models/eft/common/tables/IBotBase"; import { IBotBase } from "../models/eft/common/tables/IBotBase";
import { IBotCore } from "../models/eft/common/tables/IBotCore"; import { IBotCore } from "../models/eft/common/tables/IBotCore";
import { Difficulty } from "../models/eft/common/tables/IBotType";
import { IBotConfig } from "../models/spt/config/IBotConfig";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { BotHelper } from "../helpers/BotHelper"; import { DatabaseServer } from "../servers/DatabaseServer";
import { BotGenerator } from "../generators/BotGenerator";
export declare class BotController { export declare class BotController {
private databaseServer; protected databaseServer: DatabaseServer;
private botGenerator; protected botGenerator: BotGenerator;
private botHelper; protected botHelper: BotHelper;
private configServer; protected configServer: ConfigServer;
private botConfig; protected botConfig: IBotConfig;
constructor(databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, configServer: ConfigServer); constructor(databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, configServer: ConfigServer);
getBotLimit(type: string): number; /**
getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty; * Return the number of bot loadout varieties to be generated
* @param type bot Type we want the loadout gen count for
* @returns
*/
getBotPresetGenerationLimit(type: string): number;
getBotCoreDifficulty(): IBotCore;
/**
* Get bot difficulty settings
* adjust PMC settings to ensure they engage the correct bot types
* @param type what bot the server is requesting settings for
* @param difficulty difficulty level server requested settings for
* @returns Difficulty object
*/
getBotDifficulty(type: string, difficulty: string): Difficulty;
protected getPmcDifficultySettings(pmcType: "bear" | "usec", difficulty: string): Difficulty;
generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[];
getBotCap(): number; getBotCap(): number;
} }

View File

@ -1,22 +1,22 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
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 { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { ISuit } from "../models/eft/common/tables/ITrader"; import { ISuit } from "../models/eft/common/tables/ITrader";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ILogger } from "../models/spt/utils/ILogger"; import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
export declare class CustomizationController { export declare class CustomizationController {
private logger; protected logger: ILogger;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private databaseServer; protected databaseServer: DatabaseServer;
private saveServer; protected saveServer: SaveServer;
private profileHelper; protected profileHelper: ProfileHelper;
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper); constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper);
getTraderSuits(traderID: string, sessionID: string): ISuit[]; getTraderSuits(traderID: string, sessionID: string): ISuit[];
wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse;
buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse;
private getAllTraderSuits; protected getAllTraderSuits(sessionID: string): ISuit[];
} }

View File

@ -1,15 +1,15 @@
import { SaveServer } from "../servers/SaveServer";
import { DialogueHelper } from "../helpers/DialogueHelper"; import { DialogueHelper } from "../helpers/DialogueHelper";
import { DialogueInfo } from "../models/eft/profile/IAkiProfile"; import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile";
import { SaveServer } from "../servers/SaveServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class DialogueController { export declare class DialogueController {
private httpResponse; protected httpResponse: HttpResponseUtil;
private saveServer; protected saveServer: SaveServer;
private dialogueHelper; protected dialogueHelper: DialogueHelper;
constructor(httpResponse: HttpResponseUtil, saveServer: SaveServer, dialogueHelper: DialogueHelper); constructor(httpResponse: HttpResponseUtil, saveServer: SaveServer, dialogueHelper: DialogueHelper);
getFriendList(sessionID: string): IGetFriendListDataResponse; getFriendList(sessionID: string): IGetFriendListDataResponse;
generateDialogueList(sessionID: string): IGetBodyResponseData<DialogueInfo[]>; generateDialogueList(sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
@ -19,6 +19,7 @@ export declare class DialogueController {
setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void; setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void;
setRead(dialogueIDs: string[], sessionID: string): void; setRead(dialogueIDs: string[], sessionID: string): void;
getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse; getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse;
private removeExpiredItems; protected messagesHaveUncollectedRewards(messages: Message[]): boolean;
protected removeExpiredItems(sessionID: string): void;
update(): void; update(): void;
} }

View File

@ -1,20 +1,32 @@
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 { 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 { Watermark } from "../utils/Watermark"; import { Watermark } from "../utils/Watermark";
export declare class GameController { export declare class GameController {
private logger; protected logger: ILogger;
private watermark; protected watermark: Watermark;
private httpServerHelper; protected httpServerHelper: HttpServerHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private configServer; protected configServer: ConfigServer;
private httpConfig; protected httpConfig: IHttpConfig;
constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer);
gameStart(url: string, info: IEmptyRequestData, sessionID: string): void; gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void;
protected addMissingBonusesProperty(pmcProfile: IPmcData): 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[];
private getActiveRepeatableQuests; protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[];
} }

View File

@ -1,8 +1,8 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { HandbookHelper } from "../helpers/HandbookHelper"; import { HandbookHelper } from "../helpers/HandbookHelper";
import { DatabaseServer } from "../servers/DatabaseServer";
export declare class HandbookController { export declare class HandbookController {
private databaseServer; protected databaseServer: DatabaseServer;
private handbookHelper; protected handbookHelper: HandbookHelper;
constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper); constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper);
load(): void; load(): void;
} }

View File

@ -11,12 +11,12 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout
import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ILogger } from "../models/spt/utils/ILogger"; import { ILogger } from "../models/spt/utils/ILogger";
export declare class HealthController { export declare class HealthController {
private logger; protected logger: ILogger;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private itemHelper; protected itemHelper: ItemHelper;
private paymentService; protected paymentService: PaymentService;
private inventoryHelper; protected inventoryHelper: InventoryHelper;
private 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; saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void;
offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -1,46 +1,47 @@
import { RandomUtil } from "../utils/RandomUtil"; import { HideoutHelper } from "../helpers/HideoutHelper";
import { TimeUtil } from "../utils/TimeUtil"; import { InventoryHelper } from "../helpers/InventoryHelper";
import { HashUtil } from "../utils/HashUtil"; import { PaymentHelper } from "../helpers/PaymentHelper";
import { SaveServer } from "../servers/SaveServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { ConfigServer } from "../servers/ConfigServer";
import { PlayerService } from "../services/PlayerService";
import { PresetHelper } from "../helpers/PresetHelper"; import { PresetHelper } from "../helpers/PresetHelper";
import { ProfileHelper } from "../helpers/ProfileHelper"; import { ProfileHelper } from "../helpers/ProfileHelper";
import { PaymentHelper } from "../helpers/PaymentHelper";
import { InventoryHelper } from "../helpers/InventoryHelper";
import { HideoutHelper } from "../helpers/HideoutHelper";
import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData";
import { IPmcData } from "../models/eft/common/IPmcData"; import { IPmcData } from "../models/eft/common/IPmcData";
import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData"; import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData";
import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData";
import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData";
import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData";
import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData";
import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData";
import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData";
import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData";
import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData";
import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData";
import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData";
import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData";
import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData";
import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData";
import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ItemEventRouter } from "../routers/ItemEventRouter"; import { IHideoutConfig } from "../models/spt/config/IHideoutConfig";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { ILogger } from "../models/spt/utils/ILogger"; import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { PlayerService } from "../services/PlayerService";
import { HashUtil } from "../utils/HashUtil";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { RandomUtil } from "../utils/RandomUtil";
import { TimeUtil } from "../utils/TimeUtil";
export declare class HideoutController { export declare class HideoutController {
private logger; protected logger: ILogger;
private hashUtil; protected hashUtil: HashUtil;
private timeUtil; protected timeUtil: TimeUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private randomUtil; protected randomUtil: RandomUtil;
private inventoryHelper; protected inventoryHelper: InventoryHelper;
private saveServer; protected saveServer: SaveServer;
private playerService; protected playerService: PlayerService;
private presetHelper; protected presetHelper: PresetHelper;
private paymentHelper; protected paymentHelper: PaymentHelper;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private httpResponse; protected httpResponse: HttpResponseUtil;
private profileHelper; protected profileHelper: ProfileHelper;
private hideoutHelper; protected hideoutHelper: HideoutHelper;
private configServer; protected configServer: ConfigServer;
private hideoutConfig; protected hideoutConfig: IHideoutConfig;
constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, configServer: ConfigServer); constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, configServer: ConfigServer);
upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse;
upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -1,29 +1,30 @@
import { SaveServer } from "../servers/SaveServer"; import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
import { DatabaseServer } from "../servers/DatabaseServer";
import { ItemHelper } from "../helpers/ItemHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { HealthHelper } from "../helpers/HealthHelper"; import { HealthHelper } from "../helpers/HealthHelper";
import { InRaidHelper } from "../helpers/InRaidHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { QuestHelper } from "../helpers/QuestHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData";
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { JsonUtil } from "../utils/JsonUtil"; import { DatabaseServer } from "../servers/DatabaseServer";
import { QuestHelper } from "../helpers/QuestHelper"; import { SaveServer } from "../servers/SaveServer";
import { InRaidHelper } from "../helpers/InRaidHelper";
import { InsuranceService } from "../services/InsuranceService"; import { InsuranceService } from "../services/InsuranceService";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper"; import { JsonUtil } from "../utils/JsonUtil";
export declare class InraidController { export declare class InraidController {
private saveServer; protected saveServer: SaveServer;
private jsonUtil; protected jsonUtil: JsonUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private questHelper; protected questHelper: QuestHelper;
private itemHelper; protected itemHelper: ItemHelper;
private extendedProfileHelper; protected extendedProfileHelper: ExtendedProfileHelper;
private healthHelper; protected healthHelper: HealthHelper;
private traderHelper; protected traderHelper: TraderHelper;
private insuranceService; protected insuranceService: InsuranceService;
private inRaidHelper; protected inRaidHelper: InRaidHelper;
private configServer; protected configServer: ConfigServer;
private inraidConfig; protected inraidConfig: IInRaidConfig;
constructor(saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, extendedProfileHelper: ExtendedProfileHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, configServer: ConfigServer); constructor(saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, extendedProfileHelper: ExtendedProfileHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, configServer: ConfigServer);
addPlayer(sessionID: string, info: IRegisterPlayerRequestData): void; addPlayer(sessionID: string, info: IRegisterPlayerRequestData): void;
saveProgress(offraidData: ISaveProgressRequestData, sessionID: string): void; saveProgress(offraidData: ISaveProgressRequestData, sessionID: string): void;

View File

@ -1,33 +1,34 @@
import { RandomUtil } from "../utils/RandomUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { SaveServer } from "../servers/SaveServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { ConfigServer } from "../servers/ConfigServer";
import { PaymentService } from "../services/PaymentService";
import { DialogueHelper } from "../helpers/DialogueHelper"; import { DialogueHelper } from "../helpers/DialogueHelper";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { ItemHelper } from "../helpers/ItemHelper"; import { ItemHelper } from "../helpers/ItemHelper";
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 { 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 { InsuranceService } from "../services/InsuranceService"; import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
import { ILogger } from "../models/spt/utils/ILogger"; import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { InsuranceService } from "../services/InsuranceService";
import { PaymentService } from "../services/PaymentService";
import { RandomUtil } from "../utils/RandomUtil";
import { TimeUtil } from "../utils/TimeUtil";
export declare class InsuranceController { export declare class InsuranceController {
private logger; protected logger: ILogger;
private randomUtil; protected randomUtil: RandomUtil;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private timeUtil; protected timeUtil: TimeUtil;
private saveServer; protected saveServer: SaveServer;
private databaseServer; protected databaseServer: DatabaseServer;
private itemHelper; protected itemHelper: ItemHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private dialogueHelper; protected dialogueHelper: DialogueHelper;
private paymentService; protected paymentService: PaymentService;
private insuranceService; protected insuranceService: InsuranceService;
private configServer; protected configServer: ConfigServer;
private insuranceConfig; protected insuranceConfig: IInsuranceConfig;
constructor(logger: ILogger, randomUtil: RandomUtil, itemEventRouter: ItemEventRouter, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, // TODO: delay required constructor(logger: ILogger, randomUtil: RandomUtil, itemEventRouter: ItemEventRouter, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, // TODO: delay required
insuranceService: InsuranceService, configServer: ConfigServer); insuranceService: InsuranceService, configServer: ConfigServer);
processReturn(): void; processReturn(): void;

View File

@ -27,15 +27,15 @@ import { DatabaseServer } from "../servers/DatabaseServer";
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 {
private logger; protected logger: ILogger;
private hashUtil; protected hashUtil: HashUtil;
private jsonUtil; protected jsonUtil: JsonUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private presetHelper; protected presetHelper: PresetHelper;
private inventoryHelper; protected inventoryHelper: InventoryHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private paymentHelper; protected paymentHelper: PaymentHelper;
private 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, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter);
/** /**
* Move Item * Move Item

View File

@ -1,25 +1,26 @@
import { HashUtil } from "../utils/HashUtil"; import { HttpServerHelper } from "../helpers/HttpServerHelper";
import { SaveServer } from "../servers/SaveServer"; import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData";
import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData";
import { IRegisterData } from "../models/eft/launcher/IRegisterData";
import { Info } from "../models/eft/profile/IAkiProfile";
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
import { IRegisterData } from "../models/eft/launcher/IRegisterData"; import { SaveServer } from "../servers/SaveServer";
import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; import { HashUtil } from "../utils/HashUtil";
import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData";
import { Info } from "../models/eft/profile/IAkiProfile";
import { HttpServerHelper } from "../helpers/HttpServerHelper";
export declare class LauncherController { export declare class LauncherController {
private hashUtil; protected hashUtil: HashUtil;
private saveServer; protected saveServer: SaveServer;
private httpServerHelper; protected httpServerHelper: HttpServerHelper;
private databaseServer; protected databaseServer: DatabaseServer;
private configServer; protected configServer: ConfigServer;
private coreConfig; protected coreConfig: ICoreConfig;
constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, databaseServer: DatabaseServer, configServer: ConfigServer); constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, databaseServer: DatabaseServer, configServer: ConfigServer);
connect(): any; connect(): any;
find(sessionIdKey: string): Info; find(sessionIdKey: string): Info;
login(info: ILoginRequestData): string; login(info: ILoginRequestData): string;
register(info: IRegisterData): string; register(info: IRegisterData): string;
private createAccount; protected createAccount(info: IRegisterData): string;
changeUsername(info: IChangeRequestData): string; changeUsername(info: IChangeRequestData): string;
changePassword(info: IChangeRequestData): string; changePassword(info: IChangeRequestData): string;
wipe(info: IRegisterData): string; wipe(info: IRegisterData): string;

View File

@ -1,16 +1,16 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { LocationGenerator } from "../generators/LocationGenerator"; import { LocationGenerator } from "../generators/LocationGenerator";
import { ILocationBase } from "../models/eft/common/ILocationBase"; import { ILocationBase } from "../models/eft/common/ILocationBase";
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase"; import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class LocationController { export declare class LocationController {
private jsonUtil; protected jsonUtil: JsonUtil;
private logger; protected logger: ILogger;
private locationGenerator; protected locationGenerator: LocationGenerator;
private databaseServer; protected databaseServer: DatabaseServer;
private timeUtil; protected timeUtil: TimeUtil;
constructor(jsonUtil: JsonUtil, logger: ILogger, locationGenerator: LocationGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil); constructor(jsonUtil: JsonUtil, logger: ILogger, locationGenerator: LocationGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil);
get(location: string): ILocationBase; get(location: string): ILocationBase;
generate(name: string): ILocationBase; generate(name: string): ILocationBase;

View File

@ -4,21 +4,23 @@ import { IPmcData } from "../models/eft/common/IPmcData";
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData";
import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData";
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
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 { MatchLocationService } from "../services/MatchLocationService"; import { MatchLocationService } from "../services/MatchLocationService";
export declare class MatchController { export declare class MatchController {
private saveServer; protected saveServer: SaveServer;
private profileHelper; protected profileHelper: ProfileHelper;
private matchLocationService; protected matchLocationService: MatchLocationService;
private traderHelper; protected traderHelper: TraderHelper;
private configServer; protected configServer: ConfigServer;
private matchConfig; protected matchConfig: IMatchConfig;
private inraidConfig; protected inraidConfig: IInRaidConfig;
constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer);
getEnabled(): boolean; getEnabled(): boolean;
getProfile(info: IGetProfileRequestData): IPmcData[]; getProfile(info: IGetProfileRequestData): IPmcData[];
private getMatch; protected getMatch(location: any): any;
createGroup(sessionID: string, info: any): any; createGroup(sessionID: string, info: any): any;
deleteGroup(info: any): void; deleteGroup(info: any): void;
joinMatch(info: any, sessionID: string): any[]; joinMatch(info: any, sessionID: string): any[];

View File

@ -1,9 +1,9 @@
import { IPmcData } from "../models/eft/common/IPmcData"; import { IPmcData } from "../models/eft/common/IPmcData";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ItemEventRouter } from "../routers/ItemEventRouter";
declare class NoteController { declare class NoteController {
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
constructor(itemEventRouter: ItemEventRouter); constructor(itemEventRouter: ItemEventRouter);
addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;
editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;

View File

@ -3,11 +3,11 @@ import { NotificationService } from "../services/NotificationService";
import { INotifierChannel } from "../models/eft/notifier/INotifier"; import { INotifierChannel } from "../models/eft/notifier/INotifier";
import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { HttpServerHelper } from "../helpers/HttpServerHelper";
export declare class NotifierController { export declare class NotifierController {
private notifierHelper; protected notifierHelper: NotifierHelper;
private httpServerHelper; protected httpServerHelper: HttpServerHelper;
private notificationService; protected notificationService: NotificationService;
private pollInterval; protected pollInterval: number;
private timeout; protected timeout: number;
constructor(notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, notificationService: NotificationService); constructor(notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, notificationService: NotificationService);
/** /**
* Resolve an array of session notifications. * Resolve an array of session notifications.

View File

@ -1,16 +1,16 @@
import { ItemHelper } from "../helpers/ItemHelper"; import { ItemHelper } from "../helpers/ItemHelper";
import { SaveServer } from "../servers/SaveServer";
import { IPmcData } from "../models/eft/common/IPmcData"; import { IPmcData } from "../models/eft/common/IPmcData";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; import { WeaponBuild } from "../models/eft/profile/IAkiProfile";
import { HashUtil } from "../utils/HashUtil";
import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ItemEventRouter } from "../routers/ItemEventRouter";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
export declare class PresetBuildController { export declare class PresetBuildController {
private hashUtil; protected hashUtil: HashUtil;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private itemHelper; protected itemHelper: ItemHelper;
private saveServer; protected saveServer: SaveServer;
constructor(hashUtil: HashUtil, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, saveServer: SaveServer); constructor(hashUtil: HashUtil, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, saveServer: SaveServer);
getUserBuilds(sessionID: string): WeaponBuild[]; getUserBuilds(sessionID: string): WeaponBuild[];
saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -1,8 +1,8 @@
import { PresetHelper } from "../helpers/PresetHelper"; import { PresetHelper } from "../helpers/PresetHelper";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
export declare class PresetController { export declare class PresetController {
private presetHelper; protected presetHelper: PresetHelper;
private databaseServer; protected databaseServer: DatabaseServer;
constructor(presetHelper: PresetHelper, databaseServer: DatabaseServer); constructor(presetHelper: PresetHelper, databaseServer: DatabaseServer);
initialize(): void; initialize(): void;
} }

View File

@ -1,26 +1,26 @@
import { SaveServer } from "../servers/SaveServer"; import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
import { DatabaseServer } from "../servers/DatabaseServer";
import { ItemHelper } from "../helpers/ItemHelper"; import { ItemHelper } from "../helpers/ItemHelper";
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 { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
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";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData"; import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData";
import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse"; import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil"; import { HashUtil } from "../utils/HashUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
export declare class ProfileController { export declare class ProfileController {
private hashUtil; protected hashUtil: HashUtil;
private timeUtil; protected timeUtil: TimeUtil;
private saveServer; protected saveServer: SaveServer;
private databaseServer; protected databaseServer: DatabaseServer;
private itemHelper; protected itemHelper: ItemHelper;
private traderHelper; protected traderHelper: TraderHelper;
private 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, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper);
getMiniProfiles(): IMiniProfile[]; getMiniProfiles(): IMiniProfile[];
getMiniProfile(sessionID: string): any; getMiniProfile(sessionID: string): any;

View File

@ -1,33 +1,34 @@
import { TimeUtil } from "../utils/TimeUtil";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { QuestHelper } from "../helpers/QuestHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { DialogueHelper } from "../helpers/DialogueHelper"; import { DialogueHelper } from "../helpers/DialogueHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { ProfileHelper } from "../helpers/ProfileHelper"; import { ProfileHelper } from "../helpers/ProfileHelper";
import { QuestConditionHelper } from "../helpers/QuestConditionHelper"; import { QuestConditionHelper } from "../helpers/QuestConditionHelper";
import { DatabaseServer } from "../servers/DatabaseServer"; import { QuestHelper } from "../helpers/QuestHelper";
import { ConfigServer } from "../servers/ConfigServer";
import { PlayerService } from "../services/PlayerService";
import { IPmcData } from "../models/eft/common/IPmcData"; import { IPmcData } from "../models/eft/common/IPmcData";
import { IQuest } from "../models/eft/common/tables/IQuest"; import { IQuest } from "../models/eft/common/tables/IQuest";
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";
import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IQuestConfig } from "../models/spt/config/IQuestConfig";
import { ILogger } from "../models/spt/utils/ILogger"; import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { PlayerService } from "../services/PlayerService";
import { TimeUtil } from "../utils/TimeUtil";
export declare class QuestController { export declare class QuestController {
private logger; protected logger: ILogger;
private timeUtil; protected timeUtil: TimeUtil;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private databaseServer; protected databaseServer: DatabaseServer;
private itemHelper; protected itemHelper: ItemHelper;
private dialogueHelper; protected dialogueHelper: DialogueHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private questHelper; protected questHelper: QuestHelper;
private questConditionHelper; protected questConditionHelper: QuestConditionHelper;
private playerService; protected playerService: PlayerService;
private configServer; protected configServer: ConfigServer;
private questConfig; 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, configServer: ConfigServer);
getClientQuests(sessionID: string): IQuest[]; getClientQuests(sessionID: string): IQuest[];
acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -20,6 +20,7 @@ import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPric
import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData";
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
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 { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
@ -33,30 +34,30 @@ import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsSer
import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
export declare class RagfairController { export declare class RagfairController {
private logger; protected logger: ILogger;
private timeUtil; protected timeUtil: TimeUtil;
private httpResponse; protected httpResponse: HttpResponseUtil;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private ragfairServer; protected ragfairServer: RagfairServer;
private ragfairPriceService; protected ragfairPriceService: RagfairPriceService;
private databaseServer; protected databaseServer: DatabaseServer;
private itemHelper; protected itemHelper: ItemHelper;
private saveServer; protected saveServer: SaveServer;
private ragfairSellHelper; protected ragfairSellHelper: RagfairSellHelper;
private ragfairTaxHelper; protected ragfairTaxHelper: RagfairTaxHelper;
private ragfairSortHelper; protected ragfairSortHelper: RagfairSortHelper;
private ragfairOfferHelper; protected ragfairOfferHelper: RagfairOfferHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private paymentService; protected paymentService: PaymentService;
private handbookHelper; protected handbookHelper: HandbookHelper;
private paymentHelper; protected paymentHelper: PaymentHelper;
private inventoryHelper; protected inventoryHelper: InventoryHelper;
private ragfairHelper; protected ragfairHelper: RagfairHelper;
private ragfairOfferService; protected ragfairOfferService: RagfairOfferService;
private ragfairRequiredItemsService; protected ragfairRequiredItemsService: RagfairRequiredItemsService;
private ragfairOfferGenerator; protected ragfairOfferGenerator: RagfairOfferGenerator;
private configServer; protected configServer: ConfigServer;
private ragfairConfig; 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;
update(): void; update(): void;

View File

@ -1,25 +1,26 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { QuestHelper } from "../helpers/QuestHelper"; import { QuestHelper } from "../helpers/QuestHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { PaymentService } from "../services/PaymentService";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest";
import { ConfigServer } from "../servers/ConfigServer";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { RepairHelper } from "../helpers/RepairHelper"; import { RepairHelper } from "../helpers/RepairHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest";
import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest";
import { IRepairConfig } from "../models/spt/config/IRepairConfig";
import { ILogger } from "../models/spt/utils/ILogger"; import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { PaymentService } from "../services/PaymentService";
export declare class RepairController { export declare class RepairController {
private logger; protected logger: ILogger;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private databaseServer; protected databaseServer: DatabaseServer;
private questHelper; protected questHelper: QuestHelper;
private traderHelper; protected traderHelper: TraderHelper;
private paymentService; protected paymentService: PaymentService;
private repairHelper; protected repairHelper: RepairHelper;
private configServer; protected configServer: ConfigServer;
private repairConfig; protected repairConfig: IRepairConfig;
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

View File

@ -8,7 +8,8 @@ import { IPmcData, TraderInfo } from "../models/eft/common/IPmcData";
import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationCondition, IExploration, IExplorationCondition, IPmcDataRepeatableQuest, IRepeatableQuest, IReward, IRewards } from "../models/eft/common/tables/IRepeatableQuests"; import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationCondition, IExploration, IExplorationCondition, IPmcDataRepeatableQuest, IRepeatableQuest, IReward, IRewards } from "../models/eft/common/tables/IRepeatableQuests";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest";
import { ELocationName, IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; import { ELocationName } from "../models/enums/ELocationName";
import { IQuestConfig, IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig";
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 { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
@ -47,21 +48,21 @@ export interface ITargetLocation {
locations: string[]; locations: string[];
} }
export declare class RepeatableQuestController { export declare class RepeatableQuestController {
private timeUtil; protected timeUtil: TimeUtil;
private logger; protected logger: ILogger;
private randomUtil; protected randomUtil: RandomUtil;
private mathUtil; protected mathUtil: MathUtil;
private jsonUtil; protected jsonUtil: JsonUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private itemHelper; protected itemHelper: ItemHelper;
private presetHelper; protected presetHelper: PresetHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private ragfairServerHelper; protected ragfairServerHelper: RagfairServerHelper;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private paymentService; protected paymentService: PaymentService;
private objectId; protected objectId: ObjectId;
private configServer; protected configServer: ConfigServer;
private questConfig; 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, 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
@ -88,7 +89,7 @@ export declare class RepeatableQuestController {
* @param {string} sessionId Player's session id * @param {string} sessionId Player's session id
* @returns {array} array of "repeatableQuestObjects" as descibed above * @returns {array} array of "repeatableQuestObjects" as descibed above
*/ */
getClientRepeatableQuests(info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[]; getClientRepeatableQuests(_info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
/** /**
* This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json). * This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json).
* It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest * It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest

View File

@ -9,11 +9,11 @@ import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTr
import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ILogger } from "../models/spt/utils/ILogger"; import { ILogger } from "../models/spt/utils/ILogger";
declare class TradeController { declare class TradeController {
private logger; protected logger: ILogger;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private tradeHelper; protected tradeHelper: TradeHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private ragfairServer; protected ragfairServer: RagfairServer;
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, tradeHelper: TradeHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer); constructor(logger: ILogger, itemEventRouter: ItemEventRouter, tradeHelper: TradeHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer);
confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse; confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse;
confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;

View File

@ -8,14 +8,14 @@ import { TraderAssortService } from "../services/TraderAssortService";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
export declare class TraderController { export declare class TraderController {
private logger; protected logger: ILogger;
private databaseServer; protected databaseServer: DatabaseServer;
private traderAssortHelper; protected traderAssortHelper: TraderAssortHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private traderHelper; protected traderHelper: TraderHelper;
private timeUtil; protected timeUtil: TimeUtil;
private traderAssortService; protected traderAssortService: TraderAssortService;
private jsonUtil; protected jsonUtil: JsonUtil;
constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, jsonUtil: JsonUtil); constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, jsonUtil: JsonUtil);
load(): void; load(): void;
getTrader(traderID: string, sessionID: string): ITraderBase; getTrader(traderID: string, sessionID: string): ITraderBase;

View File

@ -1,10 +1,11 @@
import { ConfigServer } from "../servers/ConfigServer";
import { WeatherGenerator } from "../generators/WeatherGenerator"; import { WeatherGenerator } from "../generators/WeatherGenerator";
import { IWeatherData } from "../models/eft/weather/IWeatherData"; import { IWeatherData } from "../models/eft/weather/IWeatherData";
import { IWeatherConfig } from "../models/spt/config/IWeatherConfig";
import { ConfigServer } from "../servers/ConfigServer";
export declare class WeatherController { export declare class WeatherController {
private weatherGenerator; protected weatherGenerator: WeatherGenerator;
private configServer; protected configServer: ConfigServer;
private weatherConfig; protected weatherConfig: IWeatherConfig;
constructor(weatherGenerator: WeatherGenerator, configServer: ConfigServer); constructor(weatherGenerator: WeatherGenerator, configServer: ConfigServer);
generate(): IWeatherData; generate(): IWeatherData;
} }

View File

@ -3,7 +3,7 @@ import { IPmcData } from "../models/eft/common/IPmcData";
import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
export declare class WishlistController { export declare class WishlistController {
private itemEvenRouter; protected itemEvenRouter: ItemEventRouter;
constructor(itemEvenRouter: ItemEventRouter); constructor(itemEvenRouter: ItemEventRouter);
addToWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; addToWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse;
removeFromWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse;

View File

@ -1,36 +1,46 @@
import { HashUtil } from "../utils/HashUtil";
import { RandomUtil } from "../utils/RandomUtil";
import { ILogger } from "../models/spt/utils/ILogger";
import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData";
import { IBotBase } from "../models/eft/common/tables/IBotBase";
import { DatabaseServer } from "../servers/DatabaseServer";
import { JsonUtil } from "../utils/JsonUtil";
import { ConfigServer } from "../servers/ConfigServer";
import { GameEventHelper } from "../helpers/GameEventHelper";
import { BotInventoryGenerator } from "./BotInventoryGenerator";
import { BotHelper } from "../helpers/BotHelper"; import { BotHelper } from "../helpers/BotHelper";
import { GameEventHelper } from "../helpers/GameEventHelper";
import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData";
import { Health as PmcHealth } from "../models/eft/common/IPmcData";
import { IBotBase } from "../models/eft/common/tables/IBotBase";
import { Health, Inventory, Skills } from "../models/eft/common/tables/IBotType";
import { IBotConfig } from "../models/spt/config/IBotConfig";
import { ILogger } from "../models/spt/utils/ILogger";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { HashUtil } from "../utils/HashUtil";
import { JsonUtil } from "../utils/JsonUtil";
import { RandomUtil } from "../utils/RandomUtil";
import { BotInventoryGenerator } from "./BotInventoryGenerator";
declare namespace BotGenerator {
interface IRandomisedBotLevelResult {
level: number;
exp: number;
}
}
export declare class BotGenerator { export declare class BotGenerator {
private logger; protected logger: ILogger;
private hashUtil; protected hashUtil: HashUtil;
private randomUtil; protected randomUtil: RandomUtil;
private jsonUtil; protected jsonUtil: JsonUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private botInventoryGenerator; protected botInventoryGenerator: BotInventoryGenerator;
private botHelper; protected botHelper: BotHelper;
private gameEventHelper; protected gameEventHelper: GameEventHelper;
private configServer; protected configServer: ConfigServer;
private botConfig; 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[];
private generateBot; protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase;
private generateRandomLevel; protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult;
/** Converts health object to the required format */ /** Converts health object to the required format */
private generateHealth; protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth;
private generateSkills; protected generateSkills(skillsObj: Skills): Skills;
private getPmcRole; protected getPmcRole(pmcSide: string): string;
private removeChristmasItemsFromBotInventory; protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void;
private generateId; protected generateId(bot: IBotBase): IBotBase;
private generateInventoryID; protected generateInventoryID(profile: IBotBase): IBotBase;
private getPMCDifficulty; protected getPMCDifficulty(requestedDifficulty: string): string;
private generateDogtag; protected generateDogtag(bot: IBotBase): IBotBase;
} }
export {};

View File

@ -1,5 +1,5 @@
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
import { Inventory, Chances, Generation } from "../models/eft/common/tables/IBotType"; import { Inventory, Chances, Generation, Mods } from "../models/eft/common/tables/IBotType";
import { HashUtil } from "../utils/HashUtil"; import { HashUtil } from "../utils/HashUtil";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
@ -9,16 +9,16 @@ import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
export declare class BotInventoryGenerator { export declare class BotInventoryGenerator {
private logger; protected logger: ILogger;
private hashUtil; protected hashUtil: HashUtil;
private randomUtil; protected randomUtil: RandomUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private botWeaponGenerator; protected botWeaponGenerator: BotWeaponGenerator;
private botLootGenerator; protected botLootGenerator: BotLootGenerator;
private botGeneratorHelper; protected botGeneratorHelper: BotGeneratorHelper;
private weightedRandomHelper; protected weightedRandomHelper: WeightedRandomHelper;
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, weightedRandomHelper: WeightedRandomHelper); constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, weightedRandomHelper: WeightedRandomHelper);
generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory;
private generateEquipment; protected generateEquipment(equipmentSlot: string, equipmentPool: Record<string, number>, modPool: Mods, spawnChances: Chances, botRole: string, inventory: PmcInventory): void;
private generateInventoryBase; protected generateInventoryBase(): PmcInventory;
} }

View File

@ -1,27 +1,29 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { ConfigServer } from "../servers/ConfigServer";
import { HandbookHelper } from "../helpers/HandbookHelper";
import { PMCLootGenerator } from "../generators/PMCLootGenerator"; import { PMCLootGenerator } from "../generators/PMCLootGenerator";
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
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 { IBotConfig } from "../models/spt/config/IBotConfig";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { HashUtil } from "../utils/HashUtil"; import { HashUtil } from "../utils/HashUtil";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
export declare class BotLootGenerator { export declare class BotLootGenerator {
private jsonUtil; protected jsonUtil: JsonUtil;
private hashUtil; protected hashUtil: HashUtil;
private randomUtil; protected randomUtil: RandomUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private handbookHelper; protected handbookHelper: HandbookHelper;
private botGeneratorHelper; protected botGeneratorHelper: BotGeneratorHelper;
private pmcLootGenerator; protected pmcLootGenerator: PMCLootGenerator;
private configServer; protected configServer: ConfigServer;
private botConfig; protected botConfig: IBotConfig;
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer); constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer);
generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void; generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void;
private getRandomisedCount; protected getRandomisedCount(min: number, max: number, nValue: number): number;
private addLootFromPool; 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 */ /** Compares two item templates by their price to spawn chance ratio */
private compareByValue; protected compareByValue(a: ITemplateItem, b: ITemplateItem): number;
} }

View File

@ -3,22 +3,24 @@ import { ItemHelper } from "../helpers/ItemHelper";
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
import { MinMax, Mods, ModsChances } from "../models/eft/common/tables/IBotType"; import { MinMax, Mods, 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 { 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";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
export declare class BotWeaponGenerator { export declare class BotWeaponGenerator {
private logger; protected logger: ILogger;
private hashUtil; protected hashUtil: HashUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private itemHelper; protected itemHelper: ItemHelper;
private weightedRandomHelper; protected weightedRandomHelper: WeightedRandomHelper;
private botGeneratorHelper; protected botGeneratorHelper: BotGeneratorHelper;
private randomUtil; protected randomUtil: RandomUtil;
constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil);
generateWeapon(equipmentSlot: string, weaponPool: Record<string, number>, modPool: Mods, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; generateWeapon(equipmentSlot: string, weaponPool: Record<string, number>, modPool: Mods, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void;
/** Checks if all required slots are occupied on a weapon and all it's mods */ /** Checks if all required slots are occupied on a weapon and all it's mods */
private isWeaponValid; protected isWeaponValid(itemList: Item[]): boolean;
/** /**
* Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets.
* Additionally, adds extra bullets to SecuredContainer * Additionally, adds extra bullets to SecuredContainer
@ -29,8 +31,8 @@ export declare class BotWeaponGenerator {
* @param {*} ammoTpl * @param {*} ammoTpl
* @returns * @returns
*/ */
private generateExtraMagazines; protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void;
private addBullets; protected addBullets(ammoTpl: string, bulletCount: number, inventory: PmcInventory): void;
/** /**
* Finds and returns tpl of ammo that should be used, while making sure it's compatible * Finds and returns tpl of ammo that should be used, while making sure it's compatible
* *
@ -38,7 +40,7 @@ export declare class BotWeaponGenerator {
* @param {*} weaponTemplate * @param {*} weaponTemplate
* @returns * @returns
*/ */
private getCompatibleAmmo; protected getCompatibleAmmo(weaponMods: Item[], weaponTemplate: ITemplateItem): string;
/** Fill existing magazines to full, while replacing their contents with specified ammo */ /** Fill existing magazines to full, while replacing their contents with specified ammo */
private fillExistingMagazines; protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void;
} }

View File

@ -1,44 +1,46 @@
import { RandomUtil } from "../utils/RandomUtil"; import { ContainerHelper } from "../helpers/ContainerHelper";
import { IStaticContainerProps, IStaticLootDetails, IStaticAmmoDetails, IStaticForcedProps } from "../models/eft/common/tables/ILootBase"; import { GameEventHelper } from "../helpers/GameEventHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { PresetHelper } from "../helpers/PresetHelper";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
import { ILooseLoot, SpawnpointTemplate } from "../models/eft/common/ILooseLoot"; import { ILooseLoot, SpawnpointTemplate } from "../models/eft/common/ILooseLoot";
import { Item } from "../models/eft/common/tables/IItem"; import { Item } from "../models/eft/common/tables/IItem";
import { ItemHelper } from "../helpers/ItemHelper"; import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase";
import { GameEventHelper } from "../helpers/GameEventHelper"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
import { ContainerHelper } from "../helpers/ContainerHelper"; import { ILocationConfig } from "../models/spt/config/ILocationConfig";
import { PresetHelper } from "../helpers/PresetHelper"; import { ILogger } from "../models/spt/utils/ILogger";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
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";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { RandomUtil } from "../utils/RandomUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export interface IContainerItem { export interface IContainerItem {
items: Item[]; items: Item[];
width: number; width: number;
height: number; height: number;
} }
export declare class LocationGenerator { export declare class LocationGenerator {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private objectId; protected objectId: ObjectId;
private randomUtil; protected randomUtil: RandomUtil;
private ragfairServerHelper; protected ragfairServerHelper: RagfairServerHelper;
private itemHelper; protected itemHelper: ItemHelper;
private mathUtil; protected mathUtil: MathUtil;
private gameEventHelper; protected gameEventHelper: GameEventHelper;
private containerHelper; protected containerHelper: ContainerHelper;
private presetHelper; protected presetHelper: PresetHelper;
private configServer; protected configServer: ConfigServer;
private locationConfig; protected locationConfig: ILocationConfig;
constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, gameEventHelper: GameEventHelper, containerHelper: ContainerHelper, presetHelper: PresetHelper, configServer: ConfigServer); constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, gameEventHelper: GameEventHelper, containerHelper: ContainerHelper, presetHelper: PresetHelper, configServer: ConfigServer);
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps; generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
private getLooseLootMultiplerForLocation; protected getLooseLootMultiplerForLocation(location: string): number;
private getStaticLootMultiplerForLocation; protected getStaticLootMultiplerForLocation(location: string): number;
generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): SpawnpointTemplate[]; generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): SpawnpointTemplate[];
private createItem; protected createItem(tpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
private getRandomCompatibleCaliberTemplateId; protected getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string;
private getRandomValidCaliber; protected getRandomValidCaliber(magTemplate: ITemplateItem): string;
private drawAmmoTpl; protected drawAmmoTpl(caliber: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): string;
private createRandomMagCartridges; protected createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string): Item;
private createCartidges; protected createCartidges(parentId: string, ammoTpl: string, stackCount: number): Item;
} }

View File

@ -1,13 +1,14 @@
import { ItemHelper } from "../helpers/ItemHelper"; import { ItemHelper } from "../helpers/ItemHelper";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { IBotConfig } from "../models/spt/config/IBotConfig";
export declare class PMCLootGenerator { export declare class PMCLootGenerator {
private itemHelper; protected itemHelper: ItemHelper;
private databaseServer; protected databaseServer: DatabaseServer;
private configServer; protected configServer: ConfigServer;
private pocketLootPool; protected pocketLootPool: string[];
private backpackLootPool; protected backpackLootPool: string[];
private botConfig; protected botConfig: IBotConfig;
constructor(itemHelper: ItemHelper, databaseServer: DatabaseServer, configServer: ConfigServer); constructor(itemHelper: ItemHelper, databaseServer: DatabaseServer, configServer: ConfigServer);
generatePMCPocketLootPool(): string[]; generatePMCPocketLootPool(): string[];
generatePMCBackpackLootPool(): string[]; generatePMCBackpackLootPool(): string[];

View File

@ -1,17 +1,25 @@
import { ItemHelper } from "../helpers/ItemHelper";
import { Item } from "../models/eft/common/tables/IItem"; import { Item } from "../models/eft/common/tables/IItem";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
import { ItemHelper } from "../helpers/ItemHelper";
import { HashUtil } from "../utils/HashUtil"; import { HashUtil } from "../utils/HashUtil";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
export declare class RagfairAssortGenerator { export declare class RagfairAssortGenerator {
private jsonUtil; protected jsonUtil: JsonUtil;
private hashUtil; protected hashUtil: HashUtil;
private itemHelper; protected itemHelper: ItemHelper;
private databaseServer; protected databaseServer: DatabaseServer;
private generatedAssortItems; protected generatedAssortItems: Item[];
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer); constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer);
/**
* Get an array of unique items that can be sold on the flea
* @returns array of unique items
*/
getAssortItems(): Item[]; getAssortItems(): Item[];
private assortsAreGenerated; protected assortsAreGenerated(): boolean;
private generateRagfairAssortItems; /**
private createRagfairAssortItem; * Generate an array of items the flea can sell
* @returns array of unique items
*/
protected generateRagfairAssortItems(): Item[];
protected createRagfairAssortItem(tplId: string, id?: string): Item;
} }

View File

@ -1,49 +1,58 @@
import { DatabaseServer } from "../servers/DatabaseServer"; import { ItemHelper } from "../helpers/ItemHelper";
import { ConfigServer } from "../servers/ConfigServer"; import { PresetHelper } from "../helpers/PresetHelper";
import { SaveServer } from "../servers/SaveServer";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
import { Item } from "../models/eft/common/tables/IItem";
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
import { IBarterScheme } from "../models/eft/common/tables/ITrader"; import { IBarterScheme } from "../models/eft/common/tables/ITrader";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { Item } from "../models/eft/common/tables/IItem"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
import { ILogger } from "../models/spt/utils/ILogger";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { FenceService } from "../services/FenceService";
import { RagfairOfferService } from "../services/RagfairOfferService";
import { RagfairPriceService } from "../services/RagfairPriceService";
import { HashUtil } from "../utils/HashUtil"; import { HashUtil } from "../utils/HashUtil";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
import { PresetHelper } from "../helpers/PresetHelper";
import { RagfairAssortGenerator } from "./RagfairAssortGenerator"; import { RagfairAssortGenerator } from "./RagfairAssortGenerator";
import { ItemHelper } from "../helpers/ItemHelper";
import { RagfairOfferService } from "../services/RagfairOfferService";
import { RagfairPriceService } from "../services/RagfairPriceService";
import { FenceService } from "../services/FenceService";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class RagfairOfferGenerator { export declare class RagfairOfferGenerator {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private hashUtil; protected hashUtil: HashUtil;
private randomUtil; protected randomUtil: RandomUtil;
private timeUtil; protected timeUtil: TimeUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private ragfairServerHelper; protected ragfairServerHelper: RagfairServerHelper;
private saveServer; protected saveServer: SaveServer;
private presetHelper; protected presetHelper: PresetHelper;
private ragfairAssortGenerator; protected ragfairAssortGenerator: RagfairAssortGenerator;
private ragfairOfferService; protected ragfairOfferService: RagfairOfferService;
private ragfairPriceService; protected ragfairPriceService: RagfairPriceService;
private fenceService; protected fenceService: FenceService;
private itemHelper; protected itemHelper: ItemHelper;
private configServer; protected configServer: ConfigServer;
private ragfairConfig; 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, 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;
private getTraderId; protected getTraderId(userID: string): string;
private getRating; protected getRating(userID: string): number;
private getRatingGrowing; protected getRatingGrowing(userID: string): boolean;
private getOfferEndTime; protected getOfferEndTime(userID: string, time: number): number;
/**
* Create multiple offers for items by using a unique list of items we've generated previously
* @param expiredOffers
*/
generateDynamicOffers(expiredOffers?: Item[]): void; generateDynamicOffers(expiredOffers?: Item[]): void;
generateTraderOffers(traderID: string): void; generateTraderOffers(traderID: string): void;
private getItemCondition; protected getItemCondition(userID: string, items: Item[], itemDetails: ITemplateItem): Item[];
private addMissingCondition; protected addMissingCondition(item: Item): Item;
private getOfferRequirements; protected getOfferRequirements(items: Item[]): {
count: number;
_tpl: string;
}[];
/** /**
* Create a flea offer and store it in the Ragfair server offers array * Create a flea offer and store it in the Ragfair server offers array
*/ */

View File

@ -1,19 +1,20 @@
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { IWeatherData } from "../models/eft/weather/IWeatherData"; import { IWeatherData } from "../models/eft/weather/IWeatherData";
import { IWeatherConfig } from "../models/spt/config/IWeatherConfig";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
export declare class WeatherGenerator { export declare class WeatherGenerator {
private weightedRandomHelper; protected weightedRandomHelper: WeightedRandomHelper;
private randomUtil; protected randomUtil: RandomUtil;
private timeUtil; protected timeUtil: TimeUtil;
private configServer; protected configServer: ConfigServer;
private weatherConfig; 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;
generateWeather(data: IWeatherData): IWeatherData; generateWeather(data: IWeatherData): IWeatherData;
private getWeightedFog; protected getWeightedFog(): string;
private getWeightedRain; protected getWeightedRain(): number;
private getRandomFloat; protected getRandomFloat(node: string): number;
private getRandomInt; protected getRandomInt(node: string): number;
} }

View File

@ -5,12 +5,32 @@ import { DatabaseServer } from "../servers/DatabaseServer";
import { ItemHelper } from "./ItemHelper"; import { ItemHelper } from "./ItemHelper";
import { QuestHelper } from "./QuestHelper"; import { QuestHelper } from "./QuestHelper";
export declare class AssortHelper { export declare class AssortHelper {
private logger; protected logger: ILogger;
private itemHelper; protected itemHelper: ItemHelper;
private databaseServer; protected databaseServer: DatabaseServer;
private questHelper; protected questHelper: QuestHelper;
constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, questHelper: QuestHelper); constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, questHelper: QuestHelper);
/**
* Remove assorts from a trader that have not been unlocked yet
* @param pmcProfile player profile
* @param traderId traders id
* @param assort assort items from a trader
* @returns assort items minus locked quest assorts
*/
stripLockedQuestAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort;
/**
* Remove assorts from a trader that have not been unlocked yet
* @param pmcProfile player profile
* @param traderId traders id
* @param assort traders assorts
* @returns traders assorts minus locked loyality assorts
*/
stripLockedLoyaltyAssort(pmcProfile: IPmcData, traderId: string, assort: ITraderAssort): ITraderAssort;
/**
* Remove an item from an assort
* @param assort assort to modify
* @param itemID item id to remove from asort
* @returns Modified assort
*/
removeItemFromAssort(assort: ITraderAssort, itemID: string): ITraderAssort; removeItemFromAssort(assort: ITraderAssort, itemID: string): ITraderAssort;
stripQuestAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort;
stripLoyaltyAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort;
} }

View File

@ -1,8 +1,9 @@
import { DurabilityLimitsHelper } from "../helpers/DurabilityLimitsHelper"; import { DurabilityLimitsHelper } from "../helpers/DurabilityLimitsHelper";
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
import { Mods, ModsChances } from "../models/eft/common/tables/IBotType"; import { Mods, ModsChances } from "../models/eft/common/tables/IBotType";
import { Item, Upd } from "../models/eft/common/tables/IItem"; import { Item, Repairable, Upd } from "../models/eft/common/tables/IItem";
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { Grid, ITemplateItem, Slot } from "../models/eft/common/tables/ITemplateItem";
import { IBotConfig } from "../models/spt/config/IBotConfig";
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 { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
@ -12,18 +13,18 @@ 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";
declare class BotGeneratorHelper { export declare class BotGeneratorHelper {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private hashUtil; protected hashUtil: HashUtil;
private randomUtil; protected randomUtil: RandomUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private durabilityLimitsHelper; protected durabilityLimitsHelper: DurabilityLimitsHelper;
private itemHelper; protected itemHelper: ItemHelper;
private inventoryHelper; protected inventoryHelper: InventoryHelper;
private containerHelper; protected containerHelper: ContainerHelper;
private configServer; protected configServer: ConfigServer;
private botConfig; 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, 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[];
/** /**
@ -37,16 +38,50 @@ declare class BotGeneratorHelper {
* @param {string} parentId The CylinderMagazine's UID * @param {string} parentId The CylinderMagazine's UID
* @param {object} parentTemplate The CylinderMagazine's template * @param {object} parentTemplate The CylinderMagazine's template
*/ */
private fillCamora; protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void;
generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): {
"upd"?: Upd; upd?: Upd;
}; };
private getModTplFromItemDb; /**
* Create a repairable object for a weapon that containers durability + max durability properties
* @param itemTemplate weapon object being generated for
* @param botRole type of bot being generated for
* @returns Repairable object
*/
protected generateWeaponRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable;
/**
* Create a repairable object for an armor that containers durability + max durability properties
* @param itemTemplate weapon object being generated for
* @param botRole type of bot being generated for
* @returns Repairable object
*/
protected generateArmorRepairableProperties(itemTemplate: ITemplateItem, botRole: string): Repairable;
protected getModTplFromItemDb(modTpl: string, parentSlot: Slot, modSlot: string, items: Item[]): string;
/**
* Sort by spawn chance, highest to lowest, higher is more common
* @param unsortedModArray String array to sort
* @returns Sorted string array
*/
protected sortModArray(unsortedModArray: string[]): string[];
/**
* Can an item be added to an item without issue
* @param items
* @param tplToCheck
* @param equipmentSlot
* @returns true if possible
*/
isItemIncompatibleWithCurrentItems(items: Item[], tplToCheck: string, equipmentSlot: string): boolean; isItemIncompatibleWithCurrentItems(items: Item[], tplToCheck: string, equipmentSlot: string): boolean;
/** Adds an item with all its childern into specified equipmentSlots, wherever it fits. /**
* Returns a `boolean` indicating success. */ * Adds an item with all its childern into specified equipmentSlots, wherever it fits.
* @param equipmentSlots
* @param parentId
* @param parentTpl
* @param itemWithChildren
* @param inventory
* @returns a `boolean` indicating item was added
*/
addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: PmcInventory): boolean; addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: PmcInventory): boolean;
private itemAllowedInContainer; protected itemAllowedInContainer(slot: Grid, itemTpl: string): boolean;
} }
export declare class ExhaustableArray<T> { export declare class ExhaustableArray<T> {
private itemPool; private itemPool;
@ -58,22 +93,3 @@ export declare class ExhaustableArray<T> {
getFirstValue(): T; getFirstValue(): T;
hasValues(): boolean; hasValues(): boolean;
} }
declare namespace BotGeneratorHelper {
enum EquipmentSlots {
HEADWEAR = "Headwear",
EARPIECE = "Earpiece",
FACE_COVER = "FaceCover",
ARMOR_VEST = "ArmorVest",
EYEWEAR = "Eyewear",
ARM_BAND = "ArmBand",
TACTICAL_VEST = "TacticalVest",
POCKETS = "Pockets",
BACKPACK = "Backpack",
SECURED_CONTAINER = "SecuredContainer",
FIRST_PRIMARY_WEAPON = "FirstPrimaryWeapon",
SECOND_PRIMARY_WEAPON = "SecondPrimaryWeapon",
HOLSTER = "Holster",
SCABBARD = "Scabbard"
}
}
export { BotGeneratorHelper };

View File

@ -1,22 +1,44 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { Difficulty } from "../models/eft/common/tables/IBotType"; import { Difficulty } from "../models/eft/common/tables/IBotType";
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 { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class BotHelper { export declare class BotHelper {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private randomUtil; protected randomUtil: RandomUtil;
private configServer; protected configServer: ConfigServer;
private botConfig; protected botConfig: IBotConfig;
constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, configServer: ConfigServer); constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, configServer: ConfigServer);
getBotDifficultySettings(type: string, difficulty: string): Difficulty; getBotDifficultySettings(type: string, difficulty: string): Difficulty;
getPmcDifficultySettings(type: string, difficulty: string): Difficulty; getPmcDifficultySettings(type: string, difficulty: string): Difficulty;
/**
* Randomise the chance the PMC will attack their own side
* @param difficultySettings pmc difficulty settings
*/
randomisePmcHostility(difficultySettings: Difficulty): void; randomisePmcHostility(difficultySettings: Difficulty): void;
isBotPmc(botRole: string): boolean; isBotPmc(botRole: string): boolean;
isBotBoss(botRole: string): boolean; isBotBoss(botRole: string): boolean;
isBotFollower(botRole: string): boolean; isBotFollower(botRole: string): boolean;
/**
* Add a bot to the FRIENDLY_BOT_TYPES array
* @param difficultySettings bot settings to alter
* @param typeToAdd bot type to add to friendly list
*/
addBotToFriendlyList(difficultySettings: Difficulty, typeToAdd: string): void; addBotToFriendlyList(difficultySettings: Difficulty, typeToAdd: string): void;
/**
* Add a bot to the ENEMY_BOT_TYPES array
* @param difficultySettings bot settings to alter
* @param typesToAdd bot type to add to enemy list
*/
addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[]): void;
/**
* Add a bot to the REVENGE_BOT_TYPES array
* @param difficultySettings bot settings to alter
* @param typesToAdd bot type to add to revenge list
*/
addBotToRevengeList(difficultySettings: Difficulty, typesToAdd: string[]): void;
} }

View File

@ -6,7 +6,7 @@ export declare class FindSlotResult {
constructor(success?: boolean, x?: any, y?: any, rotation?: boolean); constructor(success?: boolean, x?: any, y?: any, rotation?: boolean);
} }
export declare class ContainerHelper { export declare class ContainerHelper {
private locateSlot; protected locateSlot(container2D: number[][], containerX: number, containerY: number, x: number, y: number, itemW: number, itemH: number): boolean;
findSlotForItem(container2D: number[][], itemWidth: number, itemHeight: number): FindSlotResult; findSlotForItem(container2D: number[][], itemWidth: number, itemHeight: number): FindSlotResult;
fillContainerMapWithItem(container2D: number[][], x: number, y: number, itemW: number, itemH: number, rotate: boolean): any; fillContainerMapWithItem(container2D: number[][], x: number, y: number, itemW: number, itemH: number, rotate: boolean): any;
} }

View File

@ -1,17 +1,18 @@
import { Dialogue, MessageContent, MessagePreview } from "../models/eft/profile/IAkiProfile";
import { MessageType } from "../models/enums/MessageType";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer"; import { SaveServer } from "../servers/SaveServer";
import { ItemHelper } from "./ItemHelper";
import { Dialogue, MessageContent, MessagePreview, MessageType } from "../models/eft/profile/IAkiProfile";
import { HashUtil } from "../utils/HashUtil"; import { HashUtil } from "../utils/HashUtil";
import { NotifierHelper } from "./NotifierHelper"; import { ItemHelper } from "./ItemHelper";
import { NotificationSendHelper } from "./NotificationSendHelper"; import { NotificationSendHelper } from "./NotificationSendHelper";
import { NotifierHelper } from "./NotifierHelper";
export declare class DialogueHelper { export declare class DialogueHelper {
private hashUtil; protected hashUtil: HashUtil;
private saveServer; protected saveServer: SaveServer;
private databaseServer; protected databaseServer: DatabaseServer;
private notifierHelper; protected notifierHelper: NotifierHelper;
private notificationSendHelper; protected notificationSendHelper: NotificationSendHelper;
private itemHelper; protected itemHelper: ItemHelper;
constructor(hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, notificationSendHelper: NotificationSendHelper, itemHelper: ItemHelper); constructor(hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, notificationSendHelper: NotificationSendHelper, itemHelper: ItemHelper);
createMessageContext(templateId: string, messageType: MessageType, maxStoreTime: number): MessageContent; createMessageContext(templateId: string, messageType: MessageType, maxStoreTime: number): MessageContent;
addDialogueMessage(dialogueID: string, messageContent: MessageContent, sessionID: string, rewards?: any[]): void; addDialogueMessage(dialogueID: string, messageContent: MessageContent, sessionID: string, rewards?: any[]): void;

View File

@ -1,25 +1,26 @@
import { ConfigServer } from "../servers/ConfigServer";
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
import { IBotConfig } from "../models/spt/config/IBotConfig";
import { ConfigServer } from "../servers/ConfigServer";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
import { BotHelper } from "./BotHelper"; import { BotHelper } from "./BotHelper";
export declare class DurabilityLimitsHelper { export declare class DurabilityLimitsHelper {
private randomUtil; protected randomUtil: RandomUtil;
private botHelper; protected botHelper: BotHelper;
private configServer; protected configServer: ConfigServer;
private botConfig; protected botConfig: IBotConfig;
constructor(randomUtil: RandomUtil, botHelper: BotHelper, configServer: ConfigServer); constructor(randomUtil: RandomUtil, botHelper: BotHelper, configServer: ConfigServer);
getRandomisedMaxWeaponDurability(itemTemplate: ITemplateItem, botRole: string): number; getRandomisedMaxWeaponDurability(itemTemplate: ITemplateItem, botRole: string): number;
getRandomisedMaxArmorDurability(itemTemplate: ITemplateItem, botRole: string): number; getRandomisedMaxArmorDurability(itemTemplate: ITemplateItem, botRole: string): number;
getRandomisedWeaponDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; getRandomisedWeaponDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number;
getRandomisedArmorDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; getRandomisedArmorDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number;
private generateMaxWeaponDurability; protected generateMaxWeaponDurability(botRole: string): number;
private generateMaxPmcArmorDurability; protected generateMaxPmcArmorDurability(itemMaxDurability: number): number;
private getLowestMaxWeaponFromConfig; protected getLowestMaxWeaponFromConfig(botRole: string): number;
private getHighestMaxWeaponDurabilityFromConfig; protected getHighestMaxWeaponDurabilityFromConfig(botRole: string): number;
private generateWeaponDurability; protected generateWeaponDurability(botRole: string, maxDurability: number): number;
private generateArmorDurability; protected generateArmorDurability(botRole: string, maxDurability: number): number;
private getMinWeaponDeltaFromConfig; protected getMinWeaponDeltaFromConfig(botRole: string): number;
private getMaxWeaponDeltaFromConfig; protected getMaxWeaponDeltaFromConfig(botRole: string): number;
private getMinArmorDeltaFromConfig; protected getMinArmorDeltaFromConfig(botRole: string): number;
private getMaxArmorDeltaFromConfig; protected getMaxArmorDeltaFromConfig(botRole: string): number;
} }

View File

@ -1,5 +1,5 @@
import { BotGenerator } from "../generators/BotGenerator"; import { BotGenerator } from "../generators/BotGenerator";
import { IPmcData } 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 { FenceService } from "../services/FenceService"; import { FenceService } from "../services/FenceService";
@ -9,14 +9,14 @@ import { Watermark } from "../utils/Watermark";
import { ItemHelper } from "./ItemHelper"; import { ItemHelper } from "./ItemHelper";
import { ProfileHelper } from "./ProfileHelper"; import { ProfileHelper } from "./ProfileHelper";
export declare class ExtendedProfileHelper extends ProfileHelper { export declare class ExtendedProfileHelper extends ProfileHelper {
private 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, fenceService: FenceService, botGenerator: BotGenerator);
generatePlayerScav(sessionID: string): IPmcData; generatePlayerScav(sessionID: string): IPmcData;
private getScavSkills; protected getScavSkills(sessionID: string): Skills;
private removeSecureContainer; protected removeSecureContainer(profile: IPmcData): IPmcData;
private getDefaultScavSkills; protected getDefaultScavSkills(): Skills;
private getScavStats; protected getScavStats(sessionID: string): Stats;
private getScavLevel; protected getScavLevel(sessionID: string): number;
private getScavExperience; protected getScavExperience(sessionID: string): number;
private setScavCooldownTimer; protected setScavCooldownTimer(profile: IPmcData, pmcData: IPmcData): IPmcData;
} }

View File

@ -1,6 +1,6 @@
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
export declare class GameEventHelper { export declare class GameEventHelper {
private databaseServer; protected databaseServer: DatabaseServer;
constructor(databaseServer: DatabaseServer); constructor(databaseServer: DatabaseServer);
get EVENT(): Record<string, string>; get EVENT(): Record<string, string>;
get christmasEventItems(): string[]; get christmasEventItems(): string[];

View File

@ -9,7 +9,7 @@ export declare class LookupCollection {
constructor(); constructor();
} }
export declare class HandbookHelper { export declare class HandbookHelper {
private lookup; protected lookup: LookupCollection;
hydrateLookup(lookup: LookupCollection): void; hydrateLookup(lookup: LookupCollection): void;
getTemplatePrice(x: string): number; getTemplatePrice(x: string): number;
templatesWithParent(x: string): string[]; templatesWithParent(x: string): string[];

View File

@ -1,23 +1,27 @@
import { SaveServer } from "../servers/SaveServer";
import { IPmcData } from "../models/eft/common/IPmcData"; import { IPmcData } from "../models/eft/common/IPmcData";
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; 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 { ConfigServer } from "../servers/ConfigServer";
import { SaveServer } from "../servers/SaveServer";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class HealthHelper { export declare class HealthHelper {
private jsonUtil; protected jsonUtil: JsonUtil;
private logger; protected logger: ILogger;
private timeUtil; protected timeUtil: TimeUtil;
private saveServer; protected saveServer: SaveServer;
private configServer; protected configServer: ConfigServer;
private healthConfig; protected healthConfig: IHealthConfig;
constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer);
resetVitality(sessionID: string): IAkiProfile; resetVitality(sessionID: string): IAkiProfile;
saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void;
private saveHealth; protected saveHealth(pmcData: IPmcData, sessionID: string): void;
private saveEffects; protected saveEffects(pmcData: IPmcData, sessionID: string): void;
private addEffect; protected addEffect(pmcData: IPmcData, sessionID: string, effect: {
private isEmpty; bodyPart: string;
effectType: string;
}): void;
protected isEmpty(map: any): boolean;
} }

View File

@ -1,10 +1,12 @@
import { IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; import { Common, HideoutArea, IPmcData, Production, Productive } from "../models/eft/common/IPmcData";
import { Upd } from "../models/eft/common/tables/IItem";
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
import { StageBonus } from "../models/eft/hideout/IHideoutArea"; import { StageBonus } from "../models/eft/hideout/IHideoutArea";
import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData";
import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData";
import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IHideoutConfig } from "../models/spt/config/IHideoutConfig";
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 { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
@ -17,26 +19,26 @@ import { TimeUtil } from "../utils/TimeUtil";
import { InventoryHelper } from "./InventoryHelper"; import { InventoryHelper } from "./InventoryHelper";
import { ProfileHelper } from "./ProfileHelper"; import { ProfileHelper } from "./ProfileHelper";
export declare class HideoutHelper { export declare class HideoutHelper {
private logger; protected logger: ILogger;
private hashUtil; protected hashUtil: HashUtil;
private timeUtil; protected timeUtil: TimeUtil;
private randomUtil; protected randomUtil: RandomUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private httpResponse; protected httpResponse: HttpResponseUtil;
private profileHelper; protected profileHelper: ProfileHelper;
private inventoryHelper; protected inventoryHelper: InventoryHelper;
private playerService; protected playerService: PlayerService;
private configServer; protected configServer: ConfigServer;
static BITCOIN_FARM: string; static BITCOIN_FARM: string;
private WATER_COLLECTOR; protected WATER_COLLECTOR: string;
private BITCOIN; protected BITCOIN: string;
private EXPEDITIONARY_FUEL_TANK; protected EXPEDITIONARY_FUEL_TANK: string;
static NAME_BACKENDCOUNTERS_CRAFTING: string; static NAME_BACKENDCOUNTERS_CRAFTING: string;
static SKILL_NAME_HIDEOUT: string; static SKILL_NAME_HIDEOUT: string;
static HOUR_FOR_SKILL_CRAFTING: number; static HOUR_FOR_SKILL_CRAFTING: number;
static SKILL_NAME_CRAFITING: string; static SKILL_NAME_CRAFITING: string;
private hideoutConfig; protected hideoutConfig: IHideoutConfig;
constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, inventoryHelper: InventoryHelper, playerService: PlayerService, configServer: ConfigServer); constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, inventoryHelper: InventoryHelper, playerService: PlayerService, configServer: ConfigServer);
registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
/** /**
@ -46,18 +48,20 @@ export declare class HideoutHelper {
initProduction(recipeId: string, productionTime: number): Production; initProduction(recipeId: string, productionTime: number): Production;
isProductionType(productive: Productive): productive is Production; isProductionType(productive: Productive): productive is Production;
applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void; applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void;
private applySkillXPBoost; protected applySkillXPBoost(pmcData: IPmcData, bonus: StageBonus): void;
updatePlayerHideout(sessionID: string): void; updatePlayerHideout(sessionID: string): void;
private updateFuel; protected updateWaterCollector(sessionId: string, pmcData: IPmcData, area: HideoutArea, isGeneratorOn: boolean): void;
private updateWaterFilters; protected doesWaterCollectorHaveFilter(waterCollector: HideoutArea): boolean;
private getAreaUpdObject; protected updateFuel(generatorArea: HideoutArea, pmcData: IPmcData): HideoutArea;
private updateAirFilters; protected updateWaterFilters(waterFilterArea: HideoutArea, pwProd: Production, isGeneratorOn: boolean, pmcData: IPmcData): HideoutArea;
private updateBitcoinFarm; protected getAreaUpdObject(stackCount: number, resourceValue: number, resourceUnitsConsumed: number): Upd;
private getBTCSlots; protected updateAirFilters(airFilterArea: HideoutArea, pmcData: IPmcData): HideoutArea;
private getManagementSkillsSlots; protected updateBitcoinFarm(pmcData: IPmcData, btcFarmCGs: number, isGeneratorOn: boolean): Production;
private hasManagementSkillSlots; protected getBTCSlots(pmcData: IPmcData): number;
private getHideoutManagementSkill; protected getManagementSkillsSlots(): number;
private getHideoutManagementConsumptionBonus; protected hasManagementSkillSlots(pmcData: IPmcData): boolean;
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
isProduction(productive: Productive): productive is Production; isProduction(productive: Productive): productive is Production;
getBTC(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; getBTC(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse;
getRandomAmountRewardForScavCase(itemToCalculate: ITemplateItem): number; getRandomAmountRewardForScavCase(itemToCalculate: ITemplateItem): number;

View File

@ -1,8 +1,19 @@
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
export declare class HttpServerHelper { export declare class HttpServerHelper {
private configServer; protected configServer: ConfigServer;
private httpConfig; protected httpConfig: IHttpConfig;
private mime; protected mime: {
css: string;
bin: string;
html: string;
jpg: string;
js: string;
json: string;
png: string;
svg: string;
txt: string;
};
constructor(configServer: ConfigServer); constructor(configServer: ConfigServer);
getMimeText(key: string): string; getMimeText(key: string): string;
buildUrl(): string; buildUrl(): string;

View File

@ -8,15 +8,15 @@ import { JsonUtil } from "../utils/JsonUtil";
import { InventoryHelper } from "./InventoryHelper"; import { InventoryHelper } from "./InventoryHelper";
import { PaymentHelper } from "./PaymentHelper"; import { PaymentHelper } from "./PaymentHelper";
export declare class InRaidHelper { export declare class InRaidHelper {
private logger; protected logger: ILogger;
private saveServer; protected saveServer: SaveServer;
private jsonUtil; protected jsonUtil: JsonUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private inventoryHelper; protected inventoryHelper: InventoryHelper;
private paymentHelper; protected paymentHelper: PaymentHelper;
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper);
private removePlayer; protected removePlayer(sessionID: string): void;
private removeMapAccessKey; protected removeMapAccessKey(offraidData: ISaveProgressRequestData, sessionID: string): void;
addUpdToMoneyFromRaid(items: Item[]): void; addUpdToMoneyFromRaid(items: Item[]): void;
/** /**
* Add positive karma for PMC kills * Add positive karma for PMC kills

View File

@ -5,6 +5,7 @@ import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMe
import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData";
import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IInventoryConfig } from "../models/spt/config/IInventoryConfig";
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 { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
@ -25,26 +26,26 @@ export interface OwnerInventoryItems {
isMail: boolean; isMail: boolean;
} }
export declare class InventoryHelper { export declare class InventoryHelper {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private hashUtil; protected hashUtil: HashUtil;
private httpResponse; protected httpResponse: HttpResponseUtil;
private fenceService; protected fenceService: FenceService;
private databaseServer; protected databaseServer: DatabaseServer;
private paymentHelper; protected paymentHelper: PaymentHelper;
private traderAssortHelper; protected traderAssortHelper: TraderAssortHelper;
private dialogueHelper; protected dialogueHelper: DialogueHelper;
private itemHelper; protected itemHelper: ItemHelper;
private containerHelper; protected containerHelper: ContainerHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private configServer; protected configServer: ConfigServer;
private inventoryConfig; protected inventoryConfig: IInventoryConfig;
constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, httpResponse: HttpResponseUtil, fenceService: FenceService, databaseServer: DatabaseServer, paymentHelper: PaymentHelper, traderAssortHelper: TraderAssortHelper, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, containerHelper: ContainerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, httpResponse: HttpResponseUtil, fenceService: FenceService, databaseServer: DatabaseServer, paymentHelper: PaymentHelper, traderAssortHelper: TraderAssortHelper, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, containerHelper: ContainerHelper, profileHelper: ProfileHelper, configServer: ConfigServer);
addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse;
removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse;
getItemSize(itemTpl: string, itemID: string, inventoryItem: Item[]): Record<number, number>; getItemSize(itemTpl: string, itemID: string, inventoryItem: Item[]): Record<number, number>;
private getSizeByInventoryItemHash; protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): Record<number, number>;
private getInventoryItemHash; protected getInventoryItemHash(inventoryItem: Item[]): InventoryHelper.InventoryItemHash;
getContainerMap(containerW: number, containerH: number, itemList: Item[], containerId: string): number[][]; getContainerMap(containerW: number, containerH: number, itemList: Item[], containerId: string): number[][];
/** /**
* Based on the item action, determine whose inventories we should be looking at for from and to. * Based on the item action, determine whose inventories we should be looking at for from and to.
@ -56,9 +57,9 @@ export declare class InventoryHelper {
* @param {string} sessionID * @param {string} sessionID
* @returns Array * @returns Array
*/ */
private getStashSlotMap; protected getStashSlotMap(pmcData: IPmcData, sessionID: string): number[][];
private getStashType; protected getStashType(sessionID: string): string;
private getPlayerStashSize; protected getPlayerStashSize(sessionID: string): Record<number, number>;
/** /**
* Internal helper function to transfer an item from one profile to another. * Internal helper function to transfer an item from one profile to another.
* fromProfileData: Profile of the source. * fromProfileData: Profile of the source.
@ -73,5 +74,12 @@ export declare class InventoryHelper {
/** /**
* Internal helper function to handle cartridges in inventory if any of them exist. * Internal helper function to handle cartridges in inventory if any of them exist.
*/ */
private handleCartridges; protected handleCartridges(items: Item[], body: IInventoryMoveRequestData): void;
} }
declare namespace InventoryHelper {
interface InventoryItemHash {
byItemId: Record<string, Item>;
byParentId: Record<string, Item[]>;
}
}
export {};

View File

@ -1,15 +1,15 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData";
import { ITemplateItem, StackSlot } from "../models/eft/common/tables/ITemplateItem";
import { Item } from "../models/eft/common/tables/IItem"; import { Item } from "../models/eft/common/tables/IItem";
import { ITemplateItem, StackSlot } from "../models/eft/common/tables/ITemplateItem";
import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer";
import { HashUtil } from "../utils/HashUtil"; import { HashUtil } from "../utils/HashUtil";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
import { ILogger } from "../models/spt/utils/ILogger";
declare class ItemHelper { declare class ItemHelper {
private logger; protected logger: ILogger;
private hashUtil; protected hashUtil: HashUtil;
private jsonUtil; protected jsonUtil: JsonUtil;
private databaseServer; protected databaseServer: DatabaseServer;
constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer); constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer);
/** /**
* Checks if a id is a valid item. Valid meaning that it's an item that be stored in stash * Checks if a id is a valid item. Valid meaning that it's an item that be stored in stash
@ -139,98 +139,9 @@ declare class ItemHelper {
getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize; getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize;
} }
declare namespace ItemHelper { declare namespace ItemHelper {
enum BaseClasses {
WEAPON = "5422acb9af1c889c16000029",
ARMOR = "5448e54d4bdc2dcc718b4568",
VEST = "5448e5284bdc2dcb718b4567",
BACKPACK = "5448e53e4bdc2d60728b4567",
VISORS = "5448e5724bdc2ddf718b4568",
FOOD = "5448e8d04bdc2ddf718b4569",
DRINK = "5448e8d64bdc2dce718b4568",
BARTER_ITEM = "5448eb774bdc2d0a728b4567",
INFO = "5448ecbe4bdc2d60728b4568",
MEDKIT = "5448f39d4bdc2d0a728b4568",
DRUGS = "5448f3a14bdc2d27728b4569",
STIMULATOR = "5448f3a64bdc2d60728b456a",
MEDICAL = "5448f3ac4bdc2dce718b4569",
MEDICAL_SUPPLIES = "57864c8c245977548867e7f1",
MOD = "5448fe124bdc2da5018b4567",
FUNCTIONAL_MOD = "550aa4154bdc2dd8348b456b",
FUEL = "5d650c3e815116009f6201d2",
GEAR_MOD = "55802f3e4bdc2de7118b4584",
STOCK = "55818a594bdc2db9688b456a",
FOREGRIP = "55818af64bdc2d5b648b4570",
MASTER_MOD = "55802f4a4bdc2ddb688b4569",
MOUNT = "55818b224bdc2dde698b456f",
MUZZLE = "5448fe394bdc2d0d028b456c",
SIGHTS = "5448fe7a4bdc2d6f028b456b",
MEDS = "543be5664bdc2dd4348b4569",
MONEY = "543be5dd4bdc2deb348b4569",
KEY = "543be5e94bdc2df1348b4568",
KEY_MECHANICAL = "5c99f98d86f7745c314214b3",
KEYCARD = "5c164d2286f774194c5e69fa",
EQUIPMENT = "543be5f84bdc2dd4348b456a",
THROW_WEAPON = "543be6564bdc2df4348b4568",
FOOD_DRINK = "543be6674bdc2df1348b4569",
PISTOL = "5447b5cf4bdc2d65278b4567",
SMG = "5447b5e04bdc2d62278b4567",
ASSAULT_RIFLE = "5447b5f14bdc2d61278b4567",
ASSAULT_CARBINE = "5447b5fc4bdc2d87278b4567",
SHOTGUN = "5447b6094bdc2dc3278b4567",
MARKSMAN_RIFLE = "5447b6194bdc2d67278b4567",
SNIPER_RIFLE = "5447b6254bdc2dc3278b4568",
MACHINE_GUN = "5447bed64bdc2d97278b4568",
GRENADE_LAUNCHER = "5447bedf4bdc2d87278b4568",
SPECIAL_WEAPON = "5447bee84bdc2dc3278b4569",
SPEC_ITEM = "5447e0e74bdc2d3c308b4567",
KNIFE = "5447e1d04bdc2dff2f8b4567",
AMMO = "5485a8684bdc2da71d8b4567",
AMMO_BOX = "543be5cb4bdc2deb348b4568",
LOOT_CONTAINER = "566965d44bdc2d814c8b4571",
MOD_CONTAINER = "5448bf274bdc2dfc2f8b456a",
SEARCHABLE_ITEM = "566168634bdc2d144c8b456c",
STASH = "566abbb64bdc2d144c8b457d",
SORTING_TABLE = "6050cac987d3f925bf016837",
LOCKABLE_CONTAINER = "5671435f4bdc2d96058b4569",
SIMPLE_CONTAINER = "5795f317245977243854e041",
INVENTORY = "55d720f24bdc2d88028b456d",
STATIONARY_CONTAINER = "567583764bdc2d98058b456e",
POCKETS = "557596e64bdc2dc2118b4571",
ARMBAND = "5b3f15d486f77432d0509248",
DOG_TAG_USEC = "59f32c3b86f77472a31742f0",
DOG_TAG_BEAR = "59f32bb586f774757e1e8442",
JEWELRY = "57864a3d24597754843f8721",
ELECTRONICS = "57864a66245977548f04a81f",
BUILDING_MATERIAL = "57864ada245977548638de91",
TOOL = "57864bb7245977548b3b66c2",
HOUSEHOLD_GOODS = "57864c322459775490116fbf",
LUBRICANT = "57864e4c24597754843f8723",
BATTERY = "57864ee62459775490116fc1",
ASSAULT_SCOPE = "55818add4bdc2d5b648b456f",
REFLEX_SIGHT = "55818ad54bdc2ddc698b4569",
TACTICAL_COMBO = "55818b164bdc2ddc698b456c",
MAGAZINE = "5448bc234bdc2d3c308b4569",
LIGHT_LASER = "55818b0e4bdc2dde698b456e",
FLASH_HIDER = "550aa4bf4bdc2dd6348b456b",
COLLIMATOR = "55818ad54bdc2ddc698b4569",
COMPACT_COLLIMATOR = "55818acf4bdc2dde698b456b",
COMPENSATOR = "550aa4af4bdc2dd4348b456e",
OPTIC_SCOPE = "55818ae44bdc2dde698b456c",
SPECIAL_SCOPE = "55818aeb4bdc2ddc698b456a",
OTHER = "590c745b86f7743cc433c5f2",
SILENCER = "550aa4cd4bdc2dd8348b456c",
PORTABLE_RANGE_FINDER = "61605ddea09d851a0a0c1bbc",
ITEM = "54009119af1c881c07000029",
CYLINDER_MAGAZINE = "610720f290b75a49ff2e5e25"
}
interface ItemSize { interface ItemSize {
width: number; width: number;
height: number; height: number;
} }
enum Money {
ROUBLES = "5449016a4bdc2d6f028b456f",
EUROS = "569668774bdc2da2298b4568",
DOLLARS = "5696686a4bdc2da3298b456a"
}
} }
export { ItemHelper }; export { ItemHelper };

View File

@ -2,8 +2,8 @@ import { INotification } from "../models/eft/notifier/INotifier";
import { IHttpServer } from "../models/spt/server/IHttpServer"; import { IHttpServer } from "../models/spt/server/IHttpServer";
import { NotificationService } from "../services/NotificationService"; import { NotificationService } from "../services/NotificationService";
export declare class NotificationSendHelper { export declare class NotificationSendHelper {
private httpServer; protected httpServer: IHttpServer;
private notificationService; protected notificationService: NotificationService;
constructor(httpServer: IHttpServer, notificationService: NotificationService); constructor(httpServer: IHttpServer, notificationService: NotificationService);
/** /**
* Send notification message to the appropiate channel * Send notification message to the appropiate channel

View File

@ -2,11 +2,11 @@ import { INotification } from "../models/eft/notifier/INotifier";
import { Message, MessageContentRagfair } from "../models/eft/profile/IAkiProfile"; import { Message, MessageContentRagfair } from "../models/eft/profile/IAkiProfile";
import { HttpServerHelper } from "./HttpServerHelper"; import { HttpServerHelper } from "./HttpServerHelper";
export declare class NotifierHelper { export declare class NotifierHelper {
private httpServerHelper; protected httpServerHelper: HttpServerHelper;
/** /**
* The default notification sent when waiting times out. * The default notification sent when waiting times out.
*/ */
private defaultNotification; protected defaultNotification: INotification;
constructor(httpServerHelper: HttpServerHelper); constructor(httpServerHelper: HttpServerHelper);
getDefaultNotification(): INotification; getDefaultNotification(): INotification;
/** Creates a new notification that displays the "Your offer was sold!" prompt and removes sold offer from "My Offers" on clientside */ /** Creates a new notification that displays the "Your offer was sold!" prompt and removes sold offer from "My Offers" on clientside */

View File

@ -1,8 +1,8 @@
import { Preset } from "../models/eft/common/IGlobals"; import { Preset } from "../models/eft/common/IGlobals";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
export declare class PresetHelper { export declare class PresetHelper {
private databaseServer; protected databaseServer: DatabaseServer;
private lookup; protected lookup: Record<string, string[]>;
constructor(databaseServer: DatabaseServer); constructor(databaseServer: DatabaseServer);
hydratePresetStore(input: Record<string, string[]>): void; hydratePresetStore(input: Record<string, string[]>): void;
isPreset(id: string): boolean; isPreset(id: string): boolean;

View File

@ -28,6 +28,6 @@ export declare class ProfileHelper {
getPmcProfile(sessionID: string): IPmcData; getPmcProfile(sessionID: string): IPmcData;
getScavProfile(sessionID: string): IPmcData; getScavProfile(sessionID: string): IPmcData;
getDefaultCounters(): Stats; getDefaultCounters(): Stats;
private isWiped; protected isWiped(sessionID: string): boolean;
private getServerVersion; protected getServerVersion(): string;
} }

View File

@ -3,5 +3,5 @@ export declare class QuestConditionHelper {
getQuestConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getQuestConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[];
getLevelConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLevelConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[];
getLoyaltyConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLoyaltyConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[];
private filterConditions; protected filterConditions(q: AvailableForConditions[], questType: string, furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[];
} }

View File

@ -3,6 +3,7 @@ import { AvailableForConditions, AvailableForProps, IQuest, Reward } from "../mo
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";
import { IQuestConfig } from "../models/spt/config/IQuestConfig";
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 { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
@ -17,20 +18,20 @@ import { ProfileHelper } from "./ProfileHelper";
import { RagfairServerHelper } from "./RagfairServerHelper"; import { RagfairServerHelper } from "./RagfairServerHelper";
import { TraderHelper } from "./TraderHelper"; import { TraderHelper } from "./TraderHelper";
export declare class QuestHelper { export declare class QuestHelper {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private timeUtil; protected timeUtil: TimeUtil;
private hashUtil; protected hashUtil: HashUtil;
private itemHelper; protected itemHelper: ItemHelper;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private databaseServer; protected databaseServer: DatabaseServer;
private ragfairServerHelper; protected ragfairServerHelper: RagfairServerHelper;
private dialogueHelper; protected dialogueHelper: DialogueHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private paymentHelper; protected paymentHelper: PaymentHelper;
private traderHelper; protected traderHelper: TraderHelper;
private configServer; protected configServer: ConfigServer;
private questConfig; protected questConfig: IQuestConfig;
constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer);
static get STATUS(): Record<string, number>; static get STATUS(): Record<string, number>;
questStatus(pmcData: IPmcData, questID: string): string; questStatus(pmcData: IPmcData, questID: string): string;
@ -47,7 +48,7 @@ export declare class QuestHelper {
*/ */
dumpQuests(quests: any, label?: any): void; dumpQuests(quests: any, label?: any): void;
loyaltyRequirementCheck(loyaltyRequirementProperties: AvailableForProps, profile: IPmcData): boolean; loyaltyRequirementCheck(loyaltyRequirementProperties: AvailableForProps, profile: IPmcData): boolean;
private processReward; protected processReward(reward: Reward): any[];
getQuestRewardItems(quest: IQuest, state: string): Reward[]; getQuestRewardItems(quest: IQuest, state: string): Reward[];
addQuestToPMCData(pmcData: IPmcData, quest: Quest, newState: string, acceptedQuest: IAcceptQuestRequestData): void; addQuestToPMCData(pmcData: IPmcData, quest: Quest, newState: string, acceptedQuest: IAcceptQuestRequestData): void;
acceptedUnlocked(acceptedQuestId: string, sessionID: string): IQuest[]; acceptedUnlocked(acceptedQuestId: string, sessionID: string): IQuest[];
@ -58,7 +59,7 @@ export declare class QuestHelper {
* Get List of All Quests as an array * Get List of All Quests as an array
*/ */
questValues(): IQuest[]; questValues(): IQuest[];
private cleanQuestList; protected cleanQuestList(quests: IQuest[]): IQuest[];
cleanQuestConditions(quest: IQuest): IQuest; cleanQuestConditions(quest: IQuest): IQuest;
failQuest(pmcData: IPmcData, body: any, sessionID: string): any; failQuest(pmcData: IPmcData, body: any, sessionID: string): any;
getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; getQuestFromDb(questId: string, pmcData: IPmcData): IQuest;

View File

@ -2,6 +2,7 @@ import { Item } from "../models/eft/common/tables/IItem";
import { ITraderAssort } from "../models/eft/common/tables/ITrader"; import { ITraderAssort } from "../models/eft/common/tables/ITrader";
import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult";
import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData";
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";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
@ -12,16 +13,16 @@ import { ItemHelper } from "./ItemHelper";
import { TraderAssortHelper } from "./TraderAssortHelper"; import { TraderAssortHelper } from "./TraderAssortHelper";
import { UtilityHelper } from "./UtilityHelper"; import { UtilityHelper } from "./UtilityHelper";
export declare class RagfairHelper { export declare class RagfairHelper {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private traderAssortHelper; protected traderAssortHelper: TraderAssortHelper;
private databaseServer; protected databaseServer: DatabaseServer;
private handbookHelper; protected handbookHelper: HandbookHelper;
private itemHelper; protected itemHelper: ItemHelper;
private ragfairLinkedItemService; protected ragfairLinkedItemService: RagfairLinkedItemService;
private utilityHelper; protected utilityHelper: UtilityHelper;
private configServer; protected configServer: ConfigServer;
private ragfairConfig; protected ragfairConfig: IRagfairConfig;
constructor(logger: ILogger, jsonUtil: JsonUtil, traderAssortHelper: TraderAssortHelper, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, ragfairLinkedItemService: RagfairLinkedItemService, utilityHelper: UtilityHelper, configServer: ConfigServer); constructor(logger: ILogger, jsonUtil: JsonUtil, traderAssortHelper: TraderAssortHelper, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, ragfairLinkedItemService: RagfairLinkedItemService, utilityHelper: UtilityHelper, configServer: ConfigServer);
/** /**
* Gets currency TAG from TPL * Gets currency TAG from TPL
@ -31,7 +32,7 @@ export declare class RagfairHelper {
getCurrencyTag(currency: string): string; getCurrencyTag(currency: string): string;
filterCategories(sessionID: string, info: ISearchRequestData): string[]; filterCategories(sessionID: string, info: ISearchRequestData): string[];
getDisplayableAssorts(sessionID: string): Record<string, ITraderAssort>; getDisplayableAssorts(sessionID: string): Record<string, ITraderAssort>;
private getCategoryList; protected getCategoryList(handbookId: string): string[];
countCategories(result: IGetOffersResult): void; countCategories(result: IGetOffersResult): void;
/** /**
* Merges Root Items * Merges Root Items

View File

@ -1,7 +1,10 @@
import { IPmcData } from "../models/eft/common/IPmcData"; import { IPmcData } from "../models/eft/common/IPmcData";
import { ITraderAssort } from "../models/eft/common/tables/ITrader"; import { ITraderAssort } from "../models/eft/common/tables/ITrader";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData";
import { IQuestConfig } from "../models/spt/config/IQuestConfig";
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
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 { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
@ -19,31 +22,31 @@ import { RagfairHelper } from "./RagfairHelper";
import { RagfairServerHelper } from "./RagfairServerHelper"; import { RagfairServerHelper } from "./RagfairServerHelper";
import { RagfairSortHelper } from "./RagfairSortHelper"; import { RagfairSortHelper } from "./RagfairSortHelper";
export declare class RagfairOfferHelper { export declare class RagfairOfferHelper {
private logger; protected logger: ILogger;
private timeUtil; protected timeUtil: TimeUtil;
private hashUtil; protected hashUtil: HashUtil;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private databaseServer; protected databaseServer: DatabaseServer;
private saveServer; protected saveServer: SaveServer;
private dialogueHelper; protected dialogueHelper: DialogueHelper;
private itemHelper; protected itemHelper: ItemHelper;
private paymentHelper; protected paymentHelper: PaymentHelper;
private presetHelper; protected presetHelper: PresetHelper;
private profileHelper; protected profileHelper: ProfileHelper;
private ragfairServerHelper; protected ragfairServerHelper: RagfairServerHelper;
private ragfairSortHelper; protected ragfairSortHelper: RagfairSortHelper;
private ragfairHelper; protected ragfairHelper: RagfairHelper;
private ragfairOfferService; protected ragfairOfferService: RagfairOfferService;
private configServer; protected configServer: ConfigServer;
private static TPL_GOODS_SOLD; protected static TPL_GOODS_SOLD: string;
private ragfairConfig; protected ragfairConfig: IRagfairConfig;
private questConfig; protected questConfig: IQuestConfig;
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer);
getValidOffers(info: ISearchRequestData, itemsToAdd: string[], assorts: Record<string, ITraderAssort>, pmcProfile: IPmcData): IRagfairOffer[]; getValidOffers(info: ISearchRequestData, itemsToAdd: string[], assorts: Record<string, ITraderAssort>, pmcProfile: IPmcData): IRagfairOffer[];
getOffersForBuild(info: ISearchRequestData, itemsToAdd: string[], assorts: Record<string, ITraderAssort>, pmcProfile: IPmcData): IRagfairOffer[]; getOffersForBuild(info: ISearchRequestData, itemsToAdd: string[], assorts: Record<string, ITraderAssort>, pmcProfile: IPmcData): IRagfairOffer[];
processOffers(sessionID: string): boolean; processOffers(sessionID: string): boolean;
private getProfileOffers; protected getProfileOffers(sessionID: string): IRagfairOffer[];
private deleteOfferByOfferId; protected deleteOfferByOfferId(sessionID: string, offerId: string): void;
private completeOffer; protected completeOffer(sessionID: string, offer: IRagfairOffer, boughtAmount: number): IItemEventRouterResponse;
isDisplayableOffer(info: ISearchRequestData, itemsToAdd: string[], assorts: Record<string, ITraderAssort>, offer: IRagfairOffer, pmcProfile: IPmcData): boolean; isDisplayableOffer(info: ISearchRequestData, itemsToAdd: string[], assorts: Record<string, ITraderAssort>, offer: IRagfairOffer, pmcProfile: IPmcData): boolean;
} }

View File

@ -1,14 +1,15 @@
import { SellResult } from "../models/eft/ragfair/IRagfairOffer"; import { SellResult } from "../models/eft/ragfair/IRagfairOffer";
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";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
import { TimeUtil } from "../utils/TimeUtil"; import { TimeUtil } from "../utils/TimeUtil";
export declare class RagfairSellHelper { export declare class RagfairSellHelper {
private logger; protected logger: ILogger;
private randomUtil; protected randomUtil: RandomUtil;
private timeUtil; protected timeUtil: TimeUtil;
private configServer; protected configServer: ConfigServer;
private ragfairConfig; protected ragfairConfig: IRagfairConfig;
constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer);
calculateSellChance(baseChance: number, offerPrice: number, requirementsPriceInRub: number): number; calculateSellChance(baseChance: number, offerPrice: number, requirementsPriceInRub: number): number;
rollForSale(sellChance: number, count: number): SellResult[]; rollForSale(sellChance: number, count: number): SellResult[];

View File

@ -1,6 +1,8 @@
import { MemberCategory } from "../models/eft/common/MemberCategory"; import { MemberCategory } from "../models/enums/MemberCategory";
import { Item } from "../models/eft/common/tables/IItem"; import { Item } from "../models/eft/common/tables/IItem";
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
import { IQuestConfig } from "../models/spt/config/IQuestConfig";
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
import { ConfigServer } from "../servers/ConfigServer"; 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";
@ -11,21 +13,26 @@ import { DialogueHelper } from "./DialogueHelper";
import { ItemHelper } from "./ItemHelper"; import { ItemHelper } from "./ItemHelper";
import { ProfileHelper } from "./ProfileHelper"; import { ProfileHelper } from "./ProfileHelper";
export declare class RagfairServerHelper { export declare class RagfairServerHelper {
private randomUtil; protected randomUtil: RandomUtil;
private hashUtil; protected hashUtil: HashUtil;
private saveServer; protected saveServer: SaveServer;
private databaseServer; protected databaseServer: DatabaseServer;
private profileHelper; protected profileHelper: ProfileHelper;
private itemHelper; protected itemHelper: ItemHelper;
private dialogueHelper; protected dialogueHelper: DialogueHelper;
private jsonUtil; protected jsonUtil: JsonUtil;
private configServer; protected configServer: ConfigServer;
private ragfairConfig; protected ragfairConfig: IRagfairConfig;
private questConfig; protected questConfig: IQuestConfig;
private static TPL_GOODS_RETURNED; protected static TPL_GOODS_RETURNED: string;
constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer);
/**
* Is item valid / on blacklist / quest item
* @param itemDetails
* @returns boolean
*/
isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean; isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean;
isItemBlacklisted(itemTemplateId: string): boolean; protected isItemBlacklisted(itemTemplateId: string): boolean;
isTrader(userID: string): boolean; isTrader(userID: string): boolean;
isPlayer(userID: string): boolean; isPlayer(userID: string): boolean;
returnItems(sessionID: string, items: any[]): void; returnItems(sessionID: string, items: any[]): void;

View File

@ -1,12 +1,12 @@
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
export declare class RagfairSortHelper { export declare class RagfairSortHelper {
private databaseServer; protected databaseServer: DatabaseServer;
constructor(databaseServer: DatabaseServer); constructor(databaseServer: DatabaseServer);
sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[];
private sortOffersByID; protected sortOffersByID(a: IRagfairOffer, b: IRagfairOffer): number;
private sortOffersByRating; protected sortOffersByRating(a: IRagfairOffer, b: IRagfairOffer): number;
private sortOffersByName; protected sortOffersByName(a: IRagfairOffer, b: IRagfairOffer): number;
private sortOffersByPrice; protected sortOffersByPrice(a: IRagfairOffer, b: IRagfairOffer): number;
private sortOffersByExpiry; protected sortOffersByExpiry(a: IRagfairOffer, b: IRagfairOffer): number;
} }

View File

@ -1,15 +1,16 @@
import { IPmcData } from "../models/eft/common/IPmcData"; import { IPmcData } from "../models/eft/common/IPmcData";
import { Item } from "../models/eft/common/tables/IItem"; import { Item } from "../models/eft/common/tables/IItem";
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
import { RagfairPriceService } from "../services/RagfairPriceService"; import { RagfairPriceService } from "../services/RagfairPriceService";
import { ItemHelper } from "./ItemHelper"; import { ItemHelper } from "./ItemHelper";
import { ILogger } from "../models/spt/utils/ILogger"; import { ILogger } from "../models/spt/utils/ILogger";
export declare class RagfairTaxHelper { export declare class RagfairTaxHelper {
private logger; protected logger: ILogger;
private databaseServer; protected databaseServer: DatabaseServer;
private ragfairPriceService; protected ragfairPriceService: RagfairPriceService;
private itemHelper; protected itemHelper: ItemHelper;
constructor(logger: ILogger, databaseServer: DatabaseServer, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper); constructor(logger: ILogger, databaseServer: DatabaseServer, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper);
calculateTax(item: Item, pmcData: IPmcData, requirementsValue: number, offerItemCount: number, sellInOnePiece: boolean): number; calculateTax(item: Item, pmcData: IPmcData, requirementsValue: number, offerItemCount: number, sellInOnePiece: boolean): number;
private calculateItemWorth; protected calculateItemWorth(item: Item, itemTemplate: ITemplateItem, itemCount: number, pmcData: IPmcData, isRootItem?: boolean): number;
} }

View File

@ -1,20 +1,22 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { IPmcData } from "../models/eft/common/IPmcData"; import { IPmcData } from "../models/eft/common/IPmcData";
import { Item } from "../models/eft/common/tables/IItem"; import { Item } from "../models/eft/common/tables/IItem";
import { Props } from "../models/eft/common/tables/ITemplateItem";
import { IRepairConfig } from "../models/spt/config/IRepairConfig";
import { ILogger } from "../models/spt/utils/ILogger";
import { ConfigServer } from "../servers/ConfigServer"; import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { JsonUtil } from "../utils/JsonUtil"; import { JsonUtil } from "../utils/JsonUtil";
import { RandomUtil } from "../utils/RandomUtil"; import { RandomUtil } from "../utils/RandomUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class RepairHelper { export declare class RepairHelper {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private randomUtil; protected randomUtil: RandomUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private configServer; protected configServer: ConfigServer;
private repairConfig; protected repairConfig: IRepairConfig;
constructor(logger: ILogger, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, configServer: ConfigServer); constructor(logger: ILogger, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
updateItemDurability(itemToRepairId: string, amountToRepair: number, pmcData: IPmcData, useRepairKit?: boolean): Item; updateItemDurability(itemToRepairId: string, amountToRepair: number, pmcData: IPmcData, useRepairKit?: boolean): Item;
private getRandomisedArmorRepairDegredationValue; protected getRandomisedArmorRepairDegredationValue(armorMaterial: string, isRepairKit: boolean, armorMax: number): number;
private getRandomisedWeaponRepairDegredationValue; protected getRandomisedWeaponRepairDegredationValue(itemProps: Props, isRepairKit: boolean, armorMax: number): number;
isWeaponTemplate(tpl: string): boolean; isWeaponTemplate(tpl: string): boolean;
} }

View File

@ -7,7 +7,7 @@ export interface OwnerInventoryItems {
isMail: boolean; isMail: boolean;
} }
export declare class SecureContainerHelper { export declare class SecureContainerHelper {
private itemHelper; protected itemHelper: ItemHelper;
constructor(itemHelper: ItemHelper); constructor(itemHelper: ItemHelper);
getSecureContainerItems(items: Item[]): string[]; getSecureContainerItems(items: Item[]): string[];
} }

View File

@ -2,7 +2,7 @@ import { InventoryHelper } from "../helpers/InventoryHelper";
import { ItemHelper } from "../helpers/ItemHelper"; import { ItemHelper } from "../helpers/ItemHelper";
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 { Upd } from "../models/eft/common/tables/IItem"; import { Item, Upd } from "../models/eft/common/tables/IItem";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData";
import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData";
@ -12,20 +12,33 @@ import { RagfairServer } from "../servers/RagfairServer";
import { FenceService } from "../services/FenceService"; import { FenceService } from "../services/FenceService";
import { PaymentService } from "../services/PaymentService"; import { PaymentService } from "../services/PaymentService";
export declare class TradeHelper { export declare class TradeHelper {
private logger; protected logger: ILogger;
private itemEventRouter; protected itemEventRouter: ItemEventRouter;
private traderHelper; protected traderHelper: TraderHelper;
private itemHelper; protected itemHelper: ItemHelper;
private paymentService; protected paymentService: PaymentService;
private fenceService; protected fenceService: FenceService;
private inventoryHelper; protected inventoryHelper: InventoryHelper;
private ragfairServer; protected ragfairServer: RagfairServer;
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer); constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer);
/**
* Buy item from flea or trader
* @param pmcData
* @param buyRequestData data from client
* @param sessionID
* @param foundInRaid
* @param upd optional item details used when buying from flea
* @returns
*/
buyItem(pmcData: IPmcData, buyRequestData: IProcessBuyTradeRequestData, sessionID: string, foundInRaid: boolean, upd: Upd): IItemEventRouterResponse; buyItem(pmcData: IPmcData, buyRequestData: IProcessBuyTradeRequestData, sessionID: string, foundInRaid: boolean, upd: Upd): IItemEventRouterResponse;
/** /**
* Selling item to trader * Sell item to trader
* @param pmcData
* @param body
* @param sessionID
* @returns
*/ */
sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse; sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse;
private incrementAssortBuyCount; protected incrementAssortBuyCount(assortBeingPurchased: Item, itemsPurchasedCount: number): void;
private checkPurchaseIsWithinTraderItemLimit; protected checkPurchaseIsWithinTraderItemLimit(assortBeingPurchased: Item, assortId: string, count: number): void;
} }

View File

@ -1,7 +1,8 @@
import { ITraderAssort } from "../models/eft/common/tables/ITrader";
import { ILogger } from "../models/spt/utils/ILogger";
import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator";
import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator";
import { Item } from "../models/eft/common/tables/IItem";
import { ITraderAssort } from "../models/eft/common/tables/ITrader";
import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer"; import { DatabaseServer } from "../servers/DatabaseServer";
import { FenceService } from "../services/FenceService"; import { FenceService } from "../services/FenceService";
import { TraderAssortService } from "../services/TraderAssortService"; import { TraderAssortService } from "../services/TraderAssortService";
@ -9,15 +10,33 @@ import { JsonUtil } from "../utils/JsonUtil";
import { AssortHelper } from "./AssortHelper"; import { AssortHelper } from "./AssortHelper";
import { ProfileHelper } from "./ProfileHelper"; import { ProfileHelper } from "./ProfileHelper";
export declare class TraderAssortHelper { export declare class TraderAssortHelper {
private logger; protected logger: ILogger;
private jsonUtil; protected jsonUtil: JsonUtil;
private databaseServer; protected databaseServer: DatabaseServer;
private profileHelper; protected profileHelper: ProfileHelper;
private assortHelper; protected assortHelper: AssortHelper;
private ragfairAssortGenerator; protected ragfairAssortGenerator: RagfairAssortGenerator;
private ragfairOfferGenerator; protected ragfairOfferGenerator: RagfairOfferGenerator;
private traderAssortService; protected traderAssortService: TraderAssortService;
private fenceService; protected fenceService: FenceService;
constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService);
/**
* Get a traders assorts
* Can be used for returning ragfair / fence assorts
* @param sessionId session id
* @param traderId trader id
* @returns a traders assorts
*/
getAssort(sessionId: string, traderId: string): ITraderAssort; getAssort(sessionId: string, traderId: string): ITraderAssort;
/**
* Get an array of pristine trader items prior to any alteration by player
* @param traderId trader id
* @returns array of Items
*/
protected getPristineTraderAssorts(traderId: string): Item[];
/**
* Returns generated ragfair offers in a trader assort format
* @returns Trader assort object
*/
protected getRagfairDataAsTraderAssort(): ITraderAssort;
} }

Some files were not shown because too many files have changed in this diff Show More