This commit is contained in:
LimboFPS 2025-01-05 22:13:09 -05:00
commit c064401358
247 changed files with 3247 additions and 979 deletions

View File

@ -1,7 +1,8 @@
# Exclude these folders from linting # Exclude these folders from linting
node_modules **/node_modules
dist/ /tmp
types/ /dist
/types
# Exclude these filetypes from linting # Exclude these filetypes from linting
*.json *.json

View File

@ -1,10 +1,21 @@
{ {
"name": "clearvision", "name": "clearvision",
<<<<<<< HEAD
"version": "2.0.6", "version": "2.0.6",
"author": "LimboFPS", "author": "LimboFPS",
"license": "CC BY-NC 4.0", "license": "CC BY-NC 4.0",
"main": "src/mod.js", "main": "src/mod.js",
"akiVersion": "~3.10.x", "akiVersion": "~3.10.x",
=======
"version": "2.0.5",
"author": "LimboFPS",
"license": "CC BY-NC 4.0",
"main": "src/mod.js",
"sptVersion": "~3.9",
"loadBefore": [],
"loadAfter": [],
"incompatibilities": [],
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
"isBundleMod": true, "isBundleMod": true,
"scripts": { "scripts": {
"setup": "npm i", "setup": "npm i",

View File

@ -1,8 +1,8 @@
import { DependencyContainer } from "tsyringe"; import { DependencyContainer } from "tsyringe";
import { IPostDBLoadMod } from "@spt-aki/models/external/IPostDBLoadMod"; import { IPostDBLoadMod } from "@spt/models/external/IPostDBLoadMod";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { DatabaseServer } from "@spt/servers/DatabaseServer";
import modConfig from "../cfg/config.json"; import modConfig from "../cfg/config.json";
class Mod implements IPostDBLoadMod class Mod implements IPostDBLoadMod

View File

@ -1,3 +0,0 @@
export declare const TYPES: {
[name: string]: symbol;
};

View File

@ -1,9 +1,16 @@
<<<<<<< HEAD
import { ApplicationContext } from "@spt/context/ApplicationContext"; import { ApplicationContext } from "@spt/context/ApplicationContext";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { BotController } from "@spt/controllers/BotController"; import { BotController } from "@spt/controllers/BotController";
import { IGenerateBotsRequestData } from "@spt/models/eft/bot/IGenerateBotsRequestData"; import { IGenerateBotsRequestData } from "@spt/models/eft/bot/IGenerateBotsRequestData";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase"; import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
<<<<<<< HEAD
import { IDifficulties } from "@spt/models/eft/common/tables/IBotType"; import { IDifficulties } from "@spt/models/eft/common/tables/IBotType";
=======
import { Difficulties } from "@spt/models/eft/common/tables/IBotType";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class BotCallbacks { export declare class BotCallbacks {
@ -36,7 +43,11 @@ export declare class BotCallbacks {
* Handle singleplayer/settings/bot/maxCap * Handle singleplayer/settings/bot/maxCap
* @returns string * @returns string
*/ */
<<<<<<< HEAD
getBotCap(url: string, info: IEmptyRequestData, sessionID: string): string; getBotCap(url: string, info: IEmptyRequestData, sessionID: string): string;
=======
getBotCap(url: string, info: any, sessionID: string): string;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Handle singleplayer/settings/bot/getBotBehaviours * Handle singleplayer/settings/bot/getBotBehaviours
* @returns string * @returns string

View File

@ -1,5 +1,9 @@
import { HideoutController } from "@spt/controllers/HideoutController"; import { HideoutController } from "@spt/controllers/HideoutController";
<<<<<<< HEAD
import { TraderController } from "@spt/controllers/TraderController"; import { TraderController } from "@spt/controllers/TraderController";
=======
import { RagfairController } from "@spt/controllers/RagfairController";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { IGlobals } from "@spt/models/eft/common/IGlobals"; import { IGlobals } from "@spt/models/eft/common/IGlobals";
@ -7,7 +11,12 @@ import { ICustomizationItem } from "@spt/models/eft/common/tables/ICustomization
import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase"; import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse"; import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea"; import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
<<<<<<< HEAD
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction"; import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
=======
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase"; import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase"; import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
@ -22,9 +31,15 @@ export declare class DataCallbacks {
protected timeUtil: TimeUtil; protected timeUtil: TimeUtil;
protected traderHelper: TraderHelper; protected traderHelper: TraderHelper;
protected databaseService: DatabaseService; protected databaseService: DatabaseService;
<<<<<<< HEAD
protected traderController: TraderController; protected traderController: TraderController;
protected hideoutController: HideoutController; protected hideoutController: HideoutController;
constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, traderHelper: TraderHelper, databaseService: DatabaseService, traderController: TraderController, hideoutController: HideoutController); constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, traderHelper: TraderHelper, databaseService: DatabaseService, traderController: TraderController, hideoutController: HideoutController);
=======
protected ragfairController: RagfairController;
protected hideoutController: HideoutController;
constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, traderHelper: TraderHelper, databaseService: DatabaseService, ragfairController: RagfairController, hideoutController: HideoutController);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Handle client/settings * Handle client/settings
* @returns ISettingsBase * @returns ISettingsBase

View File

@ -27,7 +27,11 @@ import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest"
import { ISetDialogReadRequestData } from "@spt/models/eft/dialog/ISetDialogReadRequestData"; import { ISetDialogReadRequestData } from "@spt/models/eft/dialog/ISetDialogReadRequestData";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData"; import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
<<<<<<< HEAD
import { IDialogueInfo } from "@spt/models/eft/profile/ISptProfile"; import { IDialogueInfo } from "@spt/models/eft/profile/ISptProfile";
=======
import { DialogueInfo } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { HashUtil } from "@spt/utils/HashUtil"; import { HashUtil } from "@spt/utils/HashUtil";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
import { TimeUtil } from "@spt/utils/TimeUtil"; import { TimeUtil } from "@spt/utils/TimeUtil";

View File

@ -13,9 +13,13 @@ import { IGameModeResponse } from "@spt/models/eft/game/IGameModeResponse";
import { IGameStartResponse } from "@spt/models/eft/game/IGameStartResponse"; import { IGameStartResponse } from "@spt/models/eft/game/IGameStartResponse";
import { IGetRaidTimeRequest } from "@spt/models/eft/game/IGetRaidTimeRequest"; import { IGetRaidTimeRequest } from "@spt/models/eft/game/IGetRaidTimeRequest";
import { IGetRaidTimeResponse } from "@spt/models/eft/game/IGetRaidTimeResponse"; import { IGetRaidTimeResponse } from "@spt/models/eft/game/IGetRaidTimeResponse";
<<<<<<< HEAD
import { ISendSurveyOpinionRequest } from "@spt/models/eft/game/ISendSurveyOpinionRequest"; import { ISendSurveyOpinionRequest } from "@spt/models/eft/game/ISendSurveyOpinionRequest";
import { IServerDetails } from "@spt/models/eft/game/IServerDetails"; import { IServerDetails } from "@spt/models/eft/game/IServerDetails";
import { ISurveyResponseData } from "@spt/models/eft/game/ISurveyResponseData"; import { ISurveyResponseData } from "@spt/models/eft/game/ISurveyResponseData";
=======
import { IServerDetails } from "@spt/models/eft/game/IServerDetails";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IVersionValidateRequestData } from "@spt/models/eft/game/IVersionValidateRequestData"; import { IVersionValidateRequestData } from "@spt/models/eft/game/IVersionValidateRequestData";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData"; import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";

View File

@ -4,6 +4,10 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IHealthTreatmentRequestData } from "@spt/models/eft/health/IHealthTreatmentRequestData"; import { IHealthTreatmentRequestData } from "@spt/models/eft/health/IHealthTreatmentRequestData";
import { IOffraidEatRequestData } from "@spt/models/eft/health/IOffraidEatRequestData"; import { IOffraidEatRequestData } from "@spt/models/eft/health/IOffraidEatRequestData";
import { IOffraidHealRequestData } from "@spt/models/eft/health/IOffraidHealRequestData"; import { IOffraidHealRequestData } from "@spt/models/eft/health/IOffraidHealRequestData";
<<<<<<< HEAD
=======
import { ISyncHealthRequestData } from "@spt/models/eft/health/ISyncHealthRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IWorkoutData } from "@spt/models/eft/health/IWorkoutData"; import { IWorkoutData } from "@spt/models/eft/health/IWorkoutData";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
@ -14,6 +18,17 @@ export declare class HealthCallbacks {
protected healthController: HealthController; protected healthController: HealthController;
constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController);
/** /**
<<<<<<< HEAD
=======
* Custom spt server request found in modules/HealthSynchronizer.cs
* @param url
* @param info HealthListener.Instance.CurrentHealth class
* @param sessionID session id
* @returns empty response, no data sent back to client
*/
syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData<string>;
/**
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
* Custom spt server request found in modules/QTEPatch.cs * Custom spt server request found in modules/QTEPatch.cs
* @param url * @param url
* @param info HealthListener.Instance.CurrentHealth class * @param info HealthListener.Instance.CurrentHealth class

View File

@ -3,9 +3,13 @@ import { OnUpdate } from "@spt/di/OnUpdate";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IHandleQTEEventRequestData } from "@spt/models/eft/hideout/IHandleQTEEventRequestData"; import { IHandleQTEEventRequestData } from "@spt/models/eft/hideout/IHandleQTEEventRequestData";
import { IHideoutCancelProductionRequestData } from "@spt/models/eft/hideout/IHideoutCancelProductionRequestData"; import { IHideoutCancelProductionRequestData } from "@spt/models/eft/hideout/IHideoutCancelProductionRequestData";
<<<<<<< HEAD
import { IHideoutCircleOfCultistProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData"; import { IHideoutCircleOfCultistProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData";
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData"; import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
import { IHideoutDeleteProductionRequestData } from "@spt/models/eft/hideout/IHideoutDeleteProductionRequestData"; import { IHideoutDeleteProductionRequestData } from "@spt/models/eft/hideout/IHideoutDeleteProductionRequestData";
=======
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IHideoutImproveAreaRequestData } from "@spt/models/eft/hideout/IHideoutImproveAreaRequestData"; import { IHideoutImproveAreaRequestData } from "@spt/models/eft/hideout/IHideoutImproveAreaRequestData";
import { IHideoutPutItemInRequestData } from "@spt/models/eft/hideout/IHideoutPutItemInRequestData"; import { IHideoutPutItemInRequestData } from "@spt/models/eft/hideout/IHideoutPutItemInRequestData";
import { IHideoutScavCaseStartRequestData } from "@spt/models/eft/hideout/IHideoutScavCaseStartRequestData"; import { IHideoutScavCaseStartRequestData } from "@spt/models/eft/hideout/IHideoutScavCaseStartRequestData";

View File

@ -1,8 +1,14 @@
import { InraidController } from "@spt/controllers/InraidController"; import { InraidController } from "@spt/controllers/InraidController";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData"; import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
<<<<<<< HEAD
import { IRegisterPlayerRequestData } from "@spt/models/eft/inRaid/IRegisterPlayerRequestData"; import { IRegisterPlayerRequestData } from "@spt/models/eft/inRaid/IRegisterPlayerRequestData";
import { IScavSaveRequestData } from "@spt/models/eft/inRaid/IScavSaveRequestData"; import { IScavSaveRequestData } from "@spt/models/eft/inRaid/IScavSaveRequestData";
=======
import { IItemDeliveryRequestData } from "@spt/models/eft/inRaid/IItemDeliveryRequestData";
import { IRegisterPlayerRequestData } from "@spt/models/eft/inRaid/IRegisterPlayerRequestData";
import { ISaveProgressRequestData } from "@spt/models/eft/inRaid/ISaveProgressRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
/** /**
* Handle client requests * Handle client requests
@ -34,5 +40,9 @@ export declare class InraidCallbacks {
*/ */
getRaidMenuSettings(): string; getRaidMenuSettings(): string;
getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string;
<<<<<<< HEAD
=======
getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string;
} }

View File

@ -18,7 +18,10 @@ import { IInventoryTagRequestData } from "@spt/models/eft/inventory/IInventoryTa
import { IInventoryToggleRequestData } from "@spt/models/eft/inventory/IInventoryToggleRequestData"; import { IInventoryToggleRequestData } from "@spt/models/eft/inventory/IInventoryToggleRequestData";
import { IInventoryTransferRequestData } from "@spt/models/eft/inventory/IInventoryTransferRequestData"; import { IInventoryTransferRequestData } from "@spt/models/eft/inventory/IInventoryTransferRequestData";
import { IOpenRandomLootContainerRequestData } from "@spt/models/eft/inventory/IOpenRandomLootContainerRequestData"; import { IOpenRandomLootContainerRequestData } from "@spt/models/eft/inventory/IOpenRandomLootContainerRequestData";
<<<<<<< HEAD
import { IPinOrLockItemRequest } from "@spt/models/eft/inventory/IPinOrLockItemRequest"; import { IPinOrLockItemRequest } from "@spt/models/eft/inventory/IPinOrLockItemRequest";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IRedeemProfileRequestData } from "@spt/models/eft/inventory/IRedeemProfileRequestData"; import { IRedeemProfileRequestData } from "@spt/models/eft/inventory/IRedeemProfileRequestData";
import { ISetFavoriteItems } from "@spt/models/eft/inventory/ISetFavoriteItems"; import { ISetFavoriteItems } from "@spt/models/eft/inventory/ISetFavoriteItems";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";

View File

@ -1,9 +1,16 @@
import { LocationController } from "@spt/controllers/LocationController"; import { LocationController } from "@spt/controllers/LocationController";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
<<<<<<< HEAD
import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase"; import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { IGetAirdropLootRequest } from "@spt/models/eft/location/IGetAirdropLootRequest"; import { IGetAirdropLootRequest } from "@spt/models/eft/location/IGetAirdropLootRequest";
import { IGetAirdropLootResponse } from "@spt/models/eft/location/IGetAirdropLootResponse"; import { IGetAirdropLootResponse } from "@spt/models/eft/location/IGetAirdropLootResponse";
=======
import { ILocationBase } from "@spt/models/eft/common/ILocationBase";
import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { IGetLocationRequestData } from "@spt/models/eft/location/IGetLocationRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class LocationCallbacks { export declare class LocationCallbacks {
protected httpResponse: HttpResponseUtil; protected httpResponse: HttpResponseUtil;

View File

@ -1,9 +1,15 @@
import { MatchController } from "@spt/controllers/MatchController"; import { MatchController } from "@spt/controllers/MatchController";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
<<<<<<< HEAD
import { IMetrics } from "@spt/models/eft/common/tables/IMatch"; import { IMetrics } from "@spt/models/eft/common/tables/IMatch";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData"; import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
import { IEndLocalRaidRequestData } from "@spt/models/eft/match/IEndLocalRaidRequestData"; import { IEndLocalRaidRequestData } from "@spt/models/eft/match/IEndLocalRaidRequestData";
=======
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
import { IEndOfflineRaidRequestData } from "@spt/models/eft/match/IEndOfflineRaidRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData"; import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData";
import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter"; import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter";
import { IMatchGroupCurrentResponse } from "@spt/models/eft/match/IMatchGroupCurrentResponse"; import { IMatchGroupCurrentResponse } from "@spt/models/eft/match/IMatchGroupCurrentResponse";
@ -16,8 +22,11 @@ import { IMatchGroupTransferRequest } from "@spt/models/eft/match/IMatchGroupTra
import { IProfileStatusResponse } from "@spt/models/eft/match/IProfileStatusResponse"; import { IProfileStatusResponse } from "@spt/models/eft/match/IProfileStatusResponse";
import { IPutMetricsRequestData } from "@spt/models/eft/match/IPutMetricsRequestData"; import { IPutMetricsRequestData } from "@spt/models/eft/match/IPutMetricsRequestData";
import { IRequestIdRequest } from "@spt/models/eft/match/IRequestIdRequest"; import { IRequestIdRequest } from "@spt/models/eft/match/IRequestIdRequest";
<<<<<<< HEAD
import { IStartLocalRaidRequestData } from "@spt/models/eft/match/IStartLocalRaidRequestData"; import { IStartLocalRaidRequestData } from "@spt/models/eft/match/IStartLocalRaidRequestData";
import { IStartLocalRaidResponseData } from "@spt/models/eft/match/IStartLocalRaidResponseData"; import { IStartLocalRaidResponseData } from "@spt/models/eft/match/IStartLocalRaidResponseData";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IUpdatePingRequestData } from "@spt/models/eft/match/IUpdatePingRequestData"; import { IUpdatePingRequestData } from "@spt/models/eft/match/IUpdatePingRequestData";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
@ -32,10 +41,15 @@ export declare class MatchCallbacks {
updatePing(url: string, info: IUpdatePingRequestData, sessionID: string): INullResponseData; updatePing(url: string, info: IUpdatePingRequestData, sessionID: string): INullResponseData;
exitMatch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; exitMatch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
/** Handle client/match/group/exit_from_menu */ /** Handle client/match/group/exit_from_menu */
<<<<<<< HEAD
exitFromMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; exitFromMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
/** Handle client/match/group/current */ /** Handle client/match/group/current */
groupCurrent(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IMatchGroupCurrentResponse>; groupCurrent(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IMatchGroupCurrentResponse>;
/** Handle client/match/group/looking/start */ /** Handle client/match/group/looking/start */
=======
exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
groupCurrent(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IMatchGroupCurrentResponse>;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
/** Handle client/match/group/looking/stop */ /** Handle client/match/group/looking/stop */
stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
@ -51,10 +65,15 @@ export declare class MatchCallbacks {
transferGroup(url: string, info: IMatchGroupTransferRequest, sessionId: string): IGetBodyResponseData<boolean>; transferGroup(url: string, info: IMatchGroupTransferRequest, sessionId: string): IGetBodyResponseData<boolean>;
/** Handle client/match/group/invite/cancel-all */ /** Handle client/match/group/invite/cancel-all */
cancelAllGroupInvite(url: string, info: IEmptyRequestData, sessionId: string): IGetBodyResponseData<boolean>; cancelAllGroupInvite(url: string, info: IEmptyRequestData, sessionId: string): IGetBodyResponseData<boolean>;
<<<<<<< HEAD
/** Handle client/putMetrics */ /** Handle client/putMetrics */
putMetrics(url: string, request: IPutMetricsRequestData, sessionId: string): INullResponseData; putMetrics(url: string, request: IPutMetricsRequestData, sessionId: string): INullResponseData;
/** Handle client/analytics/event-disconnect */ /** Handle client/analytics/event-disconnect */
eventDisconnect(url: string, request: IPutMetricsRequestData, sessionId: string): INullResponseData; eventDisconnect(url: string, request: IPutMetricsRequestData, sessionId: string): INullResponseData;
=======
/** @deprecated - not called on raid start/end or game start/exit */
putMetrics(url: string, info: IPutMetricsRequestData, sessionId: string): INullResponseData;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
serverAvailable(url: string, info: IEmptyRequestData, sessionId: string): IGetBodyResponseData<boolean>; serverAvailable(url: string, info: IEmptyRequestData, sessionId: string): IGetBodyResponseData<boolean>;
/** Handle match/group/start_game */ /** Handle match/group/start_game */
joinMatch(url: string, info: IMatchGroupStartGameRequest, sessionID: string): IGetBodyResponseData<IProfileStatusResponse>; joinMatch(url: string, info: IMatchGroupStartGameRequest, sessionID: string): IGetBodyResponseData<IProfileStatusResponse>;
@ -71,10 +90,15 @@ export declare class MatchCallbacks {
leaveGroup(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<boolean>; leaveGroup(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<boolean>;
/** Handle client/match/group/player/remove */ /** Handle client/match/group/player/remove */
removePlayerFromGroup(url: string, info: IMatchGroupPlayerRemoveRequest, sessionID: string): IGetBodyResponseData<boolean>; removePlayerFromGroup(url: string, info: IMatchGroupPlayerRemoveRequest, sessionID: string): IGetBodyResponseData<boolean>;
<<<<<<< HEAD
/** Handle client/match/local/start */ /** Handle client/match/local/start */
startLocalRaid(url: string, info: IStartLocalRaidRequestData, sessionID: string): IGetBodyResponseData<IStartLocalRaidResponseData>; startLocalRaid(url: string, info: IStartLocalRaidRequestData, sessionID: string): IGetBodyResponseData<IStartLocalRaidResponseData>;
/** Handle client/match/local/end */ /** Handle client/match/local/end */
endLocalRaid(url: string, info: IEndLocalRaidRequestData, sessionID: string): INullResponseData; endLocalRaid(url: string, info: IEndLocalRaidRequestData, sessionID: string): INullResponseData;
=======
/** Handle client/match/offline/end */
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** Handle client/raid/configuration */ /** Handle client/raid/configuration */
getRaidConfiguration(url: string, info: IGetRaidConfigurationRequestData, sessionID: string): INullResponseData; getRaidConfiguration(url: string, info: IGetRaidConfigurationRequestData, sessionID: string): INullResponseData;
/** Handle client/raid/configuration-by-profile */ /** Handle client/raid/configuration-by-profile */

View File

@ -1,26 +0,0 @@
import { PresetBuildController } from "../controllers/PresetBuildController";
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { IRemoveBuildRequestData } from "../models/eft/presetBuild/IRemoveBuildRequestData";
import { IUserBuilds } from "../models/eft/profile/IAkiProfile";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
export declare class PresetBuildCallbacks {
protected httpResponse: HttpResponseUtil;
protected presetBuildController: PresetBuildController;
constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController);
/** Handle client/handbook/builds/my/list */
getHandbookUserlist(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IUserBuilds>;
/** Handle SaveWeaponBuild event */
saveWeaponBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
/** Handle removeBuild event*/
removeBuild(pmcData: IPmcData, body: IRemoveBuildRequestData, sessionID: string): IItemEventRouterResponse;
/** Handle RemoveWeaponBuild event*/
removeWeaponBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
/** Handle SaveEquipmentBuild event */
saveEquipmentBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
/** Handle RemoveEquipmentBuild event*/
removeEquipmentBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
}

View File

@ -5,7 +5,11 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData"; import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
import { IGetMiniProfileRequestData } from "@spt/models/eft/launcher/IGetMiniProfileRequestData"; import { IGetMiniProfileRequestData } from "@spt/models/eft/launcher/IGetMiniProfileRequestData";
<<<<<<< HEAD
import { IGetProfileStatusResponseData } from "@spt/models/eft/profile/GetProfileStatusResponseData"; import { IGetProfileStatusResponseData } from "@spt/models/eft/profile/GetProfileStatusResponseData";
=======
import { GetProfileStatusResponseData } from "@spt/models/eft/profile/GetProfileStatusResponseData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ICreateProfileResponse } from "@spt/models/eft/profile/ICreateProfileResponse"; import { ICreateProfileResponse } from "@spt/models/eft/profile/ICreateProfileResponse";
import { IGetOtherProfileRequest } from "@spt/models/eft/profile/IGetOtherProfileRequest"; import { IGetOtherProfileRequest } from "@spt/models/eft/profile/IGetOtherProfileRequest";
import { IGetOtherProfileResponse } from "@spt/models/eft/profile/IGetOtherProfileResponse"; import { IGetOtherProfileResponse } from "@spt/models/eft/profile/IGetOtherProfileResponse";

View File

@ -3,7 +3,10 @@ import { OnUpdate } from "@spt/di/OnUpdate";
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig"; import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { SaveServer } from "@spt/servers/SaveServer"; import { SaveServer } from "@spt/servers/SaveServer";
<<<<<<< HEAD
import { BackupService } from "@spt/services/BackupService"; import { BackupService } from "@spt/services/BackupService";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export declare class SaveCallbacks implements OnLoad, OnUpdate { export declare class SaveCallbacks implements OnLoad, OnUpdate {
protected saveServer: SaveServer; protected saveServer: SaveServer;
protected configServer: ConfigServer; protected configServer: ConfigServer;

View File

@ -4,8 +4,11 @@ import { OnUpdate } from "@spt/di/OnUpdate";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { ITraderAssort, ITraderBase } from "@spt/models/eft/common/tables/ITrader"; import { ITraderAssort, ITraderBase } from "@spt/models/eft/common/tables/ITrader";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
<<<<<<< HEAD
import { IModdedTraders } from "@spt/models/spt/config/ITraderConfig"; import { IModdedTraders } from "@spt/models/spt/config/ITraderConfig";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class TraderCallbacks implements OnLoad, OnUpdate { export declare class TraderCallbacks implements OnLoad, OnUpdate {
protected httpResponse: HttpResponseUtil; protected httpResponse: HttpResponseUtil;

View File

@ -2,7 +2,10 @@ import { WeatherController } from "@spt/controllers/WeatherController";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { IWeatherData } from "@spt/models/eft/weather/IWeatherData"; import { IWeatherData } from "@spt/models/eft/weather/IWeatherData";
<<<<<<< HEAD
import { IGetLocalWeatherResponseData } from "@spt/models/spt/weather/IGetLocalWeatherResponseData"; import { IGetLocalWeatherResponseData } from "@spt/models/spt/weather/IGetLocalWeatherResponseData";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class WeatherCallbacks { export declare class WeatherCallbacks {
protected httpResponse: HttpResponseUtil; protected httpResponse: HttpResponseUtil;

View File

@ -1,9 +1,13 @@
import { WishlistController } from "@spt/controllers/WishlistController"; import { WishlistController } from "@spt/controllers/WishlistController";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
<<<<<<< HEAD
import { IAddToWishlistRequest } from "@spt/models/eft/wishlist/IAddToWishlistRequest"; import { IAddToWishlistRequest } from "@spt/models/eft/wishlist/IAddToWishlistRequest";
import { IChangeWishlistItemCategoryRequest } from "@spt/models/eft/wishlist/IChangeWishlistItemCategoryRequest"; import { IChangeWishlistItemCategoryRequest } from "@spt/models/eft/wishlist/IChangeWishlistItemCategoryRequest";
import { IRemoveFromWishlistRequest } from "@spt/models/eft/wishlist/IRemoveFromWishlistRequest"; import { IRemoveFromWishlistRequest } from "@spt/models/eft/wishlist/IRemoveFromWishlistRequest";
=======
import { IWishlistActionData } from "@spt/models/eft/wishlist/IWishlistActionData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export declare class WishlistCallbacks { export declare class WishlistCallbacks {
protected wishlistController: WishlistController; protected wishlistController: WishlistController;
constructor(wishlistController: WishlistController); constructor(wishlistController: WishlistController);

View File

@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { MinMax } from "@spt/models/common/MinMax"; import { MinMax } from "@spt/models/common/MinMax";
<<<<<<< HEAD
import { ICondition, IGenerateBotsRequestData } from "@spt/models/eft/bot/IGenerateBotsRequestData"; import { ICondition, IGenerateBotsRequestData } from "@spt/models/eft/bot/IGenerateBotsRequestData";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase"; import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
@ -12,6 +13,14 @@ import { IBotCore } from "@spt/models/eft/common/tables/IBotCore";
import { IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType"; import { IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType";
import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData"; import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData";
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails"; import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
=======
import { Condition, IGenerateBotsRequestData } from "@spt/models/eft/bot/IGenerateBotsRequestData";
import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
import { IBotCore } from "@spt/models/eft/common/tables/IBotCore";
import { Difficulty } from "@spt/models/eft/common/tables/IBotType";
import { BotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig"; import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
@ -79,6 +88,7 @@ export declare class BotController {
* @param sessionId Session id * @param sessionId Session id
* @returns IBotBase[] * @returns IBotBase[]
*/ */
<<<<<<< HEAD
protected generateMultipleBotsAndCache(request: IGenerateBotsRequestData, pmcProfile: IPmcData, sessionId: string): Promise<IBotBase[]>; protected generateMultipleBotsAndCache(request: IGenerateBotsRequestData, pmcProfile: IPmcData, sessionId: string): Promise<IBotBase[]>;
protected getMostRecentRaidSettings(): IGetRaidConfigurationRequestData; protected getMostRecentRaidSettings(): IGetRaidConfigurationRequestData;
/** /**
@ -87,17 +97,28 @@ export declare class BotController {
* @returns MinMax * @returns MinMax
*/ */
protected getPmcLevelRangeForMap(location: string): MinMax; protected getPmcLevelRangeForMap(location: string): MinMax;
=======
generateBotsFirstTime(request: IGenerateBotsRequestData, pmcProfile: IPmcData, sessionId: string): Promise<IBotBase[]>;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Create a BotGenerationDetails for the bot generator to use * Create a BotGenerationDetails for the bot generator to use
* @param condition Client data defining bot type and difficulty * @param condition Client data defining bot type and difficulty
* @param pmcProfile Player who is generating bots * @param pmcProfile Player who is generating bots
* @param allPmcsHaveSameNameAsPlayer Should all PMCs have same name as player * @param allPmcsHaveSameNameAsPlayer Should all PMCs have same name as player
<<<<<<< HEAD
* @param raidSettings Settings chosen pre-raid by player * @param raidSettings Settings chosen pre-raid by player
=======
* @param pmcLevelRangeForMap Min/max levels for PMCs to generate within
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
* @param botCountToGenerate How many bots to generate * @param botCountToGenerate How many bots to generate
* @param generateAsPmc Force bot being generated a PMC * @param generateAsPmc Force bot being generated a PMC
* @returns BotGenerationDetails * @returns BotGenerationDetails
*/ */
<<<<<<< HEAD
protected getBotGenerationDetailsForWave(condition: ICondition, pmcProfile: IPmcData, allPmcsHaveSameNameAsPlayer: boolean, raidSettings: IGetRaidConfigurationRequestData, botCountToGenerate: number, generateAsPmc: boolean): IBotGenerationDetails; protected getBotGenerationDetailsForWave(condition: ICondition, pmcProfile: IPmcData, allPmcsHaveSameNameAsPlayer: boolean, raidSettings: IGetRaidConfigurationRequestData, botCountToGenerate: number, generateAsPmc: boolean): IBotGenerationDetails;
=======
protected getBotGenerationDetailsForWave(condition: Condition, pmcProfile: IPmcData, allPmcsHaveSameNameAsPlayer: boolean, pmcLevelRangeForMap: MinMax, botCountToGenerate: number, generateAsPmc: boolean): BotGenerationDetails;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get players profile level * Get players profile level
* @param pmcProfile Profile to get level from * @param pmcProfile Profile to get level from
@ -111,7 +132,11 @@ export declare class BotController {
* @param sessionId Session id * @param sessionId Session id
* @returns A promise for the bots to be done generating * @returns A promise for the bots to be done generating
*/ */
<<<<<<< HEAD
protected generateWithBotDetails(condition: ICondition, botGenerationDetails: IBotGenerationDetails, sessionId: string): Promise<void>; protected generateWithBotDetails(condition: ICondition, botGenerationDetails: IBotGenerationDetails, sessionId: string): Promise<void>;
=======
protected generateWithBotDetails(condition: Condition, botGenerationDetails: BotGenerationDetails, sessionId: string): Promise<void>;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Generate a single bot and store in the cache * Generate a single bot and store in the cache
* @param botGenerationDetails the bot details to generate the bot with * @param botGenerationDetails the bot details to generate the bot with
@ -119,16 +144,25 @@ export declare class BotController {
* @param cacheKey the cache key to store the bot with * @param cacheKey the cache key to store the bot with
* @returns A promise for the bot to be stored * @returns A promise for the bot to be stored
*/ */
<<<<<<< HEAD
protected generateSingleBotAndStoreInCache(botGenerationDetails: IBotGenerationDetails, sessionId: string, cacheKey: string): Promise<void>; protected generateSingleBotAndStoreInCache(botGenerationDetails: IBotGenerationDetails, sessionId: string, cacheKey: string): Promise<void>;
=======
protected generateSingleBotAndStoreInCache(botGenerationDetails: BotGenerationDetails, sessionId: string, cacheKey: string): Promise<void>;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Pull a single bot out of cache and return, if cache is empty add bots to it and then return * Pull a single bot out of cache and return, if cache is empty add bots to it and then return
* @param sessionId Session id * @param sessionId Session id
* @param request Bot generation request object * @param request Bot generation request object
* @returns Single IBotBase object * @returns Single IBotBase object
*/ */
<<<<<<< HEAD
protected returnSingleBotFromCache(sessionId: string, request: IGenerateBotsRequestData): Promise<IBotBase[]>; protected returnSingleBotFromCache(sessionId: string, request: IGenerateBotsRequestData): Promise<IBotBase[]>;
protected getPmcConversionMinMaxForLocation(requestedBotRole: string, location: string): MinMax; protected getPmcConversionMinMaxForLocation(requestedBotRole: string, location: string): MinMax;
protected updateBotGenerationDetailsToRandomBoss(botGenerationDetails: IBotGenerationDetails, possibleBossTypeWeights: Record<string, number>): void; protected updateBotGenerationDetailsToRandomBoss(botGenerationDetails: IBotGenerationDetails, possibleBossTypeWeights: Record<string, number>): void;
=======
returnSingleBotFromCache(sessionId: string, request: IGenerateBotsRequestData): Promise<IBotBase[]>;
protected updateBotGenerationDetailsToRandomBoss(botGenerationDetails: BotGenerationDetails, possibleBossTypeWeights: Record<string, number>): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get the difficulty passed in, if its not "asonline", get selected difficulty from config * Get the difficulty passed in, if its not "asonline", get selected difficulty from config
* @param requestedDifficulty * @param requestedDifficulty

View File

@ -1,7 +1,11 @@
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { ISuit } from "@spt/models/eft/common/tables/ITrader"; import { ISuit } from "@spt/models/eft/common/tables/ITrader";
<<<<<<< HEAD
import { IBuyClothingRequestData, IPaymentItemForClothing } from "@spt/models/eft/customization/IBuyClothingRequestData"; import { IBuyClothingRequestData, IPaymentItemForClothing } from "@spt/models/eft/customization/IBuyClothingRequestData";
=======
import { ClothingItem, IBuyClothingRequestData } from "@spt/models/eft/customization/IBuyClothingRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IWearClothingRequestData } from "@spt/models/eft/customization/IWearClothingRequestData"; import { IWearClothingRequestData } from "@spt/models/eft/customization/IWearClothingRequestData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";

View File

@ -1,8 +1,11 @@
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot"; import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
import { DialogueHelper } from "@spt/helpers/DialogueHelper"; import { DialogueHelper } from "@spt/helpers/DialogueHelper";
<<<<<<< HEAD
import { NotificationSendHelper } from "@spt/helpers/NotificationSendHelper"; import { NotificationSendHelper } from "@spt/helpers/NotificationSendHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IDeleteFriendRequest } from "@spt/models/eft/dialog/IDeleteFriendRequest"; import { IDeleteFriendRequest } from "@spt/models/eft/dialog/IDeleteFriendRequest";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IFriendRequestData } from "@spt/models/eft/dialog/IFriendRequestData"; import { IFriendRequestData } from "@spt/models/eft/dialog/IFriendRequestData";
import { IFriendRequestSendResponse } from "@spt/models/eft/dialog/IFriendRequestSendResponse"; import { IFriendRequestSendResponse } from "@spt/models/eft/dialog/IFriendRequestSendResponse";
import { IGetAllAttachmentsResponse } from "@spt/models/eft/dialog/IGetAllAttachmentsResponse"; import { IGetAllAttachmentsResponse } from "@spt/models/eft/dialog/IGetAllAttachmentsResponse";
@ -10,7 +13,11 @@ import { IGetFriendListDataResponse } from "@spt/models/eft/dialog/IGetFriendLis
import { IGetMailDialogViewRequestData } from "@spt/models/eft/dialog/IGetMailDialogViewRequestData"; import { IGetMailDialogViewRequestData } from "@spt/models/eft/dialog/IGetMailDialogViewRequestData";
import { IGetMailDialogViewResponseData } from "@spt/models/eft/dialog/IGetMailDialogViewResponseData"; import { IGetMailDialogViewResponseData } from "@spt/models/eft/dialog/IGetMailDialogViewResponseData";
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest"; import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
<<<<<<< HEAD
import { IDialogue, IDialogueInfo, IMessage, ISptProfile, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile"; import { IDialogue, IDialogueInfo, IMessage, ISptProfile, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
=======
import { Dialogue, DialogueInfo, ISptProfile, IUserDialogInfo, Message } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { MessageType } from "@spt/models/enums/MessageType"; import { MessageType } from "@spt/models/enums/MessageType";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
@ -29,7 +36,11 @@ export declare class DialogueController {
protected localisationService: LocalisationService; protected localisationService: LocalisationService;
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected dialogueChatBots: IDialogueChatBot[]; protected dialogueChatBots: IDialogueChatBot[];
<<<<<<< HEAD
constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, dialogueHelper: DialogueHelper, notificationSendHelper: NotificationSendHelper, profileHelper: ProfileHelper, mailSendService: MailSendService, localisationService: LocalisationService, configServer: ConfigServer, dialogueChatBots: IDialogueChatBot[]); constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, dialogueHelper: DialogueHelper, notificationSendHelper: NotificationSendHelper, profileHelper: ProfileHelper, mailSendService: MailSendService, localisationService: LocalisationService, configServer: ConfigServer, dialogueChatBots: IDialogueChatBot[]);
=======
constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, dialogueHelper: DialogueHelper, mailSendService: MailSendService, localisationService: LocalisationService, configServer: ConfigServer, dialogueChatBots: IDialogueChatBot[]);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
registerChatBot(chatBot: IDialogueChatBot): void; registerChatBot(chatBot: IDialogueChatBot): void;
/** Handle onUpdate spt event */ /** Handle onUpdate spt event */
update(): void; update(): void;
@ -60,7 +71,11 @@ export declare class DialogueController {
* @param sessionID Player id * @param sessionID Player id
* @returns IUserDialogInfo array * @returns IUserDialogInfo array
*/ */
<<<<<<< HEAD
getDialogueUsers(dialog: IDialogue, messageType: MessageType, sessionID: string): IUserDialogInfo[] | undefined; getDialogueUsers(dialog: IDialogue, messageType: MessageType, sessionID: string): IUserDialogInfo[] | undefined;
=======
getDialogueUsers(dialog: Dialogue, messageType: MessageType, sessionID: string): IUserDialogInfo[] | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Handle client/mail/dialog/view * Handle client/mail/dialog/view
* Handle player clicking 'messenger' and seeing all the messages they've recieved * Handle player clicking 'messenger' and seeing all the messages they've recieved
@ -77,7 +92,11 @@ export declare class DialogueController {
* @param request get dialog request (params used when dialog doesnt exist in profile) * @param request get dialog request (params used when dialog doesnt exist in profile)
* @returns Dialogue * @returns Dialogue
*/ */
<<<<<<< HEAD
protected getDialogByIdFromProfile(profile: ISptProfile, request: IGetMailDialogViewRequestData): IDialogue; protected getDialogByIdFromProfile(profile: ISptProfile, request: IGetMailDialogViewRequestData): IDialogue;
=======
protected getDialogByIdFromProfile(profile: ISptProfile, request: IGetMailDialogViewRequestData): Dialogue;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get the users involved in a mail between two entities * Get the users involved in a mail between two entities
* @param fullProfile Player profile * @param fullProfile Player profile
@ -153,9 +172,15 @@ export declare class DialogueController {
* @param message Message to check expiry of * @param message Message to check expiry of
* @returns true or false * @returns true or false
*/ */
<<<<<<< HEAD
protected messageHasExpired(message: IMessage): boolean; protected messageHasExpired(message: IMessage): boolean;
/** Handle client/friend/request/send */ /** Handle client/friend/request/send */
sendFriendRequest(sessionID: string, request: IFriendRequestData): IFriendRequestSendResponse; sendFriendRequest(sessionID: string, request: IFriendRequestData): IFriendRequestSendResponse;
/** Handle client/friend/delete */ /** Handle client/friend/delete */
deleteFriend(sessionID: string, request: IDeleteFriendRequest): void; deleteFriend(sessionID: string, request: IDeleteFriendRequest): void;
=======
protected messageHasExpired(message: Message): boolean;
/** Handle client/friend/request/send */
sendFriendRequest(sessionID: string, request: IFriendRequestData): IFriendRequestSendResponse;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -1,7 +1,10 @@
import { ApplicationContext } from "@spt/context/ApplicationContext"; import { ApplicationContext } from "@spt/context/ApplicationContext";
import { HideoutHelper } from "@spt/helpers/HideoutHelper"; import { HideoutHelper } from "@spt/helpers/HideoutHelper";
import { HttpServerHelper } from "@spt/helpers/HttpServerHelper"; import { HttpServerHelper } from "@spt/helpers/HttpServerHelper";
<<<<<<< HEAD
import { InventoryHelper } from "@spt/helpers/InventoryHelper"; import { InventoryHelper } from "@spt/helpers/InventoryHelper";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { PreSptModLoader } from "@spt/loaders/PreSptModLoader"; import { PreSptModLoader } from "@spt/loaders/PreSptModLoader";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
@ -14,12 +17,21 @@ import { IGameModeRequestData } from "@spt/models/eft/game/IGameModeRequestData"
import { IGetRaidTimeRequest } from "@spt/models/eft/game/IGetRaidTimeRequest"; import { IGetRaidTimeRequest } from "@spt/models/eft/game/IGetRaidTimeRequest";
import { IGetRaidTimeResponse } from "@spt/models/eft/game/IGetRaidTimeResponse"; import { IGetRaidTimeResponse } from "@spt/models/eft/game/IGetRaidTimeResponse";
import { IServerDetails } from "@spt/models/eft/game/IServerDetails"; import { IServerDetails } from "@spt/models/eft/game/IServerDetails";
<<<<<<< HEAD
import { ISurveyResponseData } from "@spt/models/eft/game/ISurveyResponseData"; import { ISurveyResponseData } from "@spt/models/eft/game/ISurveyResponseData";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig"; import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
import { IHideoutConfig } from "@spt/models/spt/config/IHideoutConfig"; import { IHideoutConfig } from "@spt/models/spt/config/IHideoutConfig";
import { IHttpConfig } from "@spt/models/spt/config/IHttpConfig"; import { IHttpConfig } from "@spt/models/spt/config/IHttpConfig";
<<<<<<< HEAD
=======
import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig";
import { ILootConfig } from "@spt/models/spt/config/ILootConfig";
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig"; import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
@ -29,7 +41,10 @@ import { GiftService } from "@spt/services/GiftService";
import { ItemBaseClassService } from "@spt/services/ItemBaseClassService"; import { ItemBaseClassService } from "@spt/services/ItemBaseClassService";
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
import { OpenZoneService } from "@spt/services/OpenZoneService"; import { OpenZoneService } from "@spt/services/OpenZoneService";
<<<<<<< HEAD
import { PostDbLoadService } from "@spt/services/PostDbLoadService"; import { PostDbLoadService } from "@spt/services/PostDbLoadService";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ProfileActivityService } from "@spt/services/ProfileActivityService"; import { ProfileActivityService } from "@spt/services/ProfileActivityService";
import { ProfileFixerService } from "@spt/services/ProfileFixerService"; import { ProfileFixerService } from "@spt/services/ProfileFixerService";
import { RaidTimeAdjustmentService } from "@spt/services/RaidTimeAdjustmentService"; import { RaidTimeAdjustmentService } from "@spt/services/RaidTimeAdjustmentService";
@ -67,13 +82,34 @@ export declare class GameController {
protected ragfairConfig: IRagfairConfig; protected ragfairConfig: IRagfairConfig;
protected hideoutConfig: IHideoutConfig; protected hideoutConfig: IHideoutConfig;
protected botConfig: IBotConfig; protected botConfig: IBotConfig;
<<<<<<< HEAD
constructor(logger: ILogger, databaseService: DatabaseService, timeUtil: TimeUtil, hashUtil: HashUtil, preSptModLoader: PreSptModLoader, httpServerHelper: HttpServerHelper, inventoryHelper: InventoryHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, postDbLoadService: PostDbLoadService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, raidTimeAdjustmentService: RaidTimeAdjustmentService, profileActivityService: ProfileActivityService, applicationContext: ApplicationContext, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, databaseService: DatabaseService, timeUtil: TimeUtil, hashUtil: HashUtil, preSptModLoader: PreSptModLoader, httpServerHelper: HttpServerHelper, inventoryHelper: InventoryHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, postDbLoadService: PostDbLoadService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, raidTimeAdjustmentService: RaidTimeAdjustmentService, profileActivityService: ProfileActivityService, applicationContext: ApplicationContext, configServer: ConfigServer, cloner: ICloner);
=======
constructor(logger: ILogger, databaseService: DatabaseService, timeUtil: TimeUtil, hashUtil: HashUtil, preSptModLoader: PreSptModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, raidTimeAdjustmentService: RaidTimeAdjustmentService, profileActivityService: ProfileActivityService, applicationContext: ApplicationContext, configServer: ConfigServer, cloner: ICloner);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
load(): void; load(): void;
/** /**
* Handle client/game/start * Handle client/game/start
*/ */
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void; gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
<<<<<<< HEAD
protected migrate39xProfile(fullProfile: ISptProfile): void; protected migrate39xProfile(fullProfile: ISptProfile): void;
=======
protected adjustHideoutCraftTimes(overrideSeconds: number): void;
/**
* Adjust all hideout craft times to be no higher than the override
*/
protected adjustHideoutBuildTimes(overrideSeconds: number): void;
protected adjustLocationBotValues(): void;
/**
* Out of date/incorrectly made trader mods forget this data
*/
protected checkTraderRepairValuesExist(): void;
protected addCustomLooseLootPositions(): void;
protected adjustLooseLootSpawnProbabilities(): void;
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
protected adjustMapBotLimits(): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Handle client/game/config * Handle client/game/config
*/ */
@ -107,6 +143,10 @@ export declare class GameController {
* @param pmcProfile Player profile * @param pmcProfile Player profile
*/ */
protected warnOnActiveBotReloadSkill(pmcProfile: IPmcData): void; protected warnOnActiveBotReloadSkill(pmcProfile: IPmcData): void;
<<<<<<< HEAD
=======
protected setAllDbItemsAsSellableOnFlea(): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* When player logs in, iterate over all active effects and reduce timer * When player logs in, iterate over all active effects and reduce timer
* @param pmcProfile Profile to adjust values for * @param pmcProfile Profile to adjust values for
@ -122,6 +162,13 @@ export declare class GameController {
* @param fullProfile Profile to add mod details to * @param fullProfile Profile to add mod details to
*/ */
protected saveActiveModsToProfile(fullProfile: ISptProfile): void; protected saveActiveModsToProfile(fullProfile: ISptProfile): void;
<<<<<<< HEAD
=======
/**
* Check for any missing assorts inside each traders assort.json data, checking against traders questassort.json
*/
protected validateQuestAssortUnlocksExist(): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Add the logged in players name to PMC name pool * Add the logged in players name to PMC name pool
* @param pmcProfile Profile of player to get name from * @param pmcProfile Profile of player to get name from
@ -132,6 +179,18 @@ export declare class GameController {
* @param fullProfile Profile to check for dialog in * @param fullProfile Profile to check for dialog in
*/ */
protected checkForAndRemoveUndefinedDialogs(fullProfile: ISptProfile): void; protected checkForAndRemoveUndefinedDialogs(fullProfile: ISptProfile): void;
<<<<<<< HEAD
protected logProfileDetails(fullProfile: ISptProfile): void; protected logProfileDetails(fullProfile: ISptProfile): void;
getSurvey(sessionId: string): ISurveyResponseData; getSurvey(sessionId: string): ISurveyResponseData;
=======
/**
* Blank out the "test" mail message from prapor
*/
protected removePraporTestMessage(): void;
/**
* Make non-trigger-spawned raiders spawn earlier + always
*/
protected adjustLabsRaiderSpawnRate(): void;
protected logProfileDetails(fullProfile: ISptProfile): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -5,6 +5,10 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IHealthTreatmentRequestData } from "@spt/models/eft/health/IHealthTreatmentRequestData"; import { IHealthTreatmentRequestData } from "@spt/models/eft/health/IHealthTreatmentRequestData";
import { IOffraidEatRequestData } from "@spt/models/eft/health/IOffraidEatRequestData"; import { IOffraidEatRequestData } from "@spt/models/eft/health/IOffraidEatRequestData";
import { IOffraidHealRequestData } from "@spt/models/eft/health/IOffraidHealRequestData"; import { IOffraidHealRequestData } from "@spt/models/eft/health/IOffraidHealRequestData";
<<<<<<< HEAD
=======
import { ISyncHealthRequestData } from "@spt/models/eft/health/ISyncHealthRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IWorkoutData } from "@spt/models/eft/health/IWorkoutData"; import { IWorkoutData } from "@spt/models/eft/health/IWorkoutData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
@ -24,6 +28,18 @@ export declare class HealthController {
protected healthHelper: HealthHelper; protected healthHelper: HealthHelper;
protected cloner: ICloner; protected cloner: ICloner;
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, localisationService: LocalisationService, httpResponse: HttpResponseUtil, healthHelper: HealthHelper, cloner: ICloner); constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, localisationService: LocalisationService, httpResponse: HttpResponseUtil, healthHelper: HealthHelper, cloner: ICloner);
<<<<<<< HEAD
=======
/**
* stores in-raid player health
* @param pmcData Player profile
* @param info Request data
* @param sessionID Player id
* @param addEffects Should effects found be added or removed from profile
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
*/
saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* When healing in menu * When healing in menu
* @param pmcData Player profile * @param pmcData Player profile

View File

@ -6,6 +6,7 @@ import { PaymentHelper } from "@spt/helpers/PaymentHelper";
import { PresetHelper } from "@spt/helpers/PresetHelper"; import { PresetHelper } from "@spt/helpers/PresetHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IBotHideoutArea, IProduct, ITaskConditionCounter } from "@spt/models/eft/common/tables/IBotBase"; import { IBotHideoutArea, IProduct, ITaskConditionCounter } from "@spt/models/eft/common/tables/IBotBase";
import { IHandleQTEEventRequestData } from "@spt/models/eft/hideout/IHandleQTEEventRequestData"; import { IHandleQTEEventRequestData } from "@spt/models/eft/hideout/IHandleQTEEventRequestData";
import { IHideoutArea, IStage } from "@spt/models/eft/hideout/IHideoutArea"; import { IHideoutArea, IStage } from "@spt/models/eft/hideout/IHideoutArea";
@ -13,6 +14,14 @@ import { IHideoutCancelProductionRequestData } from "@spt/models/eft/hideout/IHi
import { IHideoutCircleOfCultistProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData"; import { IHideoutCircleOfCultistProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData";
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData"; import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
import { IHideoutDeleteProductionRequestData } from "@spt/models/eft/hideout/IHideoutDeleteProductionRequestData"; import { IHideoutDeleteProductionRequestData } from "@spt/models/eft/hideout/IHideoutDeleteProductionRequestData";
=======
import { HideoutArea, ITaskConditionCounter, Product } from "@spt/models/eft/common/tables/IBotBase";
import { HideoutUpgradeCompleteRequestData } from "@spt/models/eft/hideout/HideoutUpgradeCompleteRequestData";
import { IHandleQTEEventRequestData } from "@spt/models/eft/hideout/IHandleQTEEventRequestData";
import { IHideoutArea, Stage } from "@spt/models/eft/hideout/IHideoutArea";
import { IHideoutCancelProductionRequestData } from "@spt/models/eft/hideout/IHideoutCancelProductionRequestData";
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IHideoutImproveAreaRequestData } from "@spt/models/eft/hideout/IHideoutImproveAreaRequestData"; import { IHideoutImproveAreaRequestData } from "@spt/models/eft/hideout/IHideoutImproveAreaRequestData";
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction"; import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
import { IHideoutPutItemInRequestData } from "@spt/models/eft/hideout/IHideoutPutItemInRequestData"; import { IHideoutPutItemInRequestData } from "@spt/models/eft/hideout/IHideoutPutItemInRequestData";
@ -21,9 +30,14 @@ import { IHideoutSingleProductionStartRequestData } from "@spt/models/eft/hideou
import { IHideoutTakeItemOutRequestData } from "@spt/models/eft/hideout/IHideoutTakeItemOutRequestData"; import { IHideoutTakeItemOutRequestData } from "@spt/models/eft/hideout/IHideoutTakeItemOutRequestData";
import { IHideoutTakeProductionRequestData } from "@spt/models/eft/hideout/IHideoutTakeProductionRequestData"; import { IHideoutTakeProductionRequestData } from "@spt/models/eft/hideout/IHideoutTakeProductionRequestData";
import { IHideoutToggleAreaRequestData } from "@spt/models/eft/hideout/IHideoutToggleAreaRequestData"; import { IHideoutToggleAreaRequestData } from "@spt/models/eft/hideout/IHideoutToggleAreaRequestData";
<<<<<<< HEAD
import { IHideoutUpgradeCompleteRequestData } from "@spt/models/eft/hideout/IHideoutUpgradeCompleteRequestData"; import { IHideoutUpgradeCompleteRequestData } from "@spt/models/eft/hideout/IHideoutUpgradeCompleteRequestData";
import { IHideoutUpgradeRequestData } from "@spt/models/eft/hideout/IHideoutUpgradeRequestData"; import { IHideoutUpgradeRequestData } from "@spt/models/eft/hideout/IHideoutUpgradeRequestData";
import { IQteData, IQteResult } from "@spt/models/eft/hideout/IQteData"; import { IQteData, IQteResult } from "@spt/models/eft/hideout/IQteData";
=======
import { IHideoutUpgradeRequestData } from "@spt/models/eft/hideout/IHideoutUpgradeRequestData";
import { IQteData } from "@spt/models/eft/hideout/IQteData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IRecordShootingRangePoints } from "@spt/models/eft/hideout/IRecordShootingRangePoints"; import { IRecordShootingRangePoints } from "@spt/models/eft/hideout/IRecordShootingRangePoints";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { HideoutAreas } from "@spt/models/enums/HideoutAreas"; import { HideoutAreas } from "@spt/models/enums/HideoutAreas";
@ -32,7 +46,10 @@ import { ILogger } from "@spt/models/spt/utils/ILogger";
import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { SaveServer } from "@spt/servers/SaveServer"; import { SaveServer } from "@spt/servers/SaveServer";
<<<<<<< HEAD
import { CircleOfCultistService } from "@spt/services/CircleOfCultistService"; import { CircleOfCultistService } from "@spt/services/CircleOfCultistService";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { FenceService } from "@spt/services/FenceService"; import { FenceService } from "@spt/services/FenceService";
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
@ -64,12 +81,19 @@ export declare class HideoutController {
protected profileActivityService: ProfileActivityService; protected profileActivityService: ProfileActivityService;
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected fenceService: FenceService; protected fenceService: FenceService;
<<<<<<< HEAD
protected circleOfCultistService: CircleOfCultistService; protected circleOfCultistService: CircleOfCultistService;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
protected cloner: ICloner; protected cloner: ICloner;
/** Key used in TaskConditionCounters array */ /** Key used in TaskConditionCounters array */
protected static nameTaskConditionCountersCraftingId: string; protected static nameTaskConditionCountersCraftingId: string;
protected hideoutConfig: IHideoutConfig; protected hideoutConfig: IHideoutConfig;
<<<<<<< HEAD
constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseService: DatabaseService, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, itemHelper: ItemHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, eventOutputHolder: EventOutputHolder, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, scavCaseRewardGenerator: ScavCaseRewardGenerator, localisationService: LocalisationService, profileActivityService: ProfileActivityService, configServer: ConfigServer, fenceService: FenceService, circleOfCultistService: CircleOfCultistService, cloner: ICloner); constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseService: DatabaseService, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, itemHelper: ItemHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, eventOutputHolder: EventOutputHolder, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, scavCaseRewardGenerator: ScavCaseRewardGenerator, localisationService: LocalisationService, profileActivityService: ProfileActivityService, configServer: ConfigServer, fenceService: FenceService, circleOfCultistService: CircleOfCultistService, cloner: ICloner);
=======
constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseService: DatabaseService, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, itemHelper: ItemHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, eventOutputHolder: EventOutputHolder, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, scavCaseRewardGenerator: ScavCaseRewardGenerator, localisationService: LocalisationService, profileActivityService: ProfileActivityService, configServer: ConfigServer, fenceService: FenceService, cloner: ICloner);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Handle HideoutUpgrade event * Handle HideoutUpgrade event
* Start a hideout area upgrade * Start a hideout area upgrade

View File

@ -1,4 +1,5 @@
import { ApplicationContext } from "@spt/context/ApplicationContext"; import { ApplicationContext } from "@spt/context/ApplicationContext";
<<<<<<< HEAD
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IRegisterPlayerRequestData } from "@spt/models/eft/inRaid/IRegisterPlayerRequestData"; import { IRegisterPlayerRequestData } from "@spt/models/eft/inRaid/IRegisterPlayerRequestData";
import { IScavSaveRequestData } from "@spt/models/eft/inRaid/IScavSaveRequestData"; import { IScavSaveRequestData } from "@spt/models/eft/inRaid/IScavSaveRequestData";
@ -8,19 +9,80 @@ import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { SaveServer } from "@spt/servers/SaveServer"; import { SaveServer } from "@spt/servers/SaveServer";
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
=======
import { PlayerScavGenerator } from "@spt/generators/PlayerScavGenerator";
import { HealthHelper } from "@spt/helpers/HealthHelper";
import { InRaidHelper } from "@spt/helpers/InRaidHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { QuestHelper } from "@spt/helpers/QuestHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { Item } from "@spt/models/eft/common/tables/IItem";
import { IRegisterPlayerRequestData } from "@spt/models/eft/inRaid/IRegisterPlayerRequestData";
import { ISaveProgressRequestData } from "@spt/models/eft/inRaid/ISaveProgressRequestData";
import { PlayerRaidEndState } from "@spt/models/enums/PlayerRaidEndState";
import { IAirdropConfig } from "@spt/models/spt/config/IAirdropConfig";
import { IBTRConfig } from "@spt/models/spt/config/IBTRConfig";
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { IHideoutConfig } from "@spt/models/spt/config/IHideoutConfig";
import { IInRaidConfig } from "@spt/models/spt/config/IInRaidConfig";
import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig";
import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
import { ITraderServiceModel } from "@spt/models/spt/services/ITraderServiceModel";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer";
import { SaveServer } from "@spt/servers/SaveServer";
import { DatabaseService } from "@spt/services/DatabaseService";
import { InsuranceService } from "@spt/services/InsuranceService";
import { LocalisationService } from "@spt/services/LocalisationService";
import { MailSendService } from "@spt/services/MailSendService";
import { MatchBotDetailsCacheService } from "@spt/services/MatchBotDetailsCacheService";
import { PmcChatResponseService } from "@spt/services/PmcChatResponseService";
import { TraderServicesService } from "@spt/services/TraderServicesService";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { TimeUtil } from "@spt/utils/TimeUtil";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Logic for handling In Raid callbacks * Logic for handling In Raid callbacks
*/ */
export declare class InraidController { export declare class InraidController {
protected logger: ILogger; protected logger: ILogger;
protected saveServer: SaveServer; protected saveServer: SaveServer;
<<<<<<< HEAD
protected profileHelper: ProfileHelper; protected profileHelper: ProfileHelper;
protected localisationService: LocalisationService; protected localisationService: LocalisationService;
=======
protected timeUtil: TimeUtil;
protected databaseService: DatabaseService;
protected pmcChatResponseService: PmcChatResponseService;
protected matchBotDetailsCacheService: MatchBotDetailsCacheService;
protected questHelper: QuestHelper;
protected itemHelper: ItemHelper;
protected profileHelper: ProfileHelper;
protected playerScavGenerator: PlayerScavGenerator;
protected healthHelper: HealthHelper;
protected traderHelper: TraderHelper;
protected traderServicesService: TraderServicesService;
protected localisationService: LocalisationService;
protected insuranceService: InsuranceService;
protected inRaidHelper: InRaidHelper;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
protected applicationContext: ApplicationContext; protected applicationContext: ApplicationContext;
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected inRaidConfig: IInRaidConfig; protected inRaidConfig: IInRaidConfig;
<<<<<<< HEAD
protected botConfig: IBotConfig; protected botConfig: IBotConfig;
constructor(logger: ILogger, saveServer: SaveServer, profileHelper: ProfileHelper, localisationService: LocalisationService, applicationContext: ApplicationContext, configServer: ConfigServer); constructor(logger: ILogger, saveServer: SaveServer, profileHelper: ProfileHelper, localisationService: LocalisationService, applicationContext: ApplicationContext, configServer: ConfigServer);
=======
protected traderConfig: ITraderConfig;
protected locationConfig: ILocationConfig;
protected ragfairConfig: IRagfairConfig;
protected hideoutConfig: IHideoutConfig;
protected botConfig: IBotConfig;
constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Save locationId to active profiles inraid object AND app context * Save locationId to active profiles inraid object AND app context
* @param sessionID Session id * @param sessionID Session id
@ -41,5 +103,9 @@ export declare class InraidController {
*/ */
getInraidConfig(): IInRaidConfig; getInraidConfig(): IInRaidConfig;
getTraitorScavHostileChance(url: string, sessionID: string): number; getTraitorScavHostileChance(url: string, sessionID: string): number;
<<<<<<< HEAD
=======
getSandboxMaxPatrolValue(url: string, sessionID: string): number;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
getBossConvertSettings(url: string, sessionId: string): string[]; getBossConvertSettings(url: string, sessionId: string): string[];
} }

View File

@ -4,12 +4,20 @@ import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IGetInsuranceCostRequestData } from "@spt/models/eft/insurance/IGetInsuranceCostRequestData"; import { IGetInsuranceCostRequestData } from "@spt/models/eft/insurance/IGetInsuranceCostRequestData";
import { IGetInsuranceCostResponseData } from "@spt/models/eft/insurance/IGetInsuranceCostResponseData"; import { IGetInsuranceCostResponseData } from "@spt/models/eft/insurance/IGetInsuranceCostResponseData";
import { IInsureRequestData } from "@spt/models/eft/insurance/IInsureRequestData"; import { IInsureRequestData } from "@spt/models/eft/insurance/IInsureRequestData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
<<<<<<< HEAD
import { IInsurance } from "@spt/models/eft/profile/ISptProfile"; import { IInsurance } from "@spt/models/eft/profile/ISptProfile";
=======
import { Insurance } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IInsuranceConfig } from "@spt/models/spt/config/IInsuranceConfig"; import { IInsuranceConfig } from "@spt/models/spt/config/IInsuranceConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
@ -189,7 +197,11 @@ export declare class InsuranceController {
* @param insuredItem Optional. The item to roll for. Only used for logging. * @param insuredItem Optional. The item to roll for. Only used for logging.
* @returns true if the insured item should be removed from inventory, false otherwise, or undefined on error. * @returns true if the insured item should be removed from inventory, false otherwise, or undefined on error.
*/ */
<<<<<<< HEAD
protected rollForDelete(traderId: string, insuredItem?: IItem): boolean | undefined; protected rollForDelete(traderId: string, insuredItem?: IItem): boolean | undefined;
=======
protected rollForDelete(traderId: string, insuredItem?: Item): boolean | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Handle Insure event * Handle Insure event
* Add insurance to an item * Add insurance to an item

View File

@ -25,7 +25,10 @@ import { IInventoryTagRequestData } from "@spt/models/eft/inventory/IInventoryTa
import { IInventoryToggleRequestData } from "@spt/models/eft/inventory/IInventoryToggleRequestData"; import { IInventoryToggleRequestData } from "@spt/models/eft/inventory/IInventoryToggleRequestData";
import { IInventoryTransferRequestData } from "@spt/models/eft/inventory/IInventoryTransferRequestData"; import { IInventoryTransferRequestData } from "@spt/models/eft/inventory/IInventoryTransferRequestData";
import { IOpenRandomLootContainerRequestData } from "@spt/models/eft/inventory/IOpenRandomLootContainerRequestData"; import { IOpenRandomLootContainerRequestData } from "@spt/models/eft/inventory/IOpenRandomLootContainerRequestData";
<<<<<<< HEAD
import { IPinOrLockItemRequest } from "@spt/models/eft/inventory/IPinOrLockItemRequest"; import { IPinOrLockItemRequest } from "@spt/models/eft/inventory/IPinOrLockItemRequest";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IRedeemProfileRequestData } from "@spt/models/eft/inventory/IRedeemProfileRequestData"; import { IRedeemProfileRequestData } from "@spt/models/eft/inventory/IRedeemProfileRequestData";
import { ISetFavoriteItems } from "@spt/models/eft/inventory/ISetFavoriteItems"; import { ISetFavoriteItems } from "@spt/models/eft/inventory/ISetFavoriteItems";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";

View File

@ -5,7 +5,11 @@ import { IChangeRequestData } from "@spt/models/eft/launcher/IChangeRequestData"
import { ILoginRequestData } from "@spt/models/eft/launcher/ILoginRequestData"; import { ILoginRequestData } from "@spt/models/eft/launcher/ILoginRequestData";
import { IRegisterData } from "@spt/models/eft/launcher/IRegisterData"; import { IRegisterData } from "@spt/models/eft/launcher/IRegisterData";
import { IConnectResponse } from "@spt/models/eft/profile/IConnectResponse"; import { IConnectResponse } from "@spt/models/eft/profile/IConnectResponse";
<<<<<<< HEAD
import { IModDetails, Info } from "@spt/models/eft/profile/ISptProfile"; import { IModDetails, Info } from "@spt/models/eft/profile/ISptProfile";
=======
import { Info, ModDetails } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig"; import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
import { IPackageJsonData } from "@spt/models/spt/mod/IPackageJsonData"; import { IPackageJsonData } from "@spt/models/spt/mod/IPackageJsonData";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";

View File

@ -1,3 +1,4 @@
<<<<<<< HEAD
import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase"; import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase";
import { IGetAirdropLootRequest } from "@spt/models/eft/location/IGetAirdropLootRequest"; import { IGetAirdropLootRequest } from "@spt/models/eft/location/IGetAirdropLootRequest";
import { IGetAirdropLootResponse } from "@spt/models/eft/location/IGetAirdropLootResponse"; import { IGetAirdropLootResponse } from "@spt/models/eft/location/IGetAirdropLootResponse";
@ -15,6 +16,62 @@ export declare class LocationController {
protected cloner: ICloner; protected cloner: ICloner;
protected locationConfig: ILocationConfig; protected locationConfig: ILocationConfig;
constructor(logger: ILogger, databaseService: DatabaseService, airdropService: AirdropService, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, databaseService: DatabaseService, airdropService: AirdropService, configServer: ConfigServer, cloner: ICloner);
=======
import { ApplicationContext } from "@spt/context/ApplicationContext";
import { LocationGenerator } from "@spt/generators/LocationGenerator";
import { LootGenerator } from "@spt/generators/LootGenerator";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { ILocationBase } from "@spt/models/eft/common/ILocationBase";
import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase";
import { IAirdropLootResult } from "@spt/models/eft/location/IAirdropLootResult";
import { IGetLocationRequestData } from "@spt/models/eft/location/IGetLocationRequestData";
import { AirdropTypeEnum } from "@spt/models/enums/AirdropType";
import { IAirdropConfig } from "@spt/models/spt/config/IAirdropConfig";
import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig";
import { LootRequest } from "@spt/models/spt/services/LootRequest";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer";
import { DatabaseService } from "@spt/services/DatabaseService";
import { ItemFilterService } from "@spt/services/ItemFilterService";
import { LocalisationService } from "@spt/services/LocalisationService";
import { RaidTimeAdjustmentService } from "@spt/services/RaidTimeAdjustmentService";
import { HashUtil } from "@spt/utils/HashUtil";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { TimeUtil } from "@spt/utils/TimeUtil";
import { ICloner } from "@spt/utils/cloners/ICloner";
export declare class LocationController {
protected hashUtil: HashUtil;
protected randomUtil: RandomUtil;
protected weightedRandomHelper: WeightedRandomHelper;
protected logger: ILogger;
protected locationGenerator: LocationGenerator;
protected localisationService: LocalisationService;
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
protected itemFilterService: ItemFilterService;
protected lootGenerator: LootGenerator;
protected databaseService: DatabaseService;
protected timeUtil: TimeUtil;
protected configServer: ConfigServer;
protected applicationContext: ApplicationContext;
protected cloner: ICloner;
protected airdropConfig: IAirdropConfig;
protected locationConfig: ILocationConfig;
constructor(hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseService: DatabaseService, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext, cloner: ICloner);
/**
* Handle client/location/getLocalloot
* Get a location (map) with generated loot data
* @param sessionId Player id
* @param request Map request to generate
* @returns ILocationBase
*/
get(sessionId: string, request: IGetLocationRequestData): ILocationBase;
/**
* Generate a maps base location and loot
* @param name Map name
* @returns ILocationBase
*/
protected generate(name: string): ILocationBase;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Handle client/locations * Handle client/locations
* Get all maps base location properties without loot data * Get all maps base location properties without loot data

View File

@ -1,10 +1,19 @@
import { ApplicationContext } from "@spt/context/ApplicationContext"; import { ApplicationContext } from "@spt/context/ApplicationContext";
<<<<<<< HEAD
import { IEndLocalRaidRequestData } from "@spt/models/eft/match/IEndLocalRaidRequestData"; import { IEndLocalRaidRequestData } from "@spt/models/eft/match/IEndLocalRaidRequestData";
=======
import { LootGenerator } from "@spt/generators/LootGenerator";
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IEndOfflineRaidRequestData } from "@spt/models/eft/match/IEndOfflineRaidRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData"; import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData";
import { IMatchGroupStartGameRequest } from "@spt/models/eft/match/IMatchGroupStartGameRequest"; import { IMatchGroupStartGameRequest } from "@spt/models/eft/match/IMatchGroupStartGameRequest";
import { IMatchGroupStatusRequest } from "@spt/models/eft/match/IMatchGroupStatusRequest"; import { IMatchGroupStatusRequest } from "@spt/models/eft/match/IMatchGroupStatusRequest";
import { IMatchGroupStatusResponse } from "@spt/models/eft/match/IMatchGroupStatusResponse"; import { IMatchGroupStatusResponse } from "@spt/models/eft/match/IMatchGroupStatusResponse";
import { IProfileStatusResponse } from "@spt/models/eft/match/IProfileStatusResponse"; import { IProfileStatusResponse } from "@spt/models/eft/match/IProfileStatusResponse";
<<<<<<< HEAD
import { IStartLocalRaidRequestData } from "@spt/models/eft/match/IStartLocalRaidRequestData"; import { IStartLocalRaidRequestData } from "@spt/models/eft/match/IStartLocalRaidRequestData";
import { IStartLocalRaidResponseData } from "@spt/models/eft/match/IStartLocalRaidResponseData"; import { IStartLocalRaidResponseData } from "@spt/models/eft/match/IStartLocalRaidResponseData";
import { IMatchConfig } from "@spt/models/spt/config/IMatchConfig"; import { IMatchConfig } from "@spt/models/spt/config/IMatchConfig";
@ -15,6 +24,23 @@ import { SaveServer } from "@spt/servers/SaveServer";
import { LocationLifecycleService } from "@spt/services/LocationLifecycleService"; import { LocationLifecycleService } from "@spt/services/LocationLifecycleService";
import { MatchLocationService } from "@spt/services/MatchLocationService"; import { MatchLocationService } from "@spt/services/MatchLocationService";
import { ICloner } from "@spt/utils/cloners/ICloner"; import { ICloner } from "@spt/utils/cloners/ICloner";
=======
import { IInRaidConfig } from "@spt/models/spt/config/IInRaidConfig";
import { IMatchConfig } from "@spt/models/spt/config/IMatchConfig";
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer";
import { SaveServer } from "@spt/servers/SaveServer";
import { BotGenerationCacheService } from "@spt/services/BotGenerationCacheService";
import { BotLootCacheService } from "@spt/services/BotLootCacheService";
import { MailSendService } from "@spt/services/MailSendService";
import { MatchLocationService } from "@spt/services/MatchLocationService";
import { ProfileSnapshotService } from "@spt/services/ProfileSnapshotService";
import { HashUtil } from "@spt/utils/HashUtil";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { TimeUtil } from "@spt/utils/TimeUtil";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export declare class MatchController { export declare class MatchController {
protected logger: ILogger; protected logger: ILogger;
protected saveServer: SaveServer; protected saveServer: SaveServer;

View File

@ -1,36 +0,0 @@
import { ItemHelper } from "../helpers/ItemHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { IRemoveBuildRequestData } from "../models/eft/presetBuild/IRemoveBuildRequestData";
import { IUserBuilds } from "../models/eft/profile/IAkiProfile";
import { ILogger } from "../models/spt/utils/ILogger";
import { EventOutputHolder } from "../routers/EventOutputHolder";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
import { JsonUtil } from "../utils/JsonUtil";
export declare class PresetBuildController {
protected logger: ILogger;
protected hashUtil: HashUtil;
protected eventOutputHolder: EventOutputHolder;
protected jsonUtil: JsonUtil;
protected databaseServer: DatabaseServer;
protected itemHelper: ItemHelper;
protected saveServer: SaveServer;
constructor(logger: ILogger, hashUtil: HashUtil, eventOutputHolder: EventOutputHolder, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer);
/** Handle client/handbook/builds/my/list */
getUserBuilds(sessionID: string): IUserBuilds;
/** Handle SaveWeaponBuild event */
saveWeaponBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionId: string): IItemEventRouterResponse;
/** Handle SaveEquipmentBuild event */
saveEquipmentBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
protected saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string, buildType: string): IItemEventRouterResponse;
/** Handle RemoveWeaponBuild event*/
removeBuild(pmcData: IPmcData, body: IRemoveBuildRequestData, sessionID: string): IItemEventRouterResponse;
/** Handle RemoveWeaponBuild event*/
removeWeaponBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
/** Handle RemoveEquipmentBuild event*/
removeEquipmentBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
protected removePlayerBuild(pmcData: IPmcData, id: string, sessionID: string): IItemEventRouterResponse;
}

View File

@ -7,7 +7,11 @@ import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { IMiniProfile } from "@spt/models/eft/launcher/IMiniProfile"; import { IMiniProfile } from "@spt/models/eft/launcher/IMiniProfile";
<<<<<<< HEAD
import { IGetProfileStatusResponseData } from "@spt/models/eft/profile/GetProfileStatusResponseData"; import { IGetProfileStatusResponseData } from "@spt/models/eft/profile/GetProfileStatusResponseData";
=======
import { GetProfileStatusResponseData } from "@spt/models/eft/profile/GetProfileStatusResponseData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IGetOtherProfileRequest } from "@spt/models/eft/profile/IGetOtherProfileRequest"; import { IGetOtherProfileRequest } from "@spt/models/eft/profile/IGetOtherProfileRequest";
import { IGetOtherProfileResponse } from "@spt/models/eft/profile/IGetOtherProfileResponse"; import { IGetOtherProfileResponse } from "@spt/models/eft/profile/IGetOtherProfileResponse";
import { IGetProfileSettingsRequest } from "@spt/models/eft/profile/IGetProfileSettingsRequest"; import { IGetProfileSettingsRequest } from "@spt/models/eft/profile/IGetProfileSettingsRequest";

View File

@ -5,7 +5,12 @@ import { QuestConditionHelper } from "@spt/helpers/QuestConditionHelper";
import { QuestHelper } from "@spt/helpers/QuestHelper"; import { QuestHelper } from "@spt/helpers/QuestHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IQuest, IQuestCondition } from "@spt/models/eft/common/tables/IQuest"; import { IQuest, IQuestCondition } from "@spt/models/eft/common/tables/IQuest";
import { IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; import { IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
@ -54,6 +59,16 @@ export declare class QuestController {
*/ */
getClientQuests(sessionID: string): IQuest[]; getClientQuests(sessionID: string): IQuest[];
/** /**
<<<<<<< HEAD
=======
* Does a provided quest have a level requirement equal to or below defined level
* @param quest Quest to check
* @param playerLevel level of player to test against quest
* @returns true if quest can be seen/accepted by player of defined level
*/
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
/**
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
* Handle QuestAccept event * Handle QuestAccept event
* Handle the client accepting a quest and starting it * Handle the client accepting a quest and starting it
* Send starting rewards if any to player and * Send starting rewards if any to player and
@ -82,6 +97,7 @@ export declare class QuestController {
* @returns IItemEventRouterResponse * @returns IItemEventRouterResponse
*/ */
acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
protected createAcceptedQuestClientResponse(sessionID: string, pmcData: IPmcData, repeatableQuestProfile: IRepeatableQuest): IItemEventRouterResponse;
/** /**
* Look for an accepted quest inside player profile, return matching * Look for an accepted quest inside player profile, return matching
* @param pmcData Profile to search through * @param pmcData Profile to search through
@ -101,6 +117,52 @@ export declare class QuestController {
*/ */
completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse;
/** /**
<<<<<<< HEAD
=======
* Return a list of quests that would fail when supplied quest is completed
* @param completedQuestId quest completed id
* @returns array of IQuest objects
*/
protected getQuestsFailedByCompletingQuest(completedQuestId: string, pmcProfile: IPmcData): IQuest[];
/**
* Remove a quest entirely from a profile
* @param sessionId Player id
* @param questIdToRemove Qid of quest to remove
*/
protected removeQuestFromScavProfile(sessionId: string, questIdToRemove: string): void;
/**
* Return quests that have different statuses
* @param preQuestStatusus Quests before
* @param postQuestStatuses Quests after
* @returns QuestStatusChange array
*/
protected getQuestsWithDifferentStatuses(preQuestStatusus: IQuestStatus[], postQuestStatuses: IQuestStatus[]): IQuestStatus[] | undefined;
/**
* Send a popup to player on successful completion of a quest
* @param sessionID session id
* @param pmcData Player profile
* @param completedQuestId Completed quest id
* @param questRewards Rewards given to player
*/
protected sendSuccessDialogMessageOnQuestComplete(sessionID: string, pmcData: IPmcData, completedQuestId: string, questRewards: Item[]): void;
/**
* Look for newly available quests after completing a quest with a requirement to wait x minutes (time-locked) before being available and add data to profile
* @param pmcData Player profile to update
* @param quests Quests to look for wait conditions in
* @param completedQuestId Quest just completed
*/
protected addTimeLockedQuestsToProfile(pmcData: IPmcData, quests: IQuest[], completedQuestId: string): void;
/**
* Fail the provided quests
* Update quest in profile, otherwise add fresh quest object with failed status
* @param sessionID session id
* @param pmcData player profile
* @param questsToFail quests to fail
* @param output Client output
*/
protected failQuests(sessionID: string, pmcData: IPmcData, questsToFail: IQuest[], output: IItemEventRouterResponse): void;
/**
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
* Handle QuestHandover event * Handle QuestHandover event
* @param pmcData Player profile * @param pmcData Player profile
* @param handoverQuestRequest handover item request * @param handoverQuestRequest handover item request

View File

@ -10,11 +10,19 @@ import { RagfairSellHelper } from "@spt/helpers/RagfairSellHelper";
import { RagfairSortHelper } from "@spt/helpers/RagfairSortHelper"; import { RagfairSortHelper } from "@spt/helpers/RagfairSortHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader"; import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
import { IAddOfferRequestData, IRequirement } from "@spt/models/eft/ragfair/IAddOfferRequestData"; import { IAddOfferRequestData, IRequirement } from "@spt/models/eft/ragfair/IAddOfferRequestData";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
import { IAddOfferRequestData, Requirement } from "@spt/models/eft/ragfair/IAddOfferRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IExtendOfferRequestData } from "@spt/models/eft/ragfair/IExtendOfferRequestData"; import { IExtendOfferRequestData } from "@spt/models/eft/ragfair/IExtendOfferRequestData";
import { IGetItemPriceResult } from "@spt/models/eft/ragfair/IGetItemPriceResult"; import { IGetItemPriceResult } from "@spt/models/eft/ragfair/IGetItemPriceResult";
import { IGetMarketPriceRequestData } from "@spt/models/eft/ragfair/IGetMarketPriceRequestData"; import { IGetMarketPriceRequestData } from "@spt/models/eft/ragfair/IGetMarketPriceRequestData";
@ -221,7 +229,11 @@ export declare class RagfairController {
* @returns Array of items from player inventory * @returns Array of items from player inventory
*/ */
protected getItemsToListOnFleaFromInventory(pmcData: IPmcData, itemIdsFromFleaOfferRequest: string[]): { protected getItemsToListOnFleaFromInventory(pmcData: IPmcData, itemIdsFromFleaOfferRequest: string[]): {
<<<<<<< HEAD
items: IItem[][] | undefined; items: IItem[][] | undefined;
=======
items: Item[][] | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
errorMessage: string | undefined; errorMessage: string | undefined;
}; };
createPlayerOffer(sessionId: string, requirements: IRequirement[], items: IItem[], sellInOnePiece: boolean): IRagfairOffer; createPlayerOffer(sessionId: string, requirements: IRequirement[], items: IItem[], sellInOnePiece: boolean): IRagfairOffer;

View File

@ -148,6 +148,7 @@ export declare class RepeatableQuestController {
*/ */
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
/** /**
<<<<<<< HEAD
* Remove the provided quest from pmc and scav character profiles * Remove the provided quest from pmc and scav character profiles
* @param fullProfile Profile to remove quest from * @param fullProfile Profile to remove quest from
* @param questToReplaceId Quest id to remove from profile * @param questToReplaceId Quest id to remove from profile
@ -160,13 +161,19 @@ export declare class RepeatableQuestController {
*/ */
protected cleanUpRepeatableChangeRequirements(repeatablesOfTypeInProfile: IPmcDataRepeatableQuest, replacedQuestId: string): void; protected cleanUpRepeatableChangeRequirements(repeatablesOfTypeInProfile: IPmcDataRepeatableQuest, replacedQuestId: string): void;
/** /**
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
* Find a repeatable (daily/weekly/scav) from a players profile by its id * Find a repeatable (daily/weekly/scav) from a players profile by its id
* @param questId Id of quest to find * @param questId Id of quest to find
* @param pmcData Profile that contains quests to look through * @param pmcData Profile that contains quests to look through
* @returns IGetRepeatableByIdResult * @returns IGetRepeatableByIdResult
*/ */
protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult;
<<<<<<< HEAD
protected attemptToGenerateRepeatableQuest(sessionId: string, pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; protected attemptToGenerateRepeatableQuest(sessionId: string, pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
=======
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Some accounts have access to free repeatable quest refreshes * Some accounts have access to free repeatable quest refreshes
* Track the usage of them inside players profile * Track the usage of them inside players profile

View File

@ -4,7 +4,11 @@ import { RagfairOfferHelper } from "@spt/helpers/RagfairOfferHelper";
import { TradeHelper } from "@spt/helpers/TradeHelper"; import { TradeHelper } from "@spt/helpers/TradeHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITraderBase } from "@spt/models/eft/common/tables/ITrader"; import { ITraderBase } from "@spt/models/eft/common/tables/ITrader";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer"; import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer";

View File

@ -3,13 +3,19 @@ import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { TraderAssortHelper } from "@spt/helpers/TraderAssortHelper"; import { TraderAssortHelper } from "@spt/helpers/TraderAssortHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { ITraderAssort, ITraderBase } from "@spt/models/eft/common/tables/ITrader"; import { ITraderAssort, ITraderBase } from "@spt/models/eft/common/tables/ITrader";
<<<<<<< HEAD
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse"; import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig"; import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { FenceService } from "@spt/services/FenceService"; import { FenceService } from "@spt/services/FenceService";
<<<<<<< HEAD
import { RagfairPriceService } from "@spt/services/RagfairPriceService"; import { RagfairPriceService } from "@spt/services/RagfairPriceService";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { TraderAssortService } from "@spt/services/TraderAssortService"; import { TraderAssortService } from "@spt/services/TraderAssortService";
import { TraderPurchasePersisterService } from "@spt/services/TraderPurchasePersisterService"; import { TraderPurchasePersisterService } from "@spt/services/TraderPurchasePersisterService";
import { TimeUtil } from "@spt/utils/TimeUtil"; import { TimeUtil } from "@spt/utils/TimeUtil";
@ -29,7 +35,11 @@ export declare class TraderController {
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected cloner: ICloner; protected cloner: ICloner;
protected traderConfig: ITraderConfig; protected traderConfig: ITraderConfig;
<<<<<<< HEAD
constructor(logger: ILogger, timeUtil: TimeUtil, databaseService: DatabaseService, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, traderAssortService: TraderAssortService, ragfairPriceService: RagfairPriceService, traderPurchasePersisterService: TraderPurchasePersisterService, fenceService: FenceService, fenceBaseAssortGenerator: FenceBaseAssortGenerator, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, timeUtil: TimeUtil, databaseService: DatabaseService, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, traderAssortService: TraderAssortService, ragfairPriceService: RagfairPriceService, traderPurchasePersisterService: TraderPurchasePersisterService, fenceService: FenceService, fenceBaseAssortGenerator: FenceBaseAssortGenerator, configServer: ConfigServer, cloner: ICloner);
=======
constructor(logger: ILogger, timeUtil: TimeUtil, databaseService: DatabaseService, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, traderAssortService: TraderAssortService, traderPurchasePersisterService: TraderPurchasePersisterService, fenceService: FenceService, fenceBaseAssortGenerator: FenceBaseAssortGenerator, configServer: ConfigServer, cloner: ICloner);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Runs when onLoad event is fired * Runs when onLoad event is fired
* Iterate over traders, ensure a pristine copy of their assorts is stored in traderAssortService * Iterate over traders, ensure a pristine copy of their assorts is stored in traderAssortService

View File

@ -1,4 +1,5 @@
import { WeatherGenerator } from "@spt/generators/WeatherGenerator"; import { WeatherGenerator } from "@spt/generators/WeatherGenerator";
<<<<<<< HEAD
import { WeatherHelper } from "@spt/helpers/WeatherHelper"; import { WeatherHelper } from "@spt/helpers/WeatherHelper";
import { IWeatherData } from "@spt/models/eft/weather/IWeatherData"; import { IWeatherData } from "@spt/models/eft/weather/IWeatherData";
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig"; import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
@ -7,6 +8,12 @@ import { IGetLocalWeatherResponseData } from "@spt/models/spt/weather/IGetLocalW
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { RaidWeatherService } from "@spt/services/RaidWeatherService"; import { RaidWeatherService } from "@spt/services/RaidWeatherService";
import { SeasonalEventService } from "@spt/services/SeasonalEventService"; import { SeasonalEventService } from "@spt/services/SeasonalEventService";
=======
import { IWeatherData } from "@spt/models/eft/weather/IWeatherData";
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export declare class WeatherController { export declare class WeatherController {
protected weatherGenerator: WeatherGenerator; protected weatherGenerator: WeatherGenerator;
protected logger: ILogger; protected logger: ILogger;

View File

@ -1,8 +1,12 @@
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
<<<<<<< HEAD
import { IAddToWishlistRequest } from "@spt/models/eft/wishlist/IAddToWishlistRequest"; import { IAddToWishlistRequest } from "@spt/models/eft/wishlist/IAddToWishlistRequest";
import { IChangeWishlistItemCategoryRequest } from "@spt/models/eft/wishlist/IChangeWishlistItemCategoryRequest"; import { IChangeWishlistItemCategoryRequest } from "@spt/models/eft/wishlist/IChangeWishlistItemCategoryRequest";
import { IRemoveFromWishlistRequest } from "@spt/models/eft/wishlist/IRemoveFromWishlistRequest"; import { IRemoveFromWishlistRequest } from "@spt/models/eft/wishlist/IRemoveFromWishlistRequest";
=======
import { IWishlistActionData } from "@spt/models/eft/wishlist/IWishlistActionData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
export declare class WishlistController { export declare class WishlistController {
protected eventOutputHolder: EventOutputHolder; protected eventOutputHolder: EventOutputHolder;

View File

@ -7,17 +7,27 @@ import { ProbabilityHelper } from "@spt/helpers/ProbabilityHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { IPreset } from "@spt/models/eft/common/IGlobals"; import { IPreset } from "@spt/models/eft/common/IGlobals";
<<<<<<< HEAD
import { IMods, IModsChances } from "@spt/models/eft/common/tables/IBotType"; import { IMods, IModsChances } from "@spt/models/eft/common/tables/IBotType";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { ISlot, ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ISlot, ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
=======
import { Mods, ModsChances } from "@spt/models/eft/common/tables/IBotType";
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ModSpawn } from "@spt/models/enums/ModSpawn"; import { ModSpawn } from "@spt/models/enums/ModSpawn";
import { IChooseRandomCompatibleModResult } from "@spt/models/spt/bots/IChooseRandomCompatibleModResult"; import { IChooseRandomCompatibleModResult } from "@spt/models/spt/bots/IChooseRandomCompatibleModResult";
import { IFilterPlateModsForSlotByLevelResult } from "@spt/models/spt/bots/IFilterPlateModsForSlotByLevelResult"; import { IFilterPlateModsForSlotByLevelResult } from "@spt/models/spt/bots/IFilterPlateModsForSlotByLevelResult";
import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties"; import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties";
import { IGenerateWeaponRequest } from "@spt/models/spt/bots/IGenerateWeaponRequest"; import { IGenerateWeaponRequest } from "@spt/models/spt/bots/IGenerateWeaponRequest";
import { IModToSpawnRequest } from "@spt/models/spt/bots/IModToSpawnRequest"; import { IModToSpawnRequest } from "@spt/models/spt/bots/IModToSpawnRequest";
<<<<<<< HEAD
import { EquipmentFilters, IBotConfig, IEquipmentFilterDetails } from "@spt/models/spt/config/IBotConfig"; import { EquipmentFilters, IBotConfig, IEquipmentFilterDetails } from "@spt/models/spt/config/IBotConfig";
import { ExhaustableArray } from "@spt/models/spt/server/ExhaustableArray"; import { ExhaustableArray } from "@spt/models/spt/server/ExhaustableArray";
=======
import { EquipmentFilterDetails, EquipmentFilters, IBotConfig } from "@spt/models/spt/config/IBotConfig";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { BotEquipmentFilterService } from "@spt/services/BotEquipmentFilterService"; import { BotEquipmentFilterService } from "@spt/services/BotEquipmentFilterService";
@ -77,6 +87,7 @@ export declare class BotEquipmentModGenerator {
* @param request Data used to generate the weapon * @param request Data used to generate the weapon
* @returns Weapon + mods array * @returns Weapon + mods array
*/ */
<<<<<<< HEAD
generateModsForWeapon(sessionId: string, request: IGenerateWeaponRequest): IItem[]; generateModsForWeapon(sessionId: string, request: IGenerateWeaponRequest): IItem[];
/** /**
* Should the provided bot have its stock chance values altered to 100% * Should the provided bot have its stock chance values altered to 100%
@ -86,6 +97,9 @@ export declare class BotEquipmentModGenerator {
* @returns True if it should * @returns True if it should
*/ */
protected shouldForceSubStockSlots(modSlot: string, botEquipConfig: EquipmentFilters, modToAddTemplate: ITemplateItem): boolean; protected shouldForceSubStockSlots(modSlot: string, botEquipConfig: EquipmentFilters, modToAddTemplate: ITemplateItem): boolean;
=======
generateModsForWeapon(sessionId: string, request: IGenerateWeaponRequest): Item[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Is this modslot a front or rear sight * Is this modslot a front or rear sight
* @param modSlot Slot to check * @param modSlot Slot to check
@ -103,7 +117,11 @@ export declare class BotEquipmentModGenerator {
* Set mod spawn chances to defined amount * Set mod spawn chances to defined amount
* @param modSpawnChances Chance dictionary to update * @param modSpawnChances Chance dictionary to update
*/ */
<<<<<<< HEAD
protected adjustSlotSpawnChances(modSpawnChances: IModsChances, modSlotsToAdjust: string[], newChancePercent: number): void; protected adjustSlotSpawnChances(modSpawnChances: IModsChances, modSlotsToAdjust: string[], newChancePercent: number): void;
=======
protected adjustSlotSpawnChances(modSpawnChances: ModsChances, modSlotsToAdjust: string[], newChancePercent: number): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Does the provided modSlot allow muzzle-related items * Does the provided modSlot allow muzzle-related items
* @param modSlot Slot id to check * @param modSlot Slot id to check
@ -114,10 +132,16 @@ export declare class BotEquipmentModGenerator {
/** /**
* Sort mod slots into an ordering that maximises chance of a successful weapon generation * Sort mod slots into an ordering that maximises chance of a successful weapon generation
* @param unsortedSlotKeys Array of mod slot strings to sort * @param unsortedSlotKeys Array of mod slot strings to sort
<<<<<<< HEAD
* @param itemTplWithKeysToSort The Tpl of the item with mod keys being sorted * @param itemTplWithKeysToSort The Tpl of the item with mod keys being sorted
* @returns Sorted array * @returns Sorted array
*/ */
protected sortModKeys(unsortedSlotKeys: string[], itemTplWithKeysToSort: string): string[]; protected sortModKeys(unsortedSlotKeys: string[], itemTplWithKeysToSort: string): string[];
=======
* @returns Sorted array
*/
protected sortModKeys(unsortedSlotKeys: string[]): string[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get a Slot property for an item (chamber/cartridge/slot) * Get a Slot property for an item (chamber/cartridge/slot)
* @param modSlot e.g patron_in_weapon * @param modSlot e.g patron_in_weapon
@ -141,6 +165,7 @@ export declare class BotEquipmentModGenerator {
*/ */
protected chooseModToPutIntoSlot(request: IModToSpawnRequest): [boolean, ITemplateItem] | undefined; protected chooseModToPutIntoSlot(request: IModToSpawnRequest): [boolean, ITemplateItem] | undefined;
/** /**
<<<<<<< HEAD
* Given the passed in array of magaizne tpls, look up the min size set in config and return only those that have that size or larger * Given the passed in array of magaizne tpls, look up the min size set in config and return only those that have that size or larger
* @param modSpawnRequest Request data * @param modSpawnRequest Request data
* @param modPool Pool of magazine tpls to filter * @param modPool Pool of magazine tpls to filter
@ -150,6 +175,9 @@ export declare class BotEquipmentModGenerator {
/** /**
* Choose a weapon mod tpl for a given slot from a pool of choices * Choose a weapon mod tpl for a given slot from a pool of choices
* Checks chosen tpl is compatible with all existing weapon items * Checks chosen tpl is compatible with all existing weapon items
=======
*
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
* @param modPool Pool of mods that can be picked from * @param modPool Pool of mods that can be picked from
* @param parentSlot Slot the picked mod will have as a parent * @param parentSlot Slot the picked mod will have as a parent
* @param choiceTypeEnum How should chosen tpl be treated: DEFAULT_MOD/SPAWN/SKIP * @param choiceTypeEnum How should chosen tpl be treated: DEFAULT_MOD/SPAWN/SKIP
@ -157,6 +185,7 @@ export declare class BotEquipmentModGenerator {
* @param modSlotName Name of slot picked mod will be placed into * @param modSlotName Name of slot picked mod will be placed into
* @returns Chosen weapon details * @returns Chosen weapon details
*/ */
<<<<<<< HEAD
protected getCompatibleWeaponModTplForSlotFromPool(request: IModToSpawnRequest, modPool: string[], parentSlot: ISlot, choiceTypeEnum: ModSpawn, weapon: IItem[], modSlotName: string): IChooseRandomCompatibleModResult; protected getCompatibleWeaponModTplForSlotFromPool(request: IModToSpawnRequest, modPool: string[], parentSlot: ISlot, choiceTypeEnum: ModSpawn, weapon: IItem[], modSlotName: string): IChooseRandomCompatibleModResult;
/** /**
* *
@ -175,11 +204,15 @@ export declare class BotEquipmentModGenerator {
* @returns string array of compatible mod tpls with weapon * @returns string array of compatible mod tpls with weapon
*/ */
protected getFilteredModPool(modPool: string[], tplBlacklist: Set<string>): string[]; protected getFilteredModPool(modPool: string[], tplBlacklist: Set<string>): string[];
=======
protected pickWeaponModTplForSlotFromPool(modPool: string[], parentSlot: Slot, choiceTypeEnum: ModSpawn, weapon: Item[], modSlotName: string): IChooseRandomCompatibleModResult;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Filter mod pool down based on various criteria: * Filter mod pool down based on various criteria:
* Is slot flagged as randomisable * Is slot flagged as randomisable
* Is slot required * Is slot required
* Is slot flagged as default mod only * Is slot flagged as default mod only
<<<<<<< HEAD
* @param request * @param request
* @param weaponTemplate Mods root parent (weapon/equipment) * @param weaponTemplate Mods root parent (weapon/equipment)
* @returns Array of mod tpls * @returns Array of mod tpls
@ -187,6 +220,18 @@ export declare class BotEquipmentModGenerator {
protected getModPoolForSlot(request: IModToSpawnRequest, weaponTemplate: ITemplateItem): string[]; protected getModPoolForSlot(request: IModToSpawnRequest, weaponTemplate: ITemplateItem): string[];
protected getModPoolForDefaultSlot(request: IModToSpawnRequest, weaponTemplate: ITemplateItem): string[]; protected getModPoolForDefaultSlot(request: IModToSpawnRequest, weaponTemplate: ITemplateItem): string[];
protected getMatchingModFromPreset(request: IModToSpawnRequest, weaponTemplate: ITemplateItem): IItem; protected getMatchingModFromPreset(request: IModToSpawnRequest, weaponTemplate: ITemplateItem): IItem;
=======
* @param itemModPool Existing pool of mods to choose
* @param itemSpawnCategory How should slot be handled
* @param parentTemplate Mods parent
* @param weaponTemplate Mods root parent (weapon/equipment)
* @param modSlot name of mod slot to choose for
* @param botEquipBlacklist A blacklist of items not allowed to be picked
* @param isRandomisableSlot Slot is flagged as a randomisable slot
* @returns Array of mod tpls
*/
protected getModPoolForSlot(itemModPool: Record<string, string[]>, itemSpawnCategory: ModSpawn, parentTemplate: ITemplateItem, weaponTemplate: ITemplateItem, modSlot: string, botEquipBlacklist: EquipmentFilterDetails, isRandomisableSlot: boolean): string[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get default preset for weapon OR get specific weapon presets for edge cases (mp5/silenced dvl) * Get default preset for weapon OR get specific weapon presets for edge cases (mp5/silenced dvl)
* @param weaponTemplate Weapons db template * @param weaponTemplate Weapons db template
@ -226,7 +271,11 @@ export declare class BotEquipmentModGenerator {
* @param items Items to ensure picked mod is compatible with * @param items Items to ensure picked mod is compatible with
* @returns Item tpl * @returns Item tpl
*/ */
<<<<<<< HEAD
protected getRandomModTplFromItemDb(fallbackModTpl: string, parentSlot: ISlot, modSlot: string, items: IItem[]): string | undefined; protected getRandomModTplFromItemDb(fallbackModTpl: string, parentSlot: ISlot, modSlot: string, items: IItem[]): string | undefined;
=======
protected getRandomModTplFromItemDb(fallbackModTpl: string, parentSlot: Slot, modSlot: string, items: Item[]): string | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Check if mod exists in db + is for a required slot * Check if mod exists in db + is for a required slot
* @param modToAdd Db template of mod to check * @param modToAdd Db template of mod to check
@ -271,7 +320,11 @@ export declare class BotEquipmentModGenerator {
* @param cylinderMagParentId The CylinderMagazine's UID * @param cylinderMagParentId The CylinderMagazine's UID
* @param cylinderMagTemplate The CylinderMagazine's template * @param cylinderMagTemplate The CylinderMagazine's template
*/ */
<<<<<<< HEAD
protected fillCamora(items: IItem[], modPool: IMods, cylinderMagParentId: string, cylinderMagTemplate: ITemplateItem): void; protected fillCamora(items: IItem[], modPool: IMods, cylinderMagParentId: string, cylinderMagTemplate: ITemplateItem): void;
=======
protected fillCamora(items: Item[], modPool: Mods, cylinderMagParentId: string, cylinderMagTemplate: ITemplateItem): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Take a record of camoras and merge the compatible shells into one array * Take a record of camoras and merge the compatible shells into one array
* @param camorasWithShells Dictionary of camoras we want to merge into one array * @param camorasWithShells Dictionary of camoras we want to merge into one array

View File

@ -1,5 +1,6 @@
import { BotInventoryGenerator } from "@spt/generators/BotInventoryGenerator"; import { BotInventoryGenerator } from "@spt/generators/BotInventoryGenerator";
import { BotLevelGenerator } from "@spt/generators/BotLevelGenerator"; import { BotLevelGenerator } from "@spt/generators/BotLevelGenerator";
<<<<<<< HEAD
import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper"; import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper";
import { BotHelper } from "@spt/helpers/BotHelper"; import { BotHelper } from "@spt/helpers/BotHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
@ -9,14 +10,29 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase"; import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType"; import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails"; import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
=======
import { BotDifficultyHelper } from "@spt/helpers/BotDifficultyHelper";
import { BotHelper } from "@spt/helpers/BotHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { IBaseJsonSkills, IBaseSkill, IBotBase, Info, Health as PmcHealth, Skills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
import { Appearance, Health, IBotType, Inventory } from "@spt/models/eft/common/tables/IBotType";
import { BotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig"; import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { BotEquipmentFilterService } from "@spt/services/BotEquipmentFilterService"; import { BotEquipmentFilterService } from "@spt/services/BotEquipmentFilterService";
<<<<<<< HEAD
import { BotNameService } from "@spt/services/BotNameService"; import { BotNameService } from "@spt/services/BotNameService";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { ItemFilterService } from "@spt/services/ItemFilterService"; import { ItemFilterService } from "@spt/services/ItemFilterService";
=======
import { DatabaseService } from "@spt/services/DatabaseService";
import { ItemFilterService } from "@spt/services/ItemFilterService";
import { LocalisationService } from "@spt/services/LocalisationService";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { SeasonalEventService } from "@spt/services/SeasonalEventService"; import { SeasonalEventService } from "@spt/services/SeasonalEventService";
import { HashUtil } from "@spt/utils/HashUtil"; import { HashUtil } from "@spt/utils/HashUtil";
import { RandomUtil } from "@spt/utils/RandomUtil"; import { RandomUtil } from "@spt/utils/RandomUtil";
@ -36,13 +52,22 @@ export declare class BotGenerator {
protected botHelper: BotHelper; protected botHelper: BotHelper;
protected botGeneratorHelper: BotGeneratorHelper; protected botGeneratorHelper: BotGeneratorHelper;
protected seasonalEventService: SeasonalEventService; protected seasonalEventService: SeasonalEventService;
<<<<<<< HEAD
protected itemFilterService: ItemFilterService; protected itemFilterService: ItemFilterService;
protected botNameService: BotNameService; protected botNameService: BotNameService;
=======
protected localisationService: LocalisationService;
protected itemFilterService: ItemFilterService;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected cloner: ICloner; protected cloner: ICloner;
protected botConfig: IBotConfig; protected botConfig: IBotConfig;
protected pmcConfig: IPmcConfig; protected pmcConfig: IPmcConfig;
<<<<<<< HEAD
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, profileHelper: ProfileHelper, databaseService: DatabaseService, botInventoryGenerator: BotInventoryGenerator, botLevelGenerator: BotLevelGenerator, botEquipmentFilterService: BotEquipmentFilterService, weightedRandomHelper: WeightedRandomHelper, botHelper: BotHelper, botGeneratorHelper: BotGeneratorHelper, seasonalEventService: SeasonalEventService, itemFilterService: ItemFilterService, botNameService: BotNameService, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, profileHelper: ProfileHelper, databaseService: DatabaseService, botInventoryGenerator: BotInventoryGenerator, botLevelGenerator: BotLevelGenerator, botEquipmentFilterService: BotEquipmentFilterService, weightedRandomHelper: WeightedRandomHelper, botHelper: BotHelper, botGeneratorHelper: BotGeneratorHelper, seasonalEventService: SeasonalEventService, itemFilterService: ItemFilterService, botNameService: BotNameService, configServer: ConfigServer, cloner: ICloner);
=======
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, profileHelper: ProfileHelper, databaseService: DatabaseService, botInventoryGenerator: BotInventoryGenerator, botLevelGenerator: BotLevelGenerator, botEquipmentFilterService: BotEquipmentFilterService, weightedRandomHelper: WeightedRandomHelper, botHelper: BotHelper, botDifficultyHelper: BotDifficultyHelper, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, itemFilterService: ItemFilterService, configServer: ConfigServer, cloner: ICloner);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Generate a player scav bot object * Generate a player scav bot object
* @param role e.g. assault / pmcbot * @param role e.g. assault / pmcbot
@ -67,6 +92,14 @@ export declare class BotGenerator {
* @returns Cloned bot base * @returns Cloned bot base
*/ */
protected getPreparedBotBase(botRole: string, botSide: string, difficulty: string): IBotBase; protected getPreparedBotBase(botRole: string, botSide: string, difficulty: string): IBotBase;
/**
* Get a clone of the default bot base object and adjust its role/side/difficulty values
* @param botRole Role bot should have
* @param botSide Side bot should have
* @param difficulty Difficult bot should have
* @returns Cloned bot base
*/
protected getPreparedBotBase(botRole: string, botSide: string, difficulty: string): IBotBase;
/** /**
* Get a clone of the database\bots\base.json file * Get a clone of the database\bots\base.json file
* @returns IBotBase object * @returns IBotBase object
@ -80,6 +113,7 @@ export declare class BotGenerator {
* @param botGenerationDetails details on how to generate the bot * @param botGenerationDetails details on how to generate the bot
* @returns IBotBase object * @returns IBotBase object
*/ */
<<<<<<< HEAD
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase; protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
/** /**
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player * Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
@ -123,13 +157,37 @@ export declare class BotGenerator {
* @param botInventory Bot to filter * @param botInventory Bot to filter
*/ */
protected removeBlacklistedLootFromBotTemplate(botInventory: IInventory): void; protected removeBlacklistedLootFromBotTemplate(botInventory: IInventory): void;
=======
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: BotGenerationDetails): IBotBase;
protected addAdditionalPocketLootWeightsForUnheardBot(botJsonTemplate: IBotType): void;
/**
* Remove items from item.json/lootableItemBlacklist from bots inventory
* @param botInventory Bot to filter
*/
protected removeBlacklistedLootFromBotTemplate(botInventory: Inventory): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Choose various appearance settings for a bot using weights: head/body/feet/hands * Choose various appearance settings for a bot using weights: head/body/feet/hands
* @param bot Bot to adjust * @param bot Bot to adjust
* @param appearance Appearance settings to choose from * @param appearance Appearance settings to choose from
* @param botGenerationDetails Generation details * @param botGenerationDetails Generation details
*/ */
<<<<<<< HEAD
protected setBotAppearance(bot: IBotBase, appearance: IAppearance, botGenerationDetails: IBotGenerationDetails): void; protected setBotAppearance(bot: IBotBase, appearance: IAppearance, botGenerationDetails: IBotGenerationDetails): void;
=======
protected setBotAppearance(bot: IBotBase, appearance: Appearance, botGenerationDetails: BotGenerationDetails): void;
/**
* Create a bot nickname
* @param botJsonTemplate x.json from database
* @param botGenerationDetails
* @param botRole role of bot e.g. assault
* @param sessionId OPTIONAL: profile session id
* @returns Nickname for bot
*/
protected generateBotNickname(botJsonTemplate: IBotType, botGenerationDetails: BotGenerationDetails, botRole: string, sessionId?: string): string;
protected shouldSimulatePlayerScavName(botRole: string, isPlayerScav: boolean): boolean;
protected addPlayerScavNameSimulationSuffix(nickname: string): string;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Log the number of PMCs generated to the debug console * Log the number of PMCs generated to the debug console
* @param output Generated bot array, ready to send to client * @param output Generated bot array, ready to send to client
@ -180,7 +238,11 @@ export declare class BotGenerator {
* @param botInfo bot info object to update * @param botInfo bot info object to update
* @returns Chosen game version * @returns Chosen game version
*/ */
<<<<<<< HEAD
protected setRandomisedGameVersionAndCategory(botInfo: IInfo): string; protected setRandomisedGameVersionAndCategory(botInfo: IInfo): string;
=======
protected setRandomisedGameVersionAndCategory(botInfo: Info): string;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Add a side-specific (usec/bear) dogtag item to a bots inventory * Add a side-specific (usec/bear) dogtag item to a bots inventory
* @param bot bot to add dogtag to * @param bot bot to add dogtag to

View File

@ -1,10 +1,14 @@
<<<<<<< HEAD
import { ApplicationContext } from "@spt/context/ApplicationContext"; import { ApplicationContext } from "@spt/context/ApplicationContext";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { BotEquipmentModGenerator } from "@spt/generators/BotEquipmentModGenerator"; import { BotEquipmentModGenerator } from "@spt/generators/BotEquipmentModGenerator";
import { BotLootGenerator } from "@spt/generators/BotLootGenerator"; import { BotLootGenerator } from "@spt/generators/BotLootGenerator";
import { BotWeaponGenerator } from "@spt/generators/BotWeaponGenerator"; import { BotWeaponGenerator } from "@spt/generators/BotWeaponGenerator";
import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper"; import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper";
import { BotHelper } from "@spt/helpers/BotHelper"; import { BotHelper } from "@spt/helpers/BotHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
<<<<<<< HEAD
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { WeatherHelper } from "@spt/helpers/WeatherHelper"; import { WeatherHelper } from "@spt/helpers/WeatherHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
@ -17,6 +21,16 @@ import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { BotEquipmentFilterService } from "@spt/services/BotEquipmentFilterService"; import { BotEquipmentFilterService } from "@spt/services/BotEquipmentFilterService";
=======
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { Inventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
import { Chances, Equipment, Generation, IBotType, Inventory } from "@spt/models/eft/common/tables/IBotType";
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties";
import { EquipmentFilterDetails, IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { BotEquipmentModPoolService } from "@spt/services/BotEquipmentModPoolService"; import { BotEquipmentModPoolService } from "@spt/services/BotEquipmentModPoolService";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
@ -27,7 +41,10 @@ export declare class BotInventoryGenerator {
protected hashUtil: HashUtil; protected hashUtil: HashUtil;
protected randomUtil: RandomUtil; protected randomUtil: RandomUtil;
protected databaseService: DatabaseService; protected databaseService: DatabaseService;
<<<<<<< HEAD
protected applicationContext: ApplicationContext; protected applicationContext: ApplicationContext;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
protected botWeaponGenerator: BotWeaponGenerator; protected botWeaponGenerator: BotWeaponGenerator;
protected botLootGenerator: BotLootGenerator; protected botLootGenerator: BotLootGenerator;
protected botGeneratorHelper: BotGeneratorHelper; protected botGeneratorHelper: BotGeneratorHelper;
@ -42,7 +59,11 @@ export declare class BotInventoryGenerator {
protected botEquipmentModGenerator: BotEquipmentModGenerator; protected botEquipmentModGenerator: BotEquipmentModGenerator;
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected botConfig: IBotConfig; protected botConfig: IBotConfig;
<<<<<<< HEAD
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseService: DatabaseService, applicationContext: ApplicationContext, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, profileHelper: ProfileHelper, botHelper: BotHelper, weightedRandomHelper: WeightedRandomHelper, itemHelper: ItemHelper, weatherHelper: WeatherHelper, localisationService: LocalisationService, botEquipmentFilterService: BotEquipmentFilterService, botEquipmentModPoolService: BotEquipmentModPoolService, botEquipmentModGenerator: BotEquipmentModGenerator, configServer: ConfigServer); constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseService: DatabaseService, applicationContext: ApplicationContext, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, profileHelper: ProfileHelper, botHelper: BotHelper, weightedRandomHelper: WeightedRandomHelper, itemHelper: ItemHelper, weatherHelper: WeatherHelper, localisationService: LocalisationService, botEquipmentFilterService: BotEquipmentFilterService, botEquipmentModPoolService: BotEquipmentModPoolService, botEquipmentModGenerator: BotEquipmentModGenerator, configServer: ConfigServer);
=======
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseService: DatabaseService, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, botHelper: BotHelper, weightedRandomHelper: WeightedRandomHelper, itemHelper: ItemHelper, localisationService: LocalisationService, botEquipmentModPoolService: BotEquipmentModPoolService, botEquipmentModGenerator: BotEquipmentModGenerator, configServer: ConfigServer);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Add equipment/weapons/loot to bot * Add equipment/weapons/loot to bot
* @param sessionId Session id * @param sessionId Session id
@ -69,6 +90,7 @@ export declare class BotInventoryGenerator {
* @param botLevel Level of bot * @param botLevel Level of bot
* @param chosenGameVersion Game version for bot, only really applies for PMCs * @param chosenGameVersion Game version for bot, only really applies for PMCs
*/ */
<<<<<<< HEAD
protected generateAndAddEquipmentToBot(sessionId: string, templateInventory: IInventory, wornItemChances: IChances, botRole: string, botInventory: PmcInventory, botLevel: number, chosenGameVersion: string, raidConfig: IGetRaidConfigurationRequestData): void; protected generateAndAddEquipmentToBot(sessionId: string, templateInventory: IInventory, wornItemChances: IChances, botRole: string, botInventory: PmcInventory, botLevel: number, chosenGameVersion: string, raidConfig: IGetRaidConfigurationRequestData): void;
/** /**
* Remove non-armored rigs from parameter data * Remove non-armored rigs from parameter data
@ -83,6 +105,19 @@ export declare class BotInventoryGenerator {
* @param allowEmptyResult Should the function return all rigs when 0 unarmored are found * @param allowEmptyResult Should the function return all rigs when 0 unarmored are found
*/ */
protected filterRigsToThoseWithoutProtection(templateEquipment: IEquipment, botRole: string, allowEmptyResult?: boolean): void; protected filterRigsToThoseWithoutProtection(templateEquipment: IEquipment, botRole: string, allowEmptyResult?: boolean): void;
=======
protected generateAndAddEquipmentToBot(templateInventory: Inventory, wornItemChances: Chances, botRole: string, botInventory: PmcInventory, botLevel: number, chosenGameVersion: string): void;
/**
* Remove non-armored rigs from parameter data
* @param templateEquipment Equpiment to filter TacticalVest of
*/
protected filterRigsToThoseWithProtection(templateEquipment: Equipment): void;
/**
* Remove armored rigs from parameter data
* @param templateEquipment Equpiment to filter TacticalVest of
*/
protected filterRigsToThoseWithoutProtection(templateEquipment: Equipment): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Add a piece of equipment with mods to inventory from the provided pools * Add a piece of equipment with mods to inventory from the provided pools
* @param sessionId Session id * @param sessionId Session id
@ -132,5 +167,9 @@ export declare class BotInventoryGenerator {
protected addWeaponAndMagazinesToInventory(sessionId: string, weaponSlot: { protected addWeaponAndMagazinesToInventory(sessionId: string, weaponSlot: {
slot: EquipmentSlots; slot: EquipmentSlots;
shouldSpawn: boolean; shouldSpawn: boolean;
<<<<<<< HEAD
}, templateInventory: IInventory, botInventory: PmcInventory, equipmentChances: IChances, botRole: string, isPmc: boolean, itemGenerationWeights: IGeneration, botLevel: number): void; }, templateInventory: IInventory, botInventory: PmcInventory, equipmentChances: IChances, botRole: string, isPmc: boolean, itemGenerationWeights: IGeneration, botLevel: number): void;
=======
}, templateInventory: Inventory, botInventory: PmcInventory, equipmentChances: Chances, botRole: string, isPmc: boolean, itemGenerationWeights: Generation, botLevel: number): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -1,7 +1,11 @@
import { MinMax } from "@spt/models/common/MinMax"; import { MinMax } from "@spt/models/common/MinMax";
import { IRandomisedBotLevelResult } from "@spt/models/eft/bot/IRandomisedBotLevelResult"; import { IRandomisedBotLevelResult } from "@spt/models/eft/bot/IRandomisedBotLevelResult";
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase"; import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
<<<<<<< HEAD
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails"; import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
=======
import { BotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { MathUtil } from "@spt/utils/MathUtil"; import { MathUtil } from "@spt/utils/MathUtil";
@ -19,7 +23,11 @@ export declare class BotLevelGenerator {
* @param bot Bot the level is being generated for * @param bot Bot the level is being generated for
* @returns IRandomisedBotLevelResult object * @returns IRandomisedBotLevelResult object
*/ */
<<<<<<< HEAD
generateBotLevel(levelDetails: MinMax, botGenerationDetails: IBotGenerationDetails, bot: IBotBase): IRandomisedBotLevelResult; generateBotLevel(levelDetails: MinMax, botGenerationDetails: IBotGenerationDetails, bot: IBotBase): IRandomisedBotLevelResult;
=======
generateBotLevel(levelDetails: MinMax, botGenerationDetails: BotGenerationDetails, bot: IBotBase): IRandomisedBotLevelResult;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
protected chooseBotLevel(min: number, max: number, shift: number, number: number): number; protected chooseBotLevel(min: number, max: number, shift: number, number: number): number;
/** /**
* Return the min and max bot level based on a relative delta from the PMC level * Return the min and max bot level based on a relative delta from the PMC level
@ -28,5 +36,9 @@ export declare class BotLevelGenerator {
* @param maxlevel Max level allowed * @param maxlevel Max level allowed
* @returns A MinMax of the lowest and highest level to generate the bots * @returns A MinMax of the lowest and highest level to generate the bots
*/ */
<<<<<<< HEAD
protected getRelativeBotLevelRange(botGenerationDetails: IBotGenerationDetails, levelDetails: MinMax, maxAvailableLevel: number): MinMax; protected getRelativeBotLevelRange(botGenerationDetails: IBotGenerationDetails, levelDetails: MinMax, maxAvailableLevel: number): MinMax;
=======
protected getRelativeBotLevelRange(botGenerationDetails: BotGenerationDetails, levelDetails: MinMax, maxAvailableLevel: number): MinMax;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -5,9 +5,15 @@ import { HandbookHelper } from "@spt/helpers/HandbookHelper";
import { InventoryHelper } from "@spt/helpers/InventoryHelper"; import { InventoryHelper } from "@spt/helpers/InventoryHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
<<<<<<< HEAD
import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase"; import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IBotType, IInventory, IModsChances } from "@spt/models/eft/common/tables/IBotType"; import { IBotType, IInventory, IModsChances } from "@spt/models/eft/common/tables/IBotType";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Inventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IBotType, Inventory, ModsChances } from "@spt/models/eft/common/tables/IBotType";
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots"; import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
import { IItemSpawnLimitSettings } from "@spt/models/spt/bots/IItemSpawnLimitSettings"; import { IItemSpawnLimitSettings } from "@spt/models/spt/bots/IItemSpawnLimitSettings";

View File

@ -4,11 +4,19 @@ import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper";
import { BotWeaponGeneratorHelper } from "@spt/helpers/BotWeaponGeneratorHelper"; import { BotWeaponGeneratorHelper } from "@spt/helpers/BotWeaponGeneratorHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
<<<<<<< HEAD
import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase"; import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IGenerationData, IInventory, IModsChances } from "@spt/models/eft/common/tables/IBotType"; import { IGenerationData, IInventory, IModsChances } from "@spt/models/eft/common/tables/IBotType";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IGenerateWeaponResult } from "@spt/models/spt/bots/IGenerateWeaponResult"; import { IGenerateWeaponResult } from "@spt/models/spt/bots/IGenerateWeaponResult";
=======
import { Inventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
import { GenerationData, Inventory, ModsChances } from "@spt/models/eft/common/tables/IBotType";
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { GenerateWeaponResult } from "@spt/models/spt/bots/GenerateWeaponResult";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig"; import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
import { IRepairConfig } from "@spt/models/spt/config/IRepairConfig"; import { IRepairConfig } from "@spt/models/spt/config/IRepairConfig";

View File

@ -1,7 +1,11 @@
import { HandbookHelper } from "@spt/helpers/HandbookHelper"; import { HandbookHelper } from "@spt/helpers/HandbookHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { PresetHelper } from "@spt/helpers/PresetHelper"; import { PresetHelper } from "@spt/helpers/PresetHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig"; import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";

View File

@ -1,11 +0,0 @@
export interface IFilterPlateModsForSlotByLevelResult {
result: Result;
plateModTpls: string[];
}
export declare enum Result {
UNKNOWN_FAILURE = -1,
SUCCESS = 1,
NO_DEFAULT_FILTER = 2,
NOT_PLATE_HOLDING_SLOT = 3,
LACKS_PLATE_WEIGHTS = 4
}

View File

@ -1,21 +1,21 @@
import { ContainerHelper } from "@spt-aki/helpers/ContainerHelper"; import { ContainerHelper } from "@spt/helpers/ContainerHelper";
import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; import { PresetHelper } from "@spt/helpers/PresetHelper";
import { IContainerMinMax, IStaticContainer } from "@spt-aki/models/eft/common/ILocation"; import { IContainerMinMax, IStaticAmmoDetails, IStaticContainer, IStaticContainerData, IStaticForcedProps, IStaticLootDetails } from "@spt/models/eft/common/ILocation";
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILocationBase } from "@spt/models/eft/common/ILocationBase";
import { ILooseLoot, Spawnpoint, SpawnpointTemplate, SpawnpointsForced } from "@spt-aki/models/eft/common/ILooseLoot"; import { ILooseLoot, Spawnpoint, SpawnpointTemplate, SpawnpointsForced } from "@spt/models/eft/common/ILooseLoot";
import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { Item } from "@spt/models/eft/common/tables/IItem";
import { IStaticAmmoDetails, IStaticContainerData, IStaticForcedProps, IStaticLootDetails } from "@spt-aki/models/eft/common/tables/ILootBase"; import { ILocationConfig } from "@spt/models/spt/config/ILocationConfig";
import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseService } from "@spt/services/DatabaseService";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { ItemFilterService } from "@spt/services/ItemFilterService";
import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
import { SeasonalEventService } from "@spt-aki/services/SeasonalEventService"; import { SeasonalEventService } from "@spt/services/SeasonalEventService";
import { JsonUtil } from "@spt-aki/utils/JsonUtil"; import { MathUtil } from "@spt/utils/MathUtil";
import { MathUtil } from "@spt-aki/utils/MathUtil"; import { ObjectId } from "@spt/utils/ObjectId";
import { ObjectId } from "@spt-aki/utils/ObjectId"; import { ProbabilityObjectArray, RandomUtil } from "@spt/utils/RandomUtil";
import { ProbabilityObjectArray, RandomUtil } from "@spt-aki/utils/RandomUtil"; import { ICloner } from "@spt/utils/cloners/ICloner";
export interface IContainerItem { export interface IContainerItem {
items: Item[]; items: Item[];
width: number; width: number;
@ -29,8 +29,7 @@ export interface IContainerGroupCount {
} }
export declare class LocationGenerator { export declare class LocationGenerator {
protected logger: ILogger; protected logger: ILogger;
protected databaseServer: DatabaseServer; protected databaseService: DatabaseService;
protected jsonUtil: JsonUtil;
protected objectId: ObjectId; protected objectId: ObjectId;
protected randomUtil: RandomUtil; protected randomUtil: RandomUtil;
protected itemHelper: ItemHelper; protected itemHelper: ItemHelper;
@ -39,13 +38,15 @@ export declare class LocationGenerator {
protected containerHelper: ContainerHelper; protected containerHelper: ContainerHelper;
protected presetHelper: PresetHelper; protected presetHelper: PresetHelper;
protected localisationService: LocalisationService; protected localisationService: LocalisationService;
protected itemFilterService: ItemFilterService;
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected cloner: ICloner;
protected locationConfig: ILocationConfig; protected locationConfig: ILocationConfig;
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, itemHelper: ItemHelper, mathUtil: MathUtil, seasonalEventService: SeasonalEventService, containerHelper: ContainerHelper, presetHelper: PresetHelper, localisationService: LocalisationService, configServer: ConfigServer); constructor(logger: ILogger, databaseService: DatabaseService, objectId: ObjectId, randomUtil: RandomUtil, itemHelper: ItemHelper, mathUtil: MathUtil, seasonalEventService: SeasonalEventService, containerHelper: ContainerHelper, presetHelper: PresetHelper, localisationService: LocalisationService, itemFilterService: ItemFilterService, configServer: ConfigServer, cloner: ICloner);
/** /**
* Create an array of container objects with randomised loot * Create an array of container objects with randomised loot
* @param locationBase Map base to generate containers for * @param locationBase Map base to generate containers for
* @param staticAmmoDist Static ammo distribution - database.loot.staticAmmo * @param staticAmmoDist Static ammo distribution
* @returns Array of container objects * @returns Array of container objects
*/ */
generateStaticContainers(locationBase: ILocationBase, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): SpawnpointTemplate[]; generateStaticContainers(locationBase: ILocationBase, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): SpawnpointTemplate[];
@ -144,6 +145,6 @@ export declare class LocationGenerator {
* @param chosenTpl Tpl we want to get item with * @param chosenTpl Tpl we want to get item with
* @returns Item object * @returns Item object
*/ */
protected getItemInArray(items: Item[], chosenTpl: string): Item; protected getItemInArray(items: Item[], chosenTpl: string): Item | undefined;
protected createStaticLootItem(chosenTpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem; protected createStaticLootItem(chosenTpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
} }

View File

@ -2,12 +2,21 @@ import { InventoryHelper } from "@spt/helpers/InventoryHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { PresetHelper } from "@spt/helpers/PresetHelper"; import { PresetHelper } from "@spt/helpers/PresetHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
<<<<<<< HEAD
import { MinMax } from "@spt/models/common/MinMax"; import { MinMax } from "@spt/models/common/MinMax";
import { IPreset } from "@spt/models/eft/common/IGlobals"; import { IPreset } from "@spt/models/eft/common/IGlobals";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IRewardDetails, ISealedAirdropContainerSettings } from "@spt/models/spt/config/IInventoryConfig"; import { IRewardDetails, ISealedAirdropContainerSettings } from "@spt/models/spt/config/IInventoryConfig";
import { ILootRequest } from "@spt/models/spt/services/ILootRequest"; import { ILootRequest } from "@spt/models/spt/services/ILootRequest";
=======
import { IPreset } from "@spt/models/eft/common/IGlobals";
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { ISealedAirdropContainerSettings, RewardDetails } from "@spt/models/spt/config/IInventoryConfig";
import { LootItem } from "@spt/models/spt/services/LootItem";
import { LootRequest } from "@spt/models/spt/services/LootRequest";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { ItemFilterService } from "@spt/services/ItemFilterService"; import { ItemFilterService } from "@spt/services/ItemFilterService";
@ -63,7 +72,11 @@ export declare class LootGenerator {
* @param options Loot request options - armor level etc * @param options Loot request options - armor level etc
* @returns True if item has desired armor level * @returns True if item has desired armor level
*/ */
<<<<<<< HEAD
protected isArmorOfDesiredProtectionLevel(armor: IPreset, options: ILootRequest): boolean; protected isArmorOfDesiredProtectionLevel(armor: IPreset, options: ILootRequest): boolean;
=======
protected isArmorOfDesiredProtectionLevel(armor: IPreset, options: LootRequest): boolean;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Construct item limit record to hold max and current item count for each item type * Construct item limit record to hold max and current item count for each item type
* @param limits limits as defined in config * @param limits limits as defined in config

View File

@ -4,9 +4,15 @@ import { BotHelper } from "@spt/helpers/BotHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IBotBase, ISkills, IStats } from "@spt/models/eft/common/tables/IBotBase"; import { IBotBase, ISkills, IStats } from "@spt/models/eft/common/tables/IBotBase";
import { IBotType } from "@spt/models/eft/common/tables/IBotType"; import { IBotType } from "@spt/models/eft/common/tables/IBotType";
import { IKarmaLevel, IPlayerScavConfig } from "@spt/models/spt/config/IPlayerScavConfig"; import { IKarmaLevel, IPlayerScavConfig } from "@spt/models/spt/config/IPlayerScavConfig";
=======
import { IBotBase, Skills, Stats } from "@spt/models/eft/common/tables/IBotBase";
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
import { IPlayerScavConfig, KarmaLevel } from "@spt/models/spt/config/IPlayerScavConfig";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { SaveServer } from "@spt/servers/SaveServer"; import { SaveServer } from "@spt/servers/SaveServer";

View File

@ -1,7 +1,11 @@
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { PresetHelper } from "@spt/helpers/PresetHelper"; import { PresetHelper } from "@spt/helpers/PresetHelper";
import { IPreset } from "@spt/models/eft/common/IGlobals"; import { IPreset } from "@spt/models/eft/common/IGlobals";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig"; import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { DatabaseServer } from "@spt/servers/DatabaseServer"; import { DatabaseServer } from "@spt/servers/DatabaseServer";

View File

@ -6,6 +6,7 @@ import { PaymentHelper } from "@spt/helpers/PaymentHelper";
import { PresetHelper } from "@spt/helpers/PresetHelper"; import { PresetHelper } from "@spt/helpers/PresetHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { RagfairServerHelper } from "@spt/helpers/RagfairServerHelper"; import { RagfairServerHelper } from "@spt/helpers/RagfairServerHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IBarterScheme } from "@spt/models/eft/common/tables/ITrader"; import { IBarterScheme } from "@spt/models/eft/common/tables/ITrader";
@ -14,6 +15,13 @@ import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { IArmorPlateBlacklistSettings, IBarterDetails, IDynamic, IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig"; import { IArmorPlateBlacklistSettings, IBarterDetails, IDynamic, IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig"; import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
import { ITplWithFleaPrice } from "@spt/models/spt/ragfair/ITplWithFleaPrice"; import { ITplWithFleaPrice } from "@spt/models/spt/ragfair/ITplWithFleaPrice";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IBarterScheme } from "@spt/models/eft/common/tables/ITrader";
import { IRagfairOffer, IRagfairOfferUser, OfferRequirement } from "@spt/models/eft/ragfair/IRagfairOffer";
import { Dynamic, IArmorPlateBlacklistSettings, IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { SaveServer } from "@spt/servers/SaveServer"; import { SaveServer } from "@spt/servers/SaveServer";
@ -67,7 +75,11 @@ export declare class RagfairOfferGenerator {
* @param sellInOnePiece Flags sellInOnePiece to be true * @param sellInOnePiece Flags sellInOnePiece to be true
* @returns Created flea offer * @returns Created flea offer
*/ */
<<<<<<< HEAD
createAndAddFleaOffer(userID: string, time: number, items: IItem[], barterScheme: IBarterScheme[], loyalLevel: number, sellInOnePiece?: boolean): IRagfairOffer; createAndAddFleaOffer(userID: string, time: number, items: IItem[], barterScheme: IBarterScheme[], loyalLevel: number, sellInOnePiece?: boolean): IRagfairOffer;
=======
createAndAddFleaOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, sellInOnePiece?: boolean): IRagfairOffer;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Create an offer object ready to send to ragfairOfferService.addOffer() * Create an offer object ready to send to ragfairOfferService.addOffer()
* @param userID Owner of the offer * @param userID Owner of the offer
@ -78,14 +90,22 @@ export declare class RagfairOfferGenerator {
* @param isPackOffer Is offer being created flaged as a pack * @param isPackOffer Is offer being created flaged as a pack
* @returns IRagfairOffer * @returns IRagfairOffer
*/ */
<<<<<<< HEAD
protected createOffer(userID: string, time: number, items: IItem[], barterScheme: IBarterScheme[], loyalLevel: number, isPackOffer?: boolean): IRagfairOffer; protected createOffer(userID: string, time: number, items: IItem[], barterScheme: IBarterScheme[], loyalLevel: number, isPackOffer?: boolean): IRagfairOffer;
=======
protected createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, isPackOffer?: boolean): IRagfairOffer;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Create the user object stored inside each flea offer object * Create the user object stored inside each flea offer object
* @param userID user creating the offer * @param userID user creating the offer
* @param isTrader Is the user creating the offer a trader * @param isTrader Is the user creating the offer a trader
* @returns IRagfairOfferUser * @returns IRagfairOfferUser
*/ */
<<<<<<< HEAD
protected createUserDataForFleaOffer(userID: string, isTrader: boolean): IRagfairOfferUser; protected createUserDataForFleaOffer(userID: string, isTrader: boolean): IRagfairOfferUser;
=======
createUserDataForFleaOffer(userID: string, isTrader: boolean): IRagfairOfferUser;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Calculate the offer price that's listed on the flea listing * Calculate the offer price that's listed on the flea listing
* @param offerRequirements barter requirements for offer * @param offerRequirements barter requirements for offer

View File

@ -1,8 +1,13 @@
import { RepeatableQuestRewardGenerator } from "@spt/generators/RepeatableQuestRewardGenerator"; import { RepeatableQuestRewardGenerator } from "@spt/generators/RepeatableQuestRewardGenerator";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { RepeatableQuestHelper } from "@spt/helpers/RepeatableQuestHelper"; import { RepeatableQuestHelper } from "@spt/helpers/RepeatableQuestHelper";
<<<<<<< HEAD
import { IExit } from "@spt/models/eft/common/ILocationBase"; import { IExit } from "@spt/models/eft/common/ILocationBase";
import { ITraderInfo } from "@spt/models/eft/common/tables/IBotBase"; import { ITraderInfo } from "@spt/models/eft/common/tables/IBotBase";
=======
import { Exit } from "@spt/models/eft/common/ILocationBase";
import { TraderInfo } from "@spt/models/eft/common/tables/IBotBase";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IQuestCondition, IQuestConditionCounterCondition } from "@spt/models/eft/common/tables/IQuest"; import { IQuestCondition, IQuestConditionCounterCondition } from "@spt/models/eft/common/tables/IQuest";
import { IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; import { IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
import { IBossInfo, IEliminationConfig, IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; import { IBossInfo, IEliminationConfig, IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig";
@ -28,7 +33,10 @@ export declare class RepeatableQuestGenerator {
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected cloner: ICloner; protected cloner: ICloner;
protected questConfig: IQuestConfig; protected questConfig: IQuestConfig;
<<<<<<< HEAD
protected maxRandomNumberAttempts: number; protected maxRandomNumberAttempts: number;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
constructor(logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, databaseService: DatabaseService, itemHelper: ItemHelper, localisationService: LocalisationService, objectId: ObjectId, repeatableQuestHelper: RepeatableQuestHelper, repeatableQuestRewardGenerator: RepeatableQuestRewardGenerator, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, databaseService: DatabaseService, itemHelper: ItemHelper, localisationService: LocalisationService, objectId: ObjectId, repeatableQuestHelper: RepeatableQuestHelper, repeatableQuestRewardGenerator: RepeatableQuestRewardGenerator, configServer: ConfigServer, cloner: ICloner);
/** /**
* 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).

View File

@ -1,7 +1,11 @@
import { HandbookHelper } from "@spt/helpers/HandbookHelper"; import { HandbookHelper } from "@spt/helpers/HandbookHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { PresetHelper } from "@spt/helpers/PresetHelper"; import { PresetHelper } from "@spt/helpers/PresetHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IQuestReward, IQuestRewards } from "@spt/models/eft/common/tables/IQuest"; import { IQuestReward, IQuestRewards } from "@spt/models/eft/common/tables/IQuest";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IBaseQuestConfig, IQuestConfig, IRepeatableQuestConfig, IRewardScaling } from "@spt/models/spt/config/IQuestConfig"; import { IBaseQuestConfig, IQuestConfig, IRepeatableQuestConfig, IRewardScaling } from "@spt/models/spt/config/IQuestConfig";
@ -12,7 +16,10 @@ import { DatabaseService } from "@spt/services/DatabaseService";
import { ItemFilterService } from "@spt/services/ItemFilterService"; import { ItemFilterService } from "@spt/services/ItemFilterService";
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
import { SeasonalEventService } from "@spt/services/SeasonalEventService"; import { SeasonalEventService } from "@spt/services/SeasonalEventService";
<<<<<<< HEAD
import { HashUtil } from "@spt/utils/HashUtil"; import { HashUtil } from "@spt/utils/HashUtil";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { MathUtil } from "@spt/utils/MathUtil"; import { MathUtil } from "@spt/utils/MathUtil";
import { ObjectId } from "@spt/utils/ObjectId"; import { ObjectId } from "@spt/utils/ObjectId";
import { RandomUtil } from "@spt/utils/RandomUtil"; import { RandomUtil } from "@spt/utils/RandomUtil";
@ -33,7 +40,11 @@ export declare class RepeatableQuestRewardGenerator {
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected cloner: ICloner; protected cloner: ICloner;
protected questConfig: IQuestConfig; protected questConfig: IQuestConfig;
<<<<<<< HEAD
constructor(logger: ILogger, randomUtil: RandomUtil, hashUtil: HashUtil, mathUtil: MathUtil, databaseService: DatabaseService, itemHelper: ItemHelper, presetHelper: PresetHelper, handbookHelper: HandbookHelper, localisationService: LocalisationService, objectId: ObjectId, itemFilterService: ItemFilterService, seasonalEventService: SeasonalEventService, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, randomUtil: RandomUtil, hashUtil: HashUtil, mathUtil: MathUtil, databaseService: DatabaseService, itemHelper: ItemHelper, presetHelper: PresetHelper, handbookHelper: HandbookHelper, localisationService: LocalisationService, objectId: ObjectId, itemFilterService: ItemFilterService, seasonalEventService: SeasonalEventService, configServer: ConfigServer, cloner: ICloner);
=======
constructor(logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, databaseService: DatabaseService, itemHelper: ItemHelper, presetHelper: PresetHelper, handbookHelper: HandbookHelper, localisationService: LocalisationService, objectId: ObjectId, itemFilterService: ItemFilterService, seasonalEventService: SeasonalEventService, configServer: ConfigServer, cloner: ICloner);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Generate the reward for a mission. A reward can consist of: * Generate the reward for a mission. A reward can consist of:
* - Experience * - Experience
@ -58,7 +69,11 @@ export declare class RepeatableQuestRewardGenerator {
* @param rewardTplBlacklist OPTIONAL: list of tpls to NOT use when picking a reward * @param rewardTplBlacklist OPTIONAL: list of tpls to NOT use when picking a reward
* @returns IQuestRewards * @returns IQuestRewards
*/ */
<<<<<<< HEAD
generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig, questConfig: IBaseQuestConfig, rewardTplBlacklist?: string[]): IQuestRewards; generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig, questConfig: IBaseQuestConfig, rewardTplBlacklist?: string[]): IQuestRewards;
=======
generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig, questConfig: IBaseQuestConfig): IQuestRewards;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
protected getQuestRewardValues(rewardScaling: IRewardScaling, difficulty: number, pmcLevel: number): IQuestRewardValues; protected getQuestRewardValues(rewardScaling: IRewardScaling, difficulty: number, pmcLevel: number): IQuestRewardValues;
/** /**
* Get an array of items + stack size to give to player as reward that fit inside of a rouble budget * Get an array of items + stack size to give to player as reward that fit inside of a rouble budget
@ -129,7 +144,11 @@ export declare class RepeatableQuestRewardGenerator {
* @param preset Optional array of preset items * @param preset Optional array of preset items
* @returns {object} Object of "Reward"-item-type * @returns {object} Object of "Reward"-item-type
*/ */
<<<<<<< HEAD
protected generateItemReward(tpl: string, count: number, index: number, foundInRaid?: boolean): IQuestReward; protected generateItemReward(tpl: string, count: number, index: number, foundInRaid?: boolean): IQuestReward;
=======
protected generateItemReward(tpl: string, count: number, index: number): IQuestReward;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Helper to create a reward item structured as required by the client * Helper to create a reward item structured as required by the client
* *
@ -139,7 +158,11 @@ export declare class RepeatableQuestRewardGenerator {
* @param preset Optional array of preset items * @param preset Optional array of preset items
* @returns {object} Object of "Reward"-item-type * @returns {object} Object of "Reward"-item-type
*/ */
<<<<<<< HEAD
protected generatePresetReward(tpl: string, count: number, index: number, preset?: IItem[], foundInRaid?: boolean): IQuestReward; protected generatePresetReward(tpl: string, count: number, index: number, preset?: IItem[], foundInRaid?: boolean): IQuestReward;
=======
protected generatePresetReward(tpl: string, count: number, index: number, preset?: Item[]): IQuestReward;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Picks rewardable items from items.json * Picks rewardable items from items.json
* This means they must: * This means they must:

View File

@ -1,10 +1,18 @@
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { PresetHelper } from "@spt/helpers/PresetHelper"; import { PresetHelper } from "@spt/helpers/PresetHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction"; import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig"; import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices"; import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
import { RewardCountAndPriceDetails, ScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";

View File

@ -1,8 +1,13 @@
import { ApplicationContext } from "@spt/context/ApplicationContext"; import { ApplicationContext } from "@spt/context/ApplicationContext";
<<<<<<< HEAD
import { WeatherHelper } from "@spt/helpers/WeatherHelper"; import { WeatherHelper } from "@spt/helpers/WeatherHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { IWeather, IWeatherData } from "@spt/models/eft/weather/IWeatherData"; import { IWeather, IWeatherData } from "@spt/models/eft/weather/IWeatherData";
import { Season } from "@spt/models/enums/Season"; import { Season } from "@spt/models/enums/Season";
=======
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { IWeather, IWeatherData } from "@spt/models/eft/weather/IWeatherData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { WindDirection } from "@spt/models/enums/WindDirection"; import { WindDirection } from "@spt/models/enums/WindDirection";
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig"; import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
@ -21,7 +26,11 @@ export declare class WeatherGenerator {
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected weatherConfig: IWeatherConfig; protected weatherConfig: IWeatherConfig;
private serverStartTimestampMS; private serverStartTimestampMS;
<<<<<<< HEAD
constructor(weightedRandomHelper: WeightedRandomHelper, weatherHelper: WeatherHelper, logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer); constructor(weightedRandomHelper: WeightedRandomHelper, weatherHelper: WeatherHelper, logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
=======
constructor(weightedRandomHelper: WeightedRandomHelper, logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get current + raid datetime and format into correct BSG format and return * Get current + raid datetime and format into correct BSG format and return
* @param data Weather data * @param data Weather data

View File

@ -1,5 +1,10 @@
<<<<<<< HEAD
import { IInventory } from "@spt/models/eft/common/tables/IBotBase"; import { IInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IGenerationData } from "@spt/models/eft/common/tables/IBotType"; import { IGenerationData } from "@spt/models/eft/common/tables/IBotType";
=======
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
import { GenerationData } from "@spt/models/eft/common/tables/IBotType";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
export declare class InventoryMagGen { export declare class InventoryMagGen {
private magCounts; private magCounts;

View File

@ -1,6 +1,10 @@
import { BotHelper } from "@spt/helpers/BotHelper"; import { BotHelper } from "@spt/helpers/BotHelper";
<<<<<<< HEAD
import { IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType"; import { IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType";
import { IBots } from "@spt/models/spt/bots/IBots"; import { IBots } from "@spt/models/spt/bots/IBots";
=======
import { Difficulty } from "@spt/models/eft/common/tables/IBotType";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig"; import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
@ -18,6 +22,31 @@ export declare class BotDifficultyHelper {
protected cloner: ICloner; protected cloner: ICloner;
protected pmcConfig: IPmcConfig; protected pmcConfig: IPmcConfig;
constructor(logger: ILogger, databaseService: DatabaseService, randomUtil: RandomUtil, localisationService: LocalisationService, botHelper: BotHelper, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, databaseService: DatabaseService, randomUtil: RandomUtil, localisationService: LocalisationService, botHelper: BotHelper, configServer: ConfigServer, cloner: ICloner);
<<<<<<< HEAD
=======
/**
* Get a difficulty object modified to handle fighting other PMCs
* @param pmcType 'bear or 'usec'
* @param difficulty easy / normal / hard / impossible
* @param usecType pmcUSEC
* @param bearType pmcBEAR
* @returns Difficulty object
*/
getPmcDifficultySettings(pmcType: "bear" | "usec", difficulty: string, usecType: string, bearType: string): Difficulty;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/**
* Add bot types to ENEMY_BOT_TYPES array
* @param difficultySettings Bot settings to alter
* @param typesToAdd Bot types to add to enemy list
* @param typeBeingEdited Bot type to ignore and not add to enemy list
*/
protected addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[], typeBeingEdited?: string): void;
/**
* Configure difficulty settings to be hostile to USEC and BEAR
* Look up value in bot.json/chanceSameSideIsHostilePercent
* @param difficultySettings pmc difficulty settings
*/
protected setDifficultyToHostileToBearAndUsec(difficultySettings: Difficulty): void;
/** /**
* Get difficulty settings for desired bot type, if not found use assault bot types * Get difficulty settings for desired bot type, if not found use assault bot types
* @param type bot type to retrieve difficulty of * @param type bot type to retrieve difficulty of

View File

@ -3,9 +3,15 @@ import { ContainerHelper } from "@spt/helpers/ContainerHelper";
import { DurabilityLimitsHelper } from "@spt/helpers/DurabilityLimitsHelper"; import { DurabilityLimitsHelper } from "@spt/helpers/DurabilityLimitsHelper";
import { InventoryHelper } from "@spt/helpers/InventoryHelper"; import { InventoryHelper } from "@spt/helpers/InventoryHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
<<<<<<< HEAD
import { IInventory } from "@spt/models/eft/common/tables/IBotBase"; import { IInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IItem, IUpd, IUpdRepairable } from "@spt/models/eft/common/tables/IItem"; import { IItem, IUpd, IUpdRepairable } from "@spt/models/eft/common/tables/IItem";
import { IGrid, ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { IGrid, ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
=======
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
import { Item, Repairable, Upd } from "@spt/models/eft/common/tables/IItem";
import { Grid, ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ItemAddedResult } from "@spt/models/enums/ItemAddedResult"; import { ItemAddedResult } from "@spt/models/enums/ItemAddedResult";
import { IChooseRandomCompatibleModResult } from "@spt/models/spt/bots/IChooseRandomCompatibleModResult"; import { IChooseRandomCompatibleModResult } from "@spt/models/spt/bots/IChooseRandomCompatibleModResult";
import { EquipmentFilters, IBotConfig, IRandomisedResourceValues } from "@spt/models/spt/config/IBotConfig"; import { EquipmentFilters, IBotConfig, IRandomisedResourceValues } from "@spt/models/spt/config/IBotConfig";
@ -60,14 +66,23 @@ export declare class BotGeneratorHelper {
* @param botRole type of bot being generated for * @param botRole type of bot being generated for
* @returns Repairable object * @returns Repairable object
*/ */
<<<<<<< HEAD
protected generateWeaponRepairableProperties(itemTemplate: ITemplateItem, botRole?: string): IUpdRepairable; protected generateWeaponRepairableProperties(itemTemplate: ITemplateItem, botRole?: string): IUpdRepairable;
=======
protected generateWeaponRepairableProperties(itemTemplate: ITemplateItem, botRole?: string): Repairable;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Create a repairable object for an armor that containers durability + max durability properties * Create a repairable object for an armor that containers durability + max durability properties
* @param itemTemplate weapon object being generated for * @param itemTemplate weapon object being generated for
* @param botRole type of bot being generated for * @param botRole type of bot being generated for
* @returns Repairable object * @returns Repairable object
*/ */
<<<<<<< HEAD
protected generateArmorRepairableProperties(itemTemplate: ITemplateItem, botRole?: string): IUpdRepairable; protected generateArmorRepairableProperties(itemTemplate: ITemplateItem, botRole?: string): IUpdRepairable;
=======
protected generateArmorRepairableProperties(itemTemplate: ITemplateItem, botRole?: string): Repairable;
isWeaponModIncompatibleWithCurrentMods(itemsEquipped: Item[], tplToCheck: string, modSlot: string): IChooseRandomCompatibleModResult;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Can item be added to another item without conflict * Can item be added to another item without conflict
* @param itemsEquipped Items to check compatibilities with * @param itemsEquipped Items to check compatibilities with

View File

@ -1,6 +1,11 @@
import { MinMax } from "@spt/models/common/MinMax"; import { MinMax } from "@spt/models/common/MinMax";
<<<<<<< HEAD
import { IBotType, IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType"; import { IBotType, IDifficultyCategories } from "@spt/models/eft/common/tables/IBotType";
import { EquipmentFilters, IBotConfig, IRandomisationDetails } from "@spt/models/spt/config/IBotConfig"; import { EquipmentFilters, IBotConfig, IRandomisationDetails } from "@spt/models/spt/config/IBotConfig";
=======
import { Difficulty, IBotType } from "@spt/models/eft/common/tables/IBotType";
import { EquipmentFilters, IBotConfig, RandomisationDetails } from "@spt/models/spt/config/IBotConfig";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig"; import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
@ -33,7 +38,11 @@ export declare class BotHelper {
* @param difficultySettings bot settings to alter * @param difficultySettings bot settings to alter
* @param typeToAdd bot type to add to friendly list * @param typeToAdd bot type to add to friendly list
*/ */
<<<<<<< HEAD
addBotToFriendlyList(difficultySettings: IDifficultyCategories, typeToAdd: string): void; addBotToFriendlyList(difficultySettings: IDifficultyCategories, typeToAdd: string): void;
=======
addBotToFriendlyList(difficultySettings: Difficulty, typeToAdd: string): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Add a bot to the REVENGE_BOT_TYPES array * Add a bot to the REVENGE_BOT_TYPES array
* @param difficultySettings bot settings to alter * @param difficultySettings bot settings to alter
@ -47,6 +56,16 @@ export declare class BotHelper {
* @param botRole Role to check * @param botRole Role to check
* @returns True if role is PMC * @returns True if role is PMC
*/ */
<<<<<<< HEAD
=======
shouldBotBePmc(botRole: string): boolean;
rollChanceToBePmc(role: string, botConvertMinMax: MinMax): boolean;
/**
* is the provided role a PMC, case-agnostic
* @param botRole Role to check
* @returns True if role is PMC
*/
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
botRoleIsPmc(botRole: string): boolean; botRoleIsPmc(botRole: string): boolean;
/** /**
* Get randomization settings for bot from config/bot.json * Get randomization settings for bot from config/bot.json
@ -54,7 +73,11 @@ export declare class BotHelper {
* @param botEquipConfig bot equipment json * @param botEquipConfig bot equipment json
* @returns RandomisationDetails * @returns RandomisationDetails
*/ */
<<<<<<< HEAD
getBotRandomizationDetails(botLevel: number, botEquipConfig: EquipmentFilters): IRandomisationDetails | undefined; getBotRandomizationDetails(botLevel: number, botEquipConfig: EquipmentFilters): IRandomisationDetails | undefined;
=======
getBotRandomizationDetails(botLevel: number, botEquipConfig: EquipmentFilters): RandomisationDetails | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Choose between pmcBEAR and pmcUSEC at random based on the % defined in pmcConfig.isUsec * Choose between pmcBEAR and pmcUSEC at random based on the % defined in pmcConfig.isUsec
* @returns pmc role * @returns pmc role
@ -71,6 +94,7 @@ export declare class BotHelper {
* @returns pmc side as string * @returns pmc side as string
*/ */
protected getRandomizedPmcSide(): string; protected getRandomizedPmcSide(): string;
<<<<<<< HEAD
/** /**
* Get a name from a PMC that fits the desired length * Get a name from a PMC that fits the desired length
* @param maxLength Max length of name, inclusive * @param maxLength Max length of name, inclusive
@ -78,4 +102,7 @@ export declare class BotHelper {
* @returns name of PMC * @returns name of PMC
*/ */
getPmcNicknameOfMaxLength(maxLength: number, side?: string): string; getPmcNicknameOfMaxLength(maxLength: number, side?: string): string;
=======
getPmcNicknameOfMaxLength(userId: string, maxLength: number): string;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -1,9 +1,15 @@
import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper"; import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper"; import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
<<<<<<< HEAD
import { IInventory } from "@spt/models/eft/common/tables/IBotBase"; import { IInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IGenerationData } from "@spt/models/eft/common/tables/IBotType"; import { IGenerationData } from "@spt/models/eft/common/tables/IBotType";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
import { GenerationData } from "@spt/models/eft/common/tables/IBotType";
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots"; import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";

View File

@ -6,9 +6,13 @@ import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig"; import { IWeatherConfig } from "@spt/models/spt/config/IWeatherConfig";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { GiftService } from "@spt/services/GiftService"; import { GiftService } from "@spt/services/GiftService";
<<<<<<< HEAD
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
import { MailSendService } from "@spt/services/MailSendService"; import { MailSendService } from "@spt/services/MailSendService";
import { SeasonalEventService } from "@spt/services/SeasonalEventService"; import { SeasonalEventService } from "@spt/services/SeasonalEventService";
=======
import { MailSendService } from "@spt/services/MailSendService";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { RandomUtil } from "@spt/utils/RandomUtil"; import { RandomUtil } from "@spt/utils/RandomUtil";
export declare class SptDialogueChatBot implements IDialogueChatBot { export declare class SptDialogueChatBot implements IDialogueChatBot {
protected profileHelper: ProfileHelper; protected profileHelper: ProfileHelper;

View File

@ -1,8 +1,13 @@
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { NotificationSendHelper } from "@spt/helpers/NotificationSendHelper"; import { NotificationSendHelper } from "@spt/helpers/NotificationSendHelper";
import { NotifierHelper } from "@spt/helpers/NotifierHelper"; import { NotifierHelper } from "@spt/helpers/NotifierHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { IDialogue, IMessagePreview } from "@spt/models/eft/profile/ISptProfile"; import { IDialogue, IMessagePreview } from "@spt/models/eft/profile/ISptProfile";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
import { Dialogue, MessagePreview } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { DatabaseServer } from "@spt/servers/DatabaseServer"; import { DatabaseServer } from "@spt/servers/DatabaseServer";
import { SaveServer } from "@spt/servers/SaveServer"; import { SaveServer } from "@spt/servers/SaveServer";

View File

@ -1,5 +1,10 @@
<<<<<<< HEAD
import { IHandbookCategory } from "@spt/models/eft/common/tables/IHandbookBase"; import { IHandbookCategory } from "@spt/models/eft/common/tables/IHandbookBase";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Category } from "@spt/models/eft/common/tables/IHandbookBase";
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IItemConfig } from "@spt/models/spt/config/IItemConfig"; import { IItemConfig } from "@spt/models/spt/config/IItemConfig";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";

View File

@ -1,7 +1,12 @@
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IBodyPartsHealth, IHealth } from "@spt/models/eft/common/tables/IBotBase"; import { IBodyPartsHealth, IHealth } from "@spt/models/eft/common/tables/IBotBase";
import { ISyncHealthRequestData } from "@spt/models/eft/health/ISyncHealthRequestData"; import { ISyncHealthRequestData } from "@spt/models/eft/health/ISyncHealthRequestData";
import { IEffects, ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IEffects, ISptProfile } from "@spt/models/eft/profile/ISptProfile";
=======
import { ISyncHealthRequestData } from "@spt/models/eft/health/ISyncHealthRequestData";
import { Effects, ISptProfile } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IHealthConfig } from "@spt/models/spt/config/IHealthConfig"; import { IHealthConfig } from "@spt/models/spt/config/IHealthConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
@ -24,6 +29,7 @@ export declare class HealthHelper {
resetVitality(sessionID: string): ISptProfile; resetVitality(sessionID: string): ISptProfile;
/** /**
* Update player profile vitality values with changes from client request object * Update player profile vitality values with changes from client request object
<<<<<<< HEAD
* @param pmcData Player profile * @param pmcData Player profile
* @param postRaidHealth Post raid data * @param postRaidHealth Post raid data
* @param sessionID Session id * @param sessionID Session id
@ -41,6 +47,8 @@ export declare class HealthHelper {
protected transferPostRaidLimbEffectsToProfile(postRaidBodyParts: IBodyPartsHealth, profileData: IPmcData): void; protected transferPostRaidLimbEffectsToProfile(postRaidBodyParts: IBodyPartsHealth, profileData: IPmcData): void;
/** /**
* Update player profile vitality values with changes from client request object * Update player profile vitality values with changes from client request object
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
* @param pmcData Player profile * @param pmcData Player profile
* @param request Heal request * @param request Heal request
* @param sessionID Session id * @param sessionID Session id

View File

@ -2,15 +2,24 @@ import { InventoryHelper } from "@spt/helpers/InventoryHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IBotHideoutArea, IHideoutImprovement, IProduction, IProductive } from "@spt/models/eft/common/tables/IBotBase"; import { IBotHideoutArea, IHideoutImprovement, IProduction, IProductive } from "@spt/models/eft/common/tables/IBotBase";
import { IItem, IUpd } from "@spt/models/eft/common/tables/IItem"; import { IItem, IUpd } from "@spt/models/eft/common/tables/IItem";
import { IHideoutArea, IStageBonus } from "@spt/models/eft/hideout/IHideoutArea"; import { IHideoutArea, IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
=======
import { HideoutArea, IHideoutImprovement, Production, Productive } from "@spt/models/eft/common/tables/IBotBase";
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
import { StageBonus } from "@spt/models/eft/hideout/IHideoutArea";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData"; import { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction"; import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
import { IHideoutSingleProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutSingleProductionStartRequestData"; import { IHideoutSingleProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutSingleProductionStartRequestData";
import { IHideoutTakeProductionRequestData } from "@spt/models/eft/hideout/IHideoutTakeProductionRequestData"; import { IHideoutTakeProductionRequestData } from "@spt/models/eft/hideout/IHideoutTakeProductionRequestData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
<<<<<<< HEAD
import { HideoutAreas } from "@spt/models/enums/HideoutAreas"; import { HideoutAreas } from "@spt/models/enums/HideoutAreas";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { SkillTypes } from "@spt/models/enums/SkillTypes"; import { SkillTypes } from "@spt/models/enums/SkillTypes";
import { IHideoutConfig } from "@spt/models/spt/config/IHideoutConfig"; import { IHideoutConfig } from "@spt/models/spt/config/IHideoutConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
@ -217,9 +226,15 @@ export declare class HideoutHelper {
* @param resourceUnitsConsumed * @param resourceUnitsConsumed
* @returns Upd * @returns Upd
*/ */
<<<<<<< HEAD
protected getAreaUpdObject(stackCount: number, resourceValue: number, resourceUnitsConsumed: number, isFoundInRaid: boolean): IUpd; protected getAreaUpdObject(stackCount: number, resourceValue: number, resourceUnitsConsumed: number, isFoundInRaid: boolean): IUpd;
protected updateAirFilters(airFilterArea: IBotHideoutArea, pmcData: IPmcData, isGeneratorOn: boolean): void; protected updateAirFilters(airFilterArea: IBotHideoutArea, pmcData: IPmcData, isGeneratorOn: boolean): void;
protected updateBitcoinFarm(pmcData: IPmcData, btcProduction: IProductive, btcFarmCGs: number, isGeneratorOn: boolean): void; protected updateBitcoinFarm(pmcData: IPmcData, btcProduction: IProductive, btcFarmCGs: number, isGeneratorOn: boolean): void;
=======
protected getAreaUpdObject(stackCount: number, resourceValue: number, resourceUnitsConsumed: number, isFoundInRaid: boolean): Upd;
protected updateAirFilters(airFilterArea: HideoutArea, pmcData: IPmcData, isGeneratorOn: boolean): void;
protected updateBitcoinFarm(pmcData: IPmcData, btcFarmCGs: number, isGeneratorOn: boolean): Production | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Add bitcoin object to btc production products array and set progress time * Add bitcoin object to btc production products array and set progress time
* @param btcProd Bitcoin production object * @param btcProd Bitcoin production object

View File

@ -1,18 +1,46 @@
<<<<<<< HEAD
import { QuestController } from "@spt/controllers/QuestController"; import { QuestController } from "@spt/controllers/QuestController";
import { InventoryHelper } from "@spt/helpers/InventoryHelper"; import { InventoryHelper } from "@spt/helpers/InventoryHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper";
import { PaymentHelper } from "@spt/helpers/PaymentHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { QuestHelper } from "@spt/helpers/QuestHelper";
import { IPmcData, IPostRaidPmcData } from "@spt/models/eft/common/IPmcData";
import { IQuestStatus, TraderInfo } from "@spt/models/eft/common/tables/IBotBase";
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ISaveProgressRequestData } from "@spt/models/eft/inRaid/ISaveProgressRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IInRaidConfig } from "@spt/models/spt/config/IInRaidConfig"; import { IInRaidConfig } from "@spt/models/spt/config/IInRaidConfig";
import { ILostOnDeathConfig } from "@spt/models/spt/config/ILostOnDeathConfig"; import { ILostOnDeathConfig } from "@spt/models/spt/config/ILostOnDeathConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
<<<<<<< HEAD
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { ICloner } from "@spt/utils/cloners/ICloner"; import { ICloner } from "@spt/utils/cloners/ICloner";
import { ProfileHelper } from "./ProfileHelper"; import { ProfileHelper } from "./ProfileHelper";
import { QuestHelper } from "./QuestHelper"; import { QuestHelper } from "./QuestHelper";
export declare class InRaidHelper { export declare class InRaidHelper {
protected logger: ILogger; protected logger: ILogger;
=======
import { SaveServer } from "@spt/servers/SaveServer";
import { DatabaseService } from "@spt/services/DatabaseService";
import { LocalisationService } from "@spt/services/LocalisationService";
import { ProfileFixerService } from "@spt/services/ProfileFixerService";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { TimeUtil } from "@spt/utils/TimeUtil";
import { ICloner } from "@spt/utils/cloners/ICloner";
export declare class InRaidHelper {
protected logger: ILogger;
protected timeUtil: TimeUtil;
protected saveServer: SaveServer;
protected itemHelper: ItemHelper;
protected databaseService: DatabaseService;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
protected inventoryHelper: InventoryHelper; protected inventoryHelper: InventoryHelper;
protected itemHelper: ItemHelper; protected itemHelper: ItemHelper;
protected configServer: ConfigServer; protected configServer: ConfigServer;
@ -21,15 +49,106 @@ export declare class InRaidHelper {
protected questController: QuestController; protected questController: QuestController;
protected profileHelper: ProfileHelper; protected profileHelper: ProfileHelper;
protected questHelper: QuestHelper; protected questHelper: QuestHelper;
<<<<<<< HEAD
protected lostOnDeathConfig: ILostOnDeathConfig; protected lostOnDeathConfig: ILostOnDeathConfig;
protected inRaidConfig: IInRaidConfig; protected inRaidConfig: IInRaidConfig;
constructor(logger: ILogger, inventoryHelper: InventoryHelper, itemHelper: ItemHelper, configServer: ConfigServer, cloner: ICloner, databaseService: DatabaseService, questController: QuestController, profileHelper: ProfileHelper, questHelper: QuestHelper); constructor(logger: ILogger, inventoryHelper: InventoryHelper, itemHelper: ItemHelper, configServer: ConfigServer, cloner: ICloner, databaseService: DatabaseService, questController: QuestController, profileHelper: ProfileHelper, questHelper: QuestHelper);
=======
protected paymentHelper: PaymentHelper;
protected localisationService: LocalisationService;
protected profileFixerService: ProfileFixerService;
protected configServer: ConfigServer;
protected randomUtil: RandomUtil;
protected cloner: ICloner;
protected lostOnDeathConfig: ILostOnDeathConfig;
protected inRaidConfig: IInRaidConfig;
constructor(logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, itemHelper: ItemHelper, databaseService: DatabaseService, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService, configServer: ConfigServer, randomUtil: RandomUtil, cloner: ICloner);
/**
* Lookup quest item loss from lostOnDeath config
* @returns True if items should be removed from inventory
*/
shouldQuestItemsBeRemovedOnDeath(): boolean;
/**
* Check items array and add an upd object to money with a stack count of 1
* Single stack money items have no upd object and thus no StackObjectsCount, causing issues
* @param items Items array to check
*/
addStackCountToMoneyFromRaid(items: Item[]): void;
/**
* Reset a profile to a baseline, used post-raid
* Reset points earned during session property
* Increment exp
* @param profileData Profile to update
* @param saveProgressRequest post raid save data request data
* @param sessionID Session id
* @returns Reset profile object
*/
updateProfileBaseStats(profileData: IPmcData, saveProgressRequest: ISaveProgressRequestData, sessionID: string): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* @deprecated * @deprecated
* Reset the skill points earned in a raid to 0, ready for next raid * Reset the skill points earned in a raid to 0, ready for next raid
* @param profile Profile to update * @param profile Profile to update
*/ */
protected resetSkillPointsEarnedDuringRaid(profile: IPmcData): void; protected resetSkillPointsEarnedDuringRaid(profile: IPmcData): void;
<<<<<<< HEAD
=======
/** Check counters are correct in profile */
protected validateTaskConditionCounters(saveProgressRequest: ISaveProgressRequestData, profileData: IPmcData): void;
/**
* Update various serverPMC profile values; quests/limb hp/trader standing with values post-raic
* @param pmcData Server PMC profile
* @param saveProgressRequest Post-raid request data
* @param sessionId Session id
*/
updatePmcProfileDataPostRaid(pmcData: IPmcData, saveProgressRequest: ISaveProgressRequestData, sessionId: string): void;
/**
* Update scav quest values on server profile with updated values post-raid
* @param scavData Server scav profile
* @param saveProgressRequest Post-raid request data
* @param sessionId Session id
*/
updateScavProfileDataPostRaid(scavData: IPmcData, saveProgressRequest: ISaveProgressRequestData, sessionId: string): void;
/**
* Look for quests with a status different from what it began the raid with
* @param sessionId Player id
* @param pmcData Player profile
* @param preRaidQuests Quests prior to starting raid
* @param postRaidProfile Profile sent by client with post-raid quests
*/
protected processAlteredQuests(sessionId: string, pmcData: IPmcData, preRaidQuests: IQuestStatus[], postRaidProfile: IPostRaidPmcData): void;
protected handleFailRestartableQuestStatus(pmcData: IPmcData, postRaidProfile: IPostRaidPmcData, postRaidQuest: IQuestStatus): void;
/**
* Take body part effects from client profile and apply to server profile
* @param saveProgressRequest post-raid request
* @param profileData player profile on server
*/
protected transferPostRaidLimbEffectsToProfile(saveProgressRequest: ISaveProgressRequestData, profileData: IPmcData): void;
/**
* Adjust server trader settings if they differ from data sent by client
* @param tradersServerProfile Server
* @param tradersClientProfile Client
*/
protected applyTraderStandingAdjustments(tradersServerProfile: Record<string, TraderInfo>, tradersClientProfile: Record<string, TraderInfo>): void;
/**
* Transfer client achievements into profile
* @param profile Player pmc profile
* @param clientAchievements Achievements from client
*/
protected updateProfileAchievements(profile: IPmcData, clientAchievements: Record<string, number>): void;
/**
* Set the SPT inraid location Profile property to 'none'
* @param sessionID Session id
*/
protected setPlayerInRaidLocationStatusToNone(sessionID: string): void;
/**
* Iterate over inventory items and remove the property that defines an item as Found in Raid
* Only removes property if item had FiR when entering raid
* @param postRaidProfile profile to update items for
* @returns Updated profile with SpawnedInSession removed
*/
removeSpawnedInSessionPropertyFromItems(postRaidProfile: IPostRaidPmcData): IPostRaidPmcData;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Update a players inventory post-raid * Update a players inventory post-raid
* Remove equipped items from pre-raid * Remove equipped items from pre-raid

View File

@ -6,8 +6,13 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { TraderAssortHelper } from "@spt/helpers/TraderAssortHelper"; import { TraderAssortHelper } from "@spt/helpers/TraderAssortHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IInventory } from "@spt/models/eft/common/tables/IBotBase"; import { IInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IItem, IItemLocation, IUpd } from "@spt/models/eft/common/tables/IItem"; import { IItem, IItemLocation, IUpd } from "@spt/models/eft/common/tables/IItem";
=======
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest"; import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest"; import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData"; import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
@ -16,7 +21,11 @@ import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventor
import { IInventorySplitRequestData } from "@spt/models/eft/inventory/IInventorySplitRequestData"; import { IInventorySplitRequestData } from "@spt/models/eft/inventory/IInventorySplitRequestData";
import { IInventoryTransferRequestData } from "@spt/models/eft/inventory/IInventoryTransferRequestData"; import { IInventoryTransferRequestData } from "@spt/models/eft/inventory/IInventoryTransferRequestData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
<<<<<<< HEAD
import { IInventoryConfig, IRewardDetails } from "@spt/models/spt/config/IInventoryConfig"; import { IInventoryConfig, IRewardDetails } from "@spt/models/spt/config/IInventoryConfig";
=======
import { IInventoryConfig, RewardDetails } from "@spt/models/spt/config/IInventoryConfig";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IOwnerInventoryItems } from "@spt/models/spt/inventory/IOwnerInventoryItems"; import { IOwnerInventoryItems } from "@spt/models/spt/inventory/IOwnerInventoryItems";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
@ -109,7 +118,11 @@ export declare class InventoryHelper {
* @param useSortingTable Should sorting table to be used if main stash has no space * @param useSortingTable Should sorting table to be used if main stash has no space
* @param output output to send back to client * @param output output to send back to client
*/ */
<<<<<<< HEAD
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: IItem[], playerInventory: IInventory, useSortingTable: boolean, output: IItemEventRouterResponse): void; protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: IItem[], playerInventory: IInventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
=======
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Handle Remove event * Handle Remove event
* Remove item from player inventory + insured items array * Remove item from player inventory + insured items array
@ -144,7 +157,11 @@ export declare class InventoryHelper {
* @param inventoryItems * @param inventoryItems
* @returns [width, height] * @returns [width, height]
*/ */
<<<<<<< HEAD
getItemSize(itemTpl: string, itemID: string, inventoryItems: IItem[]): number[]; getItemSize(itemTpl: string, itemID: string, inventoryItems: IItem[]): number[];
=======
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Calculates the size of an item including attachements * Calculates the size of an item including attachements
* takes into account if item is folded * takes into account if item is folded
@ -219,7 +236,11 @@ export declare class InventoryHelper {
* @param toItems Inventory of the destination * @param toItems Inventory of the destination
* @param request Move request * @param request Move request
*/ */
<<<<<<< HEAD
moveItemToProfile(sourceItems: IItem[], toItems: IItem[], request: IInventoryMoveRequestData): void; moveItemToProfile(sourceItems: IItem[], toItems: IItem[], request: IInventoryMoveRequestData): void;
=======
moveItemToProfile(sourceItems: Item[], toItems: Item[], request: IInventoryMoveRequestData): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Internal helper function to move item within the same profile_f. * Internal helper function to move item within the same profile_f.
* @param pmcData profile to edit * @param pmcData profile to edit
@ -240,7 +261,11 @@ 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.
*/ */
<<<<<<< HEAD
protected handleCartridges(items: IItem[], request: IInventoryMoveRequestData): void; protected handleCartridges(items: IItem[], request: IInventoryMoveRequestData): void;
=======
protected handleCartridges(items: Item[], request: IInventoryMoveRequestData): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get details for how a random loot container should be handled, max rewards, possible reward tpls * Get details for how a random loot container should be handled, max rewards, possible reward tpls
* @param itemTpl Container being opened * @param itemTpl Container being opened

View File

@ -1,8 +1,13 @@
import { HandbookHelper } from "@spt/helpers/HandbookHelper"; import { HandbookHelper } from "@spt/helpers/HandbookHelper";
import { IStaticAmmoDetails } from "@spt/models/eft/common/ILocation"; import { IStaticAmmoDetails } from "@spt/models/eft/common/ILocation";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IInsuredItem } from "@spt/models/eft/common/tables/IBotBase"; import { IInsuredItem } from "@spt/models/eft/common/tables/IBotBase";
import { IItem, IUpd, IUpdRepairable } from "@spt/models/eft/common/tables/IItem"; import { IItem, IUpd, IUpdRepairable } from "@spt/models/eft/common/tables/IItem";
=======
import { InsuredItem } from "@spt/models/eft/common/tables/IBotBase";
import { Item, Repairable, Upd } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { ItemTpl } from "@spt/models/enums/ItemTpl"; import { ItemTpl } from "@spt/models/enums/ItemTpl";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
@ -42,7 +47,11 @@ export declare class ItemHelper {
* @param slotId OPTIONAL - slotid of desired item * @param slotId OPTIONAL - slotid of desired item
* @returns True if pool contains item * @returns True if pool contains item
*/ */
<<<<<<< HEAD
hasItemWithTpl(itemPool: IItem[], item: ItemTpl, slotId?: string): boolean; hasItemWithTpl(itemPool: IItem[], item: ItemTpl, slotId?: string): boolean;
=======
hasItemWithTpl(itemPool: Item[], item: ItemTpl, slotId?: string): boolean;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get the first item from provided pool with the desired tpl * Get the first item from provided pool with the desired tpl
* @param itemPool Item collection to search * @param itemPool Item collection to search
@ -50,7 +59,11 @@ export declare class ItemHelper {
* @param slotId OPTIONAL - slotid of desired item * @param slotId OPTIONAL - slotid of desired item
* @returns Item or undefined * @returns Item or undefined
*/ */
<<<<<<< HEAD
getItemFromPoolByTpl(itemPool: IItem[], item: ItemTpl, slotId?: string): IItem | undefined; getItemFromPoolByTpl(itemPool: IItem[], item: ItemTpl, slotId?: string): IItem | undefined;
=======
getItemFromPoolByTpl(itemPool: Item[], item: ItemTpl, slotId?: string): Item | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* This method will compare two items (with all its children) and see if the are equivalent. * This method will compare two items (with all its children) and see if the are equivalent.
* This method will NOT compare IDs on the items * This method will NOT compare IDs on the items
@ -191,7 +204,11 @@ export declare class ItemHelper {
* @param skipArmorItemsWithoutDurability Skip over armor items without durability * @param skipArmorItemsWithoutDurability Skip over armor items without durability
* @returns % quality modifer between 0 and 1 * @returns % quality modifer between 0 and 1
*/ */
<<<<<<< HEAD
getItemQualityModifierForItems(items: IItem[], skipArmorItemsWithoutDurability?: boolean): number; getItemQualityModifierForItems(items: IItem[], skipArmorItemsWithoutDurability?: boolean): number;
=======
getItemQualityModifierForItems(items: Item[], skipArmorItemsWithoutDurability?: boolean): number;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* get normalized value (0-1) based on item condition * get normalized value (0-1) based on item condition
* Will return -1 for base armor items with 0 durability * Will return -1 for base armor items with 0 durability
@ -199,7 +216,11 @@ export declare class ItemHelper {
* @param skipArmorItemsWithoutDurability return -1 for armor items that have maxdurability of 0 * @param skipArmorItemsWithoutDurability return -1 for armor items that have maxdurability of 0
* @returns Number between 0 and 1 * @returns Number between 0 and 1
*/ */
<<<<<<< HEAD
getItemQualityModifier(item: IItem, skipArmorItemsWithoutDurability?: boolean): number; getItemQualityModifier(item: IItem, skipArmorItemsWithoutDurability?: boolean): number;
=======
getItemQualityModifier(item: Item, skipArmorItemsWithoutDurability?: boolean): number;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get a quality value based on a repairable items (weapon/armor) current state between current and max durability * Get a quality value based on a repairable items (weapon/armor) current state between current and max durability
* @param itemDetails Db details for item we want quality value for * @param itemDetails Db details for item we want quality value for
@ -291,7 +312,11 @@ export declare class ItemHelper {
* @param fastPanel Quick slot panel * @param fastPanel Quick slot panel
* @returns Item[] * @returns Item[]
*/ */
<<<<<<< HEAD
replaceIDs(originalItems: IItem[], pmcData?: IPmcData, insuredItems?: IInsuredItem[], fastPanel?: any): IItem[]; replaceIDs(originalItems: IItem[], pmcData?: IPmcData, insuredItems?: IInsuredItem[], fastPanel?: any): IItem[];
=======
replaceIDs(originalItems: Item[], pmcData?: IPmcData, insuredItems?: InsuredItem[], fastPanel?: any): Item[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Mark the passed in array of items as found in raid. * Mark the passed in array of items as found in raid.
* Modifies passed in items * Modifies passed in items
@ -322,7 +347,11 @@ export declare class ItemHelper {
* @param parent The parent of the item to be checked * @param parent The parent of the item to be checked
* @returns True if the item is actually moddable, false if it is not, and undefined if the check cannot be performed. * @returns True if the item is actually moddable, false if it is not, and undefined if the check cannot be performed.
*/ */
<<<<<<< HEAD
isRaidModdable(item: IItem, parent: IItem): boolean | undefined; isRaidModdable(item: IItem, parent: IItem): boolean | undefined;
=======
isRaidModdable(item: Item, parent: Item): boolean | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Retrieves the main parent item for a given attachment item. * Retrieves the main parent item for a given attachment item.
* *
@ -339,7 +368,11 @@ export declare class ItemHelper {
* @param itemsMap - A Map containing item IDs mapped to their corresponding Item objects for quick lookup. * @param itemsMap - A Map containing item IDs mapped to their corresponding Item objects for quick lookup.
* @returns The Item object representing the top-most parent of the given item, or `undefined` if no such parent exists. * @returns The Item object representing the top-most parent of the given item, or `undefined` if no such parent exists.
*/ */
<<<<<<< HEAD
getAttachmentMainParent(itemId: string, itemsMap: Map<string, IItem>): IItem | undefined; getAttachmentMainParent(itemId: string, itemsMap: Map<string, IItem>): IItem | undefined;
=======
getAttachmentMainParent(itemId: string, itemsMap: Map<string, Item>): Item | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Determines if an item is an attachment that is currently attached to it's parent item. * Determines if an item is an attachment that is currently attached to it's parent item.
* *
@ -362,7 +395,11 @@ export declare class ItemHelper {
* @param itemsMap - A Map containing item IDs mapped to their corresponding Item objects for quick lookup. * @param itemsMap - A Map containing item IDs mapped to their corresponding Item objects for quick lookup.
* @returns The Item object representing the equipment parent of the given item, or `undefined` if no such parent exists. * @returns The Item object representing the equipment parent of the given item, or `undefined` if no such parent exists.
*/ */
<<<<<<< HEAD
getEquipmentParent(itemId: string, itemsMap: Map<string, IItem>): IItem | undefined; getEquipmentParent(itemId: string, itemsMap: Map<string, IItem>): IItem | undefined;
=======
getEquipmentParent(itemId: string, itemsMap: Map<string, Item>): Item | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get the inventory size of an item * Get the inventory size of an item
* @param items Item with children * @param items Item with children
@ -406,7 +443,11 @@ export declare class ItemHelper {
* @param defaultCartridgeTpl Cartridge to use when none found * @param defaultCartridgeTpl Cartridge to use when none found
* @param weapon Weapon the magazine will be used for (if passed in uses Chamber as whitelist) * @param weapon Weapon the magazine will be used for (if passed in uses Chamber as whitelist)
*/ */
<<<<<<< HEAD
fillMagazineWithRandomCartridge(magazine: IItem[], magTemplate: ITemplateItem, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string, minSizePercent?: number, defaultCartridgeTpl?: string, weapon?: ITemplateItem): void; fillMagazineWithRandomCartridge(magazine: IItem[], magTemplate: ITemplateItem, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string, minSizePercent?: number, defaultCartridgeTpl?: string, weapon?: ITemplateItem): void;
=======
fillMagazineWithRandomCartridge(magazine: Item[], magTemplate: ITemplateItem, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string, minSizePercent?: number, defaultCartridgeTpl?: string, weapon?: ITemplateItem): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Add child items to a magazine of a specific cartridge * Add child items to a magazine of a specific cartridge
* @param magazineWithChildCartridges Magazine to add child items to * @param magazineWithChildCartridges Magazine to add child items to

View File

@ -1,4 +1,8 @@
<<<<<<< HEAD
import { IDialogue, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile"; import { IDialogue, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
=======
import { Dialogue, IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
import { MessageType } from "@spt/models/enums/MessageType"; import { MessageType } from "@spt/models/enums/MessageType";
import { SaveServer } from "@spt/servers/SaveServer"; import { SaveServer } from "@spt/servers/SaveServer";

View File

@ -1,5 +1,9 @@
import { HttpServerHelper } from "@spt/helpers/HttpServerHelper"; import { HttpServerHelper } from "@spt/helpers/HttpServerHelper";
<<<<<<< HEAD
import { IMessage, IMessageContentRagfair } from "@spt/models/eft/profile/ISptProfile"; import { IMessage, IMessageContentRagfair } from "@spt/models/eft/profile/ISptProfile";
=======
import { Message, MessageContentRagfair } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IWsChatMessageReceived } from "@spt/models/eft/ws/IWsChatMessageReceived"; import { IWsChatMessageReceived } from "@spt/models/eft/ws/IWsChatMessageReceived";
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
import { IWsRagfairOfferSold } from "@spt/models/eft/ws/IWsRagfairOfferSold"; import { IWsRagfairOfferSold } from "@spt/models/eft/ws/IWsRagfairOfferSold";
@ -17,12 +21,20 @@ export declare class NotifierHelper {
* @param ragfairData Ragfair data to attach to notification * @param ragfairData Ragfair data to attach to notification
* @returns * @returns
*/ */
<<<<<<< HEAD
createRagfairOfferSoldNotification(dialogueMessage: IMessage, ragfairData: IMessageContentRagfair): IWsRagfairOfferSold; createRagfairOfferSoldNotification(dialogueMessage: IMessage, ragfairData: IMessageContentRagfair): IWsRagfairOfferSold;
=======
createRagfairOfferSoldNotification(dialogueMessage: Message, ragfairData: MessageContentRagfair): IWsRagfairOfferSold;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Create a new notification with the specified dialogueMessage object * Create a new notification with the specified dialogueMessage object
* @param dialogueMessage * @param dialogueMessage
* @returns * @returns
*/ */
<<<<<<< HEAD
createNewMessageNotification(dialogueMessage: IMessage): IWsChatMessageReceived; createNewMessageNotification(dialogueMessage: IMessage): IWsChatMessageReceived;
=======
createNewMessageNotification(dialogueMessage: Message): IWsChatMessageReceived;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
getWebSocketServer(sessionID: string): string; getWebSocketServer(sessionID: string): string;
} }

View File

@ -1,11 +1,17 @@
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { Common, ICounterKeyValue, IStats } from "@spt/models/eft/common/tables/IBotBase"; import { Common, ICounterKeyValue, IStats } from "@spt/models/eft/common/tables/IBotBase";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { ISearchFriendResponse } from "@spt/models/eft/profile/ISearchFriendResponse"; import { ISearchFriendResponse } from "@spt/models/eft/profile/ISearchFriendResponse";
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
import { IValidateNicknameRequestData } from "@spt/models/eft/profile/IValidateNicknameRequestData"; import { IValidateNicknameRequestData } from "@spt/models/eft/profile/IValidateNicknameRequestData";
import { BonusType } from "@spt/models/enums/BonusType"; import { BonusType } from "@spt/models/enums/BonusType";
=======
import { Common, CounterKeyValue, Stats } from "@spt/models/eft/common/tables/IBotBase";
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
import { IValidateNicknameRequestData } from "@spt/models/eft/profile/IValidateNicknameRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { SkillTypes } from "@spt/models/enums/SkillTypes"; import { SkillTypes } from "@spt/models/enums/SkillTypes";
import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig"; import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
@ -13,6 +19,10 @@ import { ConfigServer } from "@spt/servers/ConfigServer";
import { SaveServer } from "@spt/servers/SaveServer"; import { SaveServer } from "@spt/servers/SaveServer";
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
<<<<<<< HEAD
=======
import { ProfileSnapshotService } from "@spt/services/ProfileSnapshotService";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { HashUtil } from "@spt/utils/HashUtil"; import { HashUtil } from "@spt/utils/HashUtil";
import { TimeUtil } from "@spt/utils/TimeUtil"; import { TimeUtil } from "@spt/utils/TimeUtil";
import { Watermark } from "@spt/utils/Watermark"; import { Watermark } from "@spt/utils/Watermark";
@ -29,7 +39,11 @@ export declare class ProfileHelper {
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected cloner: ICloner; protected cloner: ICloner;
protected inventoryConfig: IInventoryConfig; protected inventoryConfig: IInventoryConfig;
<<<<<<< HEAD
constructor(logger: ILogger, hashUtil: HashUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseService: DatabaseService, itemHelper: ItemHelper, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, hashUtil: HashUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseService: DatabaseService, itemHelper: ItemHelper, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
=======
constructor(logger: ILogger, hashUtil: HashUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseService: DatabaseService, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Remove/reset a completed quest condtion from players profile quest data * Remove/reset a completed quest condtion from players profile quest data
* @param sessionID Session id * @param sessionID Session id
@ -51,7 +65,11 @@ export declare class ProfileHelper {
* Sanitize any information from the profile that the client does not expect to receive * Sanitize any information from the profile that the client does not expect to receive
* @param clonedProfile A clone of the full player profile * @param clonedProfile A clone of the full player profile
*/ */
<<<<<<< HEAD
protected sanitizeProfileForClient(clonedProfile: ISptProfile): void; protected sanitizeProfileForClient(clonedProfile: ISptProfile): void;
=======
protected postRaidXpWorkaroundFix(sessionId: string, pmcProfile: IPmcData, scavProfile: IPmcData, output: IPmcData[]): IPmcData[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Check if a nickname is used by another profile loaded by the server * Check if a nickname is used by another profile loaded by the server
* @param nicknameRequest nickname request object * @param nicknameRequest nickname request object
@ -91,6 +109,7 @@ export declare class ProfileHelper {
* @returns ISptProfile object * @returns ISptProfile object
*/ */
getFullProfile(sessionID: string): ISptProfile | undefined; getFullProfile(sessionID: string): ISptProfile | undefined;
<<<<<<< HEAD
/** /**
* Get full representation of a players profile JSON by the account ID, or undefined if not found * Get full representation of a players profile JSON by the account ID, or undefined if not found
* @param accountId Account ID to find * @param accountId Account ID to find
@ -109,6 +128,8 @@ export declare class ProfileHelper {
* @returns * @returns
*/ */
getChatRoomMemberFromPmcProfile(pmcProfile: IPmcData): ISearchFriendResponse; getChatRoomMemberFromPmcProfile(pmcProfile: IPmcData): ISearchFriendResponse;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get a PMC profile by its session id * Get a PMC profile by its session id
* @param sessionID Profile id to return * @param sessionID Profile id to return
@ -201,6 +222,7 @@ export declare class ProfileHelper {
* @param rowsToAdd How many rows to give profile * @param rowsToAdd How many rows to give profile
*/ */
addStashRowsBonusToProfile(sessionId: string, rowsToAdd: number): void; addStashRowsBonusToProfile(sessionId: string, rowsToAdd: number): void;
<<<<<<< HEAD
/** /**
* Iterate over all bonuses and sum up all bonuses of desired type in provided profile * Iterate over all bonuses and sum up all bonuses of desired type in provided profile
* @param pmcProfile Player profile * @param pmcProfile Player profile
@ -208,6 +230,8 @@ export declare class ProfileHelper {
* @returns Summed bonus value or 0 if no bonus found * @returns Summed bonus value or 0 if no bonus found
*/ */
getBonusValueFromProfile(pmcProfile: IPmcData, desiredBonus: BonusType): number; getBonusValueFromProfile(pmcProfile: IPmcData, desiredBonus: BonusType): number;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
playerIsFleaBanned(pmcProfile: IPmcData): boolean; playerIsFleaBanned(pmcProfile: IPmcData): boolean;
/** /**
* Add an achievement to player profile * Add an achievement to player profile
@ -216,6 +240,7 @@ export declare class ProfileHelper {
*/ */
addAchievementToProfile(pmcProfile: IPmcData, achievementId: string): void; addAchievementToProfile(pmcProfile: IPmcData, achievementId: string): void;
hasAccessToRepeatableFreeRefreshSystem(pmcProfile: IPmcData): boolean; hasAccessToRepeatableFreeRefreshSystem(pmcProfile: IPmcData): boolean;
<<<<<<< HEAD
/** /**
* Find a profiles "Pockets" item and replace its tpl with passed in value * Find a profiles "Pockets" item and replace its tpl with passed in value
* @param pmcProfile Player profile * @param pmcProfile Player profile
@ -234,4 +259,6 @@ export declare class ProfileHelper {
* @returns An array of IItem objects representing the favorited data * @returns An array of IItem objects representing the favorited data
*/ */
getOtherProfileFavorites(profile: IPmcData): IItem[]; getOtherProfileFavorites(profile: IPmcData): IItem[];
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -8,12 +8,19 @@ import { RagfairServerHelper } from "@spt/helpers/RagfairServerHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase"; import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest"; import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction"; import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData"; import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData"; import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IFailQuestRequestData } from "@spt/models/eft/quests/IFailQuestRequestData"; import { IFailQuestRequestData } from "@spt/models/eft/quests/IFailQuestRequestData";
import { QuestStatus } from "@spt/models/enums/QuestStatus"; import { QuestStatus } from "@spt/models/enums/QuestStatus";
import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig"; import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig";
@ -24,7 +31,10 @@ import { DatabaseService } from "@spt/services/DatabaseService";
import { LocaleService } from "@spt/services/LocaleService"; import { LocaleService } from "@spt/services/LocaleService";
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
import { MailSendService } from "@spt/services/MailSendService"; import { MailSendService } from "@spt/services/MailSendService";
<<<<<<< HEAD
import { PlayerService } from "@spt/services/PlayerService"; import { PlayerService } from "@spt/services/PlayerService";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { SeasonalEventService } from "@spt/services/SeasonalEventService"; import { SeasonalEventService } from "@spt/services/SeasonalEventService";
import { HashUtil } from "@spt/utils/HashUtil"; import { HashUtil } from "@spt/utils/HashUtil";
import { TimeUtil } from "@spt/utils/TimeUtil"; import { TimeUtil } from "@spt/utils/TimeUtil";
@ -51,7 +61,11 @@ export declare class QuestHelper {
protected configServer: ConfigServer; protected configServer: ConfigServer;
protected cloner: ICloner; protected cloner: ICloner;
protected questConfig: IQuestConfig; protected questConfig: IQuestConfig;
<<<<<<< HEAD
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, playerService: PlayerService, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, playerService: PlayerService, configServer: ConfigServer, cloner: ICloner);
=======
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get status of a quest in player profile by its id * Get status of a quest in player profile by its id
* @param pmcData Profile to search * @param pmcData Profile to search
@ -172,7 +186,11 @@ export declare class QuestHelper {
/** /**
* Adjust quest money rewards by passed in multiplier * Adjust quest money rewards by passed in multiplier
* @param quest Quest to multiple money rewards * @param quest Quest to multiple money rewards
<<<<<<< HEAD
* @param bonusPercent Pecent to adjust money rewards by * @param bonusPercent Pecent to adjust money rewards by
=======
* @param bonusPercent Value to adjust money rewards by
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
* @param questStatus Status of quest to apply money boost to rewards of * @param questStatus Status of quest to apply money boost to rewards of
* @returns Updated quest * @returns Updated quest
*/ */
@ -320,6 +338,7 @@ export declare class QuestHelper {
* @returns Hours item will be available for * @returns Hours item will be available for
*/ */
getMailItemRedeemTimeHoursForProfile(pmcData: IPmcData): number; getMailItemRedeemTimeHoursForProfile(pmcData: IPmcData): number;
<<<<<<< HEAD
completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse;
/** /**
* Handle client/quest/list * Handle client/quest/list
@ -387,4 +406,6 @@ export declare class QuestHelper {
* @returns true if quest can be seen/accepted by player of defined level * @returns true if quest can be seen/accepted by player of defined level
*/ */
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean; protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -2,7 +2,11 @@ import { HandbookHelper } from "@spt/helpers/HandbookHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { TraderAssortHelper } from "@spt/helpers/TraderAssortHelper"; import { TraderAssortHelper } from "@spt/helpers/TraderAssortHelper";
import { UtilityHelper } from "@spt/helpers/UtilityHelper"; import { UtilityHelper } from "@spt/helpers/UtilityHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader"; import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
import { ISearchRequestData } from "@spt/models/eft/ragfair/ISearchRequestData"; import { ISearchRequestData } from "@spt/models/eft/ragfair/ISearchRequestData";
import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig"; import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";

View File

@ -9,15 +9,24 @@ import { RagfairServerHelper } from "@spt/helpers/RagfairServerHelper";
import { RagfairSortHelper } from "@spt/helpers/RagfairSortHelper"; import { RagfairSortHelper } from "@spt/helpers/RagfairSortHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader"; import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer"; import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer";
import { ISearchRequestData } from "@spt/models/eft/ragfair/ISearchRequestData"; import { ISearchRequestData } from "@spt/models/eft/ragfair/ISearchRequestData";
<<<<<<< HEAD
import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig"; import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig";
import { IRagfairConfig, ITieredFlea } from "@spt/models/spt/config/IRagfairConfig"; import { IRagfairConfig, ITieredFlea } from "@spt/models/spt/config/IRagfairConfig";
=======
import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig";
import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
@ -56,7 +65,10 @@ export declare class RagfairOfferHelper {
protected static goodSoldTemplate: string; protected static goodSoldTemplate: string;
protected ragfairConfig: IRagfairConfig; protected ragfairConfig: IRagfairConfig;
protected questConfig: IQuestConfig; protected questConfig: IQuestConfig;
<<<<<<< HEAD
protected botConfig: IBotConfig; protected botConfig: IBotConfig;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, traderHelper: TraderHelper, saveServer: SaveServer, itemHelper: ItemHelper, botHelper: BotHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, localeService: LocaleService, localisationService: LocalisationService, mailSendService: MailSendService, configServer: ConfigServer); constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, traderHelper: TraderHelper, saveServer: SaveServer, itemHelper: ItemHelper, botHelper: BotHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, localeService: LocaleService, localisationService: LocalisationService, mailSendService: MailSendService, configServer: ConfigServer);
/** /**
* Passthrough to ragfairOfferService.getOffers(), get flea offers a player should see * Passthrough to ragfairOfferService.getOffers(), get flea offers a player should see
@ -139,9 +151,15 @@ export declare class RagfairOfferHelper {
/** /**
* Count up all rootitem StackObjectsCount properties of an array of items * Count up all rootitem StackObjectsCount properties of an array of items
* @param itemsInInventoryToList items to sum up * @param itemsInInventoryToList items to sum up
<<<<<<< HEAD
* @returns Total stack count * @returns Total stack count
*/ */
getTotalStackCountSize(itemsInInventoryToList: IItem[][]): number; getTotalStackCountSize(itemsInInventoryToList: IItem[][]): number;
=======
* @returns Total count
*/
getTotalStackCountSize(itemsInInventoryToList: Item[][]): number;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Add amount to players ragfair rating * Add amount to players ragfair rating
* @param sessionId Profile to update * @param sessionId Profile to update

View File

@ -1,4 +1,8 @@
<<<<<<< HEAD
import { ISellResult } from "@spt/models/eft/ragfair/IRagfairOffer"; import { ISellResult } from "@spt/models/eft/ragfair/IRagfairOffer";
=======
import { SellResult } from "@spt/models/eft/ragfair/IRagfairOffer";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig"; import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
@ -28,5 +32,9 @@ export declare class RagfairSellHelper {
* @param sellInOneGo All items listed get sold at once * @param sellInOneGo All items listed get sold at once
* @returns Array of purchases of item(s) listed * @returns Array of purchases of item(s) listed
*/ */
<<<<<<< HEAD
rollForSale(sellChancePercent: number, itemSellCount: number, sellInOneGo?: boolean): ISellResult[]; rollForSale(sellChancePercent: number, itemSellCount: number, sellInOneGo?: boolean): ISellResult[];
=======
rollForSale(sellChancePercent: number, itemSellCount: number, sellInOneGo?: boolean): SellResult[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -1,7 +1,11 @@
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig"; import { IQuestConfig } from "@spt/models/spt/config/IQuestConfig";
import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig"; import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";

View File

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

View File

@ -1,5 +1,10 @@
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { IProps, ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; import { IProps, ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem, Props } from "@spt/models/eft/common/tables/ITemplateItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IRepairConfig } from "@spt/models/spt/config/IRepairConfig"; import { IRepairConfig } from "@spt/models/spt/config/IRepairConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";

View File

@ -1,8 +1,15 @@
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
export interface IOwnerInventoryItems { export interface IOwnerInventoryItems {
from: IItem[]; from: IItem[];
to: IItem[]; to: IItem[];
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
export interface OwnerInventoryItems {
from: Item[];
to: Item[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
sameInventory: boolean; sameInventory: boolean;
isMail: boolean; isMail: boolean;
} }

View File

@ -3,7 +3,11 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
import { TraderAssortHelper } from "@spt/helpers/TraderAssortHelper"; import { TraderAssortHelper } from "@spt/helpers/TraderAssortHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData";
import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData"; import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData";
@ -13,7 +17,10 @@ import { ILogger } from "@spt/models/spt/utils/ILogger";
import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
import { ConfigServer } from "@spt/servers/ConfigServer"; import { ConfigServer } from "@spt/servers/ConfigServer";
import { RagfairServer } from "@spt/servers/RagfairServer"; import { RagfairServer } from "@spt/servers/RagfairServer";
<<<<<<< HEAD
import { DatabaseService } from "@spt/services/DatabaseService"; import { DatabaseService } from "@spt/services/DatabaseService";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { FenceService } from "@spt/services/FenceService"; import { FenceService } from "@spt/services/FenceService";
import { LocalisationService } from "@spt/services/LocalisationService"; import { LocalisationService } from "@spt/services/LocalisationService";
import { PaymentService } from "@spt/services/PaymentService"; import { PaymentService } from "@spt/services/PaymentService";
@ -22,7 +29,10 @@ import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
import { ICloner } from "@spt/utils/cloners/ICloner"; import { ICloner } from "@spt/utils/cloners/ICloner";
export declare class TradeHelper { export declare class TradeHelper {
protected logger: ILogger; protected logger: ILogger;
<<<<<<< HEAD
protected databaseService: DatabaseService; protected databaseService: DatabaseService;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
protected eventOutputHolder: EventOutputHolder; protected eventOutputHolder: EventOutputHolder;
protected traderHelper: TraderHelper; protected traderHelper: TraderHelper;
protected itemHelper: ItemHelper; protected itemHelper: ItemHelper;
@ -38,7 +48,11 @@ export declare class TradeHelper {
protected cloner: ICloner; protected cloner: ICloner;
protected traderConfig: ITraderConfig; protected traderConfig: ITraderConfig;
protected inventoryConfig: IInventoryConfig; protected inventoryConfig: IInventoryConfig;
<<<<<<< HEAD
constructor(logger: ILogger, databaseService: DatabaseService, eventOutputHolder: EventOutputHolder, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, localisationService: LocalisationService, httpResponse: HttpResponseUtil, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer, traderAssortHelper: TraderAssortHelper, traderPurchasePersisterService: TraderPurchasePersisterService, configServer: ConfigServer, cloner: ICloner); constructor(logger: ILogger, databaseService: DatabaseService, eventOutputHolder: EventOutputHolder, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, localisationService: LocalisationService, httpResponse: HttpResponseUtil, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer, traderAssortHelper: TraderAssortHelper, traderPurchasePersisterService: TraderPurchasePersisterService, configServer: ConfigServer, cloner: ICloner);
=======
constructor(logger: ILogger, eventOutputHolder: EventOutputHolder, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, localisationService: LocalisationService, httpResponse: HttpResponseUtil, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer, traderAssortHelper: TraderAssortHelper, traderPurchasePersisterService: TraderPurchasePersisterService, configServer: ConfigServer, cloner: ICloner);
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Buy item from flea or trader * Buy item from flea or trader
* @param pmcData Player profile * @param pmcData Player profile
@ -68,5 +82,9 @@ export declare class TradeHelper {
* @param assortId Id of assort being purchased * @param assortId Id of assort being purchased
* @param count How many of the item are being bought * @param count How many of the item are being bought
*/ */
<<<<<<< HEAD
protected checkPurchaseIsWithinTraderItemLimit(sessionId: string, pmcData: IPmcData, traderId: string, assortBeingPurchased: IItem, assortId: string, count: number): void; protected checkPurchaseIsWithinTraderItemLimit(sessionId: string, pmcData: IPmcData, traderId: string, assortBeingPurchased: IItem, assortId: string, count: number): void;
=======
protected checkPurchaseIsWithinTraderItemLimit(sessionId: string, pmcData: IPmcData, traderId: string, assortBeingPurchased: Item, assortId: string, count: number): void;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }

View File

@ -4,7 +4,11 @@ import { AssortHelper } from "@spt/helpers/AssortHelper";
import { PaymentHelper } from "@spt/helpers/PaymentHelper"; import { PaymentHelper } from "@spt/helpers/PaymentHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { TraderHelper } from "@spt/helpers/TraderHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ITrader, ITraderAssort } from "@spt/models/eft/common/tables/ITrader"; import { ITrader, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig"; import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
import { ILogger } from "@spt/models/spt/utils/ILogger"; import { ILogger } from "@spt/models/spt/utils/ILogger";
@ -54,6 +58,12 @@ export declare class TraderAssortHelper {
* @param itemsTplsToRemove Item TPLs the assort should not have * @param itemsTplsToRemove Item TPLs the assort should not have
*/ */
protected removeItemsFromAssort(assortToFilter: ITraderAssort, itemsTplsToRemove: string[]): void; protected removeItemsFromAssort(assortToFilter: ITraderAssort, itemsTplsToRemove: string[]): void;
/**
* Given the blacklist provided, remove root items from assort
* @param assortToFilter Trader assort to modify
* @param itemsTplsToRemove Item TPLs the assort should not have
*/
protected removeItemsFromAssort(assortToFilter: ITraderAssort, itemsTplsToRemove: string[]): void;
/** /**
* Reset every traders root item `BuyRestrictionCurrent` property to 0 * Reset every traders root item `BuyRestrictionCurrent` property to 0
* @param assortItems Items to adjust * @param assortItems Items to adjust

View File

@ -2,9 +2,15 @@ import { HandbookHelper } from "@spt/helpers/HandbookHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ItemHelper } from "@spt/helpers/ItemHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
import { IProfileTraderTemplate } from "@spt/models/eft/common/tables/IProfileTemplate"; import { IProfileTraderTemplate } from "@spt/models/eft/common/tables/IProfileTemplate";
import { ITraderAssort, ITraderBase, ITraderLoyaltyLevel } from "@spt/models/eft/common/tables/ITrader"; import { ITraderAssort, ITraderBase, ITraderLoyaltyLevel } from "@spt/models/eft/common/tables/ITrader";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ProfileTraderTemplate } from "@spt/models/eft/common/tables/IProfileTemplate";
import { ITraderAssort, ITraderBase, LoyaltyLevel } from "@spt/models/eft/common/tables/ITrader";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
import { Traders } from "@spt/models/enums/Traders"; import { Traders } from "@spt/models/enums/Traders";
import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig"; import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
@ -39,7 +45,11 @@ export declare class TraderHelper {
* @param sessionID Players id * @param sessionID Players id
* @returns Trader base * @returns Trader base
*/ */
<<<<<<< HEAD
getTrader(traderID: string, sessionID: string): ITraderBase | any; getTrader(traderID: string, sessionID: string): ITraderBase | any;
=======
getTrader(traderID: string, sessionID: string): ITraderBase | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Get all assort data for a particular trader * Get all assort data for a particular trader
* @param traderId Trader to get assorts for * @param traderId Trader to get assorts for
@ -52,7 +62,11 @@ export declare class TraderHelper {
* @param assortId Id of assort to find * @param assortId Id of assort to find
* @returns Item object * @returns Item object
*/ */
<<<<<<< HEAD
getTraderAssortItemByAssortId(traderId: string, assortId: string): IItem | undefined; getTraderAssortItemByAssortId(traderId: string, assortId: string): IItem | undefined;
=======
getTraderAssortItemByAssortId(traderId: string, assortId: string): Item | undefined;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Reset a profiles trader data back to its initial state as seen by a level 1 player * Reset a profiles trader data back to its initial state as seen by a level 1 player
* Does NOT take into account different profile levels * Does NOT take into account different profile levels
@ -73,6 +87,12 @@ export declare class TraderHelper {
* @param suitIds Suit Ids to add * @param suitIds Suit Ids to add
*/ */
protected addSuitsToProfile(fullProfile: ISptProfile, suitIds: string[]): void; protected addSuitsToProfile(fullProfile: ISptProfile, suitIds: string[]): void;
/**
* Add an array of suit ids to a profiles suit array, no duplicates
* @param fullProfile Profile to add to
* @param suitIds Suit Ids to add
*/
protected addSuitsToProfile(fullProfile: ISptProfile, suitIds: string[]): void;
/** /**
* Alter a traders unlocked status * Alter a traders unlocked status
* @param traderId Trader to alter * @param traderId Trader to alter
@ -118,7 +138,11 @@ export declare class TraderHelper {
* @returns Time in seconds * @returns Time in seconds
*/ */
getTraderUpdateSeconds(traderId: string): number | undefined; getTraderUpdateSeconds(traderId: string): number | undefined;
<<<<<<< HEAD
getLoyaltyLevel(traderID: string, pmcData: IPmcData): ITraderLoyaltyLevel; getLoyaltyLevel(traderID: string, pmcData: IPmcData): ITraderLoyaltyLevel;
=======
getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
/** /**
* Store the purchase of an assort from a trader in the player profile * Store the purchase of an assort from a trader in the player profile
* @param sessionID Session id * @param sessionID Session id
@ -138,6 +162,13 @@ export declare class TraderHelper {
* @returns buyRestrictionMax value * @returns buyRestrictionMax value
*/ */
getAccountTypeAdjustedTraderPurchaseLimit(buyRestrictionMax: number, gameVersion: string): number; getAccountTypeAdjustedTraderPurchaseLimit(buyRestrictionMax: number, gameVersion: string): number;
/**
* EoD and Unheard get a 20% bonus to personal trader limit purchases
* @param buyRestrictionMax Existing value from trader item
* @param gameVersion Profiles game version
* @returns buyRestrictionMax value
*/
getAccountTypeAdjustedTraderPurchaseLimit(buyRestrictionMax: number, gameVersion: string): number;
/** /**
* Get the highest rouble price for an item from traders * Get the highest rouble price for an item from traders
* UNUSED * UNUSED

View File

@ -1,17 +0,0 @@
import { DependencyContainer } from "tsyringe";
import { ModTypeCheck } from "@spt-aki/loaders/ModTypeCheck";
import { PreAkiModLoader } from "@spt-aki/loaders/PreAkiModLoader";
import { IModLoader } from "@spt-aki/models/spt/mod/IModLoader";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { LocalisationService } from "@spt-aki/services/LocalisationService";
export declare class PostAkiModLoader implements IModLoader {
protected logger: ILogger;
protected preAkiModLoader: PreAkiModLoader;
protected localisationService: LocalisationService;
protected modTypeCheck: ModTypeCheck;
protected container: DependencyContainer;
constructor(logger: ILogger, preAkiModLoader: PreAkiModLoader, localisationService: LocalisationService, modTypeCheck: ModTypeCheck);
getModPath(mod: string): string;
load(): Promise<void>;
protected executeModsAsync(): Promise<void>;
}

View File

@ -1,99 +0,0 @@
import { DependencyContainer } from "tsyringe";
import { ModLoadOrder } from "@spt-aki/loaders/ModLoadOrder";
import { ModTypeCheck } from "@spt-aki/loaders/ModTypeCheck";
import { ModDetails } from "@spt-aki/models/eft/profile/IAkiProfile";
import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig";
import { IModLoader } from "@spt-aki/models/spt/mod/IModLoader";
import { IPackageJsonData } from "@spt-aki/models/spt/mod/IPackageJsonData";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { LocalisationService } from "@spt-aki/services/LocalisationService";
import { ModCompilerService } from "@spt-aki/services/ModCompilerService";
import { JsonUtil } from "@spt-aki/utils/JsonUtil";
import { VFS } from "@spt-aki/utils/VFS";
export declare class PreAkiModLoader implements IModLoader {
protected logger: ILogger;
protected vfs: VFS;
protected jsonUtil: JsonUtil;
protected modCompilerService: ModCompilerService;
protected localisationService: LocalisationService;
protected configServer: ConfigServer;
protected modLoadOrder: ModLoadOrder;
protected modTypeCheck: ModTypeCheck;
protected container: DependencyContainer;
protected readonly basepath = "user/mods/";
protected readonly modOrderPath = "user/mods/order.json";
protected order: Record<string, number>;
protected imported: Record<string, IPackageJsonData>;
protected akiConfig: ICoreConfig;
protected serverDependencies: Record<string, string>;
protected skippedMods: Set<string>;
constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, localisationService: LocalisationService, configServer: ConfigServer, modLoadOrder: ModLoadOrder, modTypeCheck: ModTypeCheck);
load(container: DependencyContainer): Promise<void>;
/**
* Returns a list of mods with preserved load order
* @returns Array of mod names in load order
*/
getImportedModsNames(): string[];
getImportedModDetails(): Record<string, IPackageJsonData>;
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
getModPath(mod: string): string;
protected importModsAsync(): Promise<void>;
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
/**
* Check for duplicate mods loaded, show error if any
* @param modPackageData map of mod package.json data
*/
protected checkForDuplicateMods(modPackageData: Map<string, IPackageJsonData>): void;
/**
* Returns an array of valid mods.
*
* @param mods mods to validate
* @returns array of mod folder names
*/
protected getValidMods(mods: string[]): string[];
/**
* Get packageJson data for mods
* @param mods mods to get packageJson for
* @returns map <modFolderName - package.json>
*/
protected getModsPackageData(mods: string[]): Map<string, IPackageJsonData>;
/**
* Is the passed in mod compatible with the running server version
* @param mod Mod to check compatibiltiy with AKI
* @returns True if compatible
*/
protected isModCombatibleWithAki(mod: IPackageJsonData): boolean;
/**
* Execute each mod found in this.imported
* @returns void promise
*/
protected executeModsAsync(): Promise<void>;
/**
* Read loadorder.json (create if doesnt exist) and return sorted list of mods
* @returns string array of sorted mod names
*/
sortModsLoadOrder(): string[];
/**
* Compile mod and add into class property "imported"
* @param mod Name of mod to compile/add
*/
protected addModAsync(mod: string, pkg: IPackageJsonData): Promise<void>;
/**
* Checks if a given mod should be loaded or skipped.
*
* @param pkg mod package.json data
* @returns
*/
protected shouldSkipMod(pkg: IPackageJsonData): boolean;
protected autoInstallDependencies(modPath: string, pkg: IPackageJsonData): void;
protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Map<string, IPackageJsonData>): boolean;
protected isModCompatible(mod: IPackageJsonData, loadedMods: Map<string, IPackageJsonData>): boolean;
/**
* Validate a mod passes a number of checks
* @param modName name of mod in /mods/ to validate
* @returns true if valid
*/
protected validMod(modName: string): boolean;
getContainer(): DependencyContainer;
}

View File

@ -1,6 +1,10 @@
import { ModLoadOrder } from "@spt/loaders/ModLoadOrder"; import { ModLoadOrder } from "@spt/loaders/ModLoadOrder";
import { ModTypeCheck } from "@spt/loaders/ModTypeCheck"; import { ModTypeCheck } from "@spt/loaders/ModTypeCheck";
<<<<<<< HEAD
import { IModDetails } from "@spt/models/eft/profile/ISptProfile"; import { IModDetails } from "@spt/models/eft/profile/ISptProfile";
=======
import { ModDetails } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig"; import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
import { IModLoader } from "@spt/models/spt/mod/IModLoader"; import { IModLoader } from "@spt/models/spt/mod/IModLoader";
import { IPackageJsonData } from "@spt/models/spt/mod/IPackageJsonData"; import { IPackageJsonData } from "@spt/models/spt/mod/IPackageJsonData";
@ -36,7 +40,11 @@ export declare class PreSptModLoader implements IModLoader {
*/ */
getImportedModsNames(): string[]; getImportedModsNames(): string[];
getImportedModDetails(): Record<string, IPackageJsonData>; getImportedModDetails(): Record<string, IPackageJsonData>;
<<<<<<< HEAD
getProfileModsGroupedByModName(profileMods: IModDetails[]): IModDetails[]; getProfileModsGroupedByModName(profileMods: IModDetails[]): IModDetails[];
=======
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
getModPath(mod: string): string; getModPath(mod: string): string;
protected importModsAsync(): Promise<void>; protected importModsAsync(): Promise<void>;
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number; protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;

View File

@ -1,5 +1,9 @@
import { Ixyz } from "@spt/models/eft/common/Ixyz"; import { Ixyz } from "@spt/models/eft/common/Ixyz";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export interface IGlobals { export interface IGlobals {
time: number; time: number;
config: IConfig; config: IConfig;
@ -141,7 +145,10 @@ export interface IConfig {
Airdrop: IAirdropGlobalSettings; Airdrop: IAirdropGlobalSettings;
ArmorMaterials: IArmorMaterials; ArmorMaterials: IArmorMaterials;
ArenaEftTransferSettings: IArenaEftTransferSettings; ArenaEftTransferSettings: IArenaEftTransferSettings;
<<<<<<< HEAD
KarmaCalculationSettings: IKarmaCalculationSettings; KarmaCalculationSettings: IKarmaCalculationSettings;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
LegsOverdamage: number; LegsOverdamage: number;
HandsOverdamage: number; HandsOverdamage: number;
StomachOverdamage: number; StomachOverdamage: number;
@ -196,6 +203,7 @@ export interface IConfig {
Ballistic: IBallistic; Ballistic: IBallistic;
RepairSettings: IRepairSettings; RepairSettings: IRepairSettings;
} }
<<<<<<< HEAD
export interface ISeasonActivity { export interface ISeasonActivity {
InfectionHalloween: ISeasonActivityHalloween; InfectionHalloween: ISeasonActivityHalloween;
} }
@ -204,6 +212,8 @@ export interface ISeasonActivityHalloween {
Enabled: boolean; Enabled: boolean;
ZombieBleedMul: number; ZombieBleedMul: number;
} }
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export interface IEnvironmentSetting2 { export interface IEnvironmentSetting2 {
EnvironmentUIData: IEnvironmentUIData; EnvironmentUIData: IEnvironmentUIData;
} }
@ -570,6 +580,7 @@ export interface IBodyParts {
Feet: string; Feet: string;
Hands: string; Hands: string;
} }
<<<<<<< HEAD
export interface IAirdropGlobalSettings { export interface IAirdropGlobalSettings {
ParachuteEndOpenHeight: number; ParachuteEndOpenHeight: number;
ParachuteStartOpenHeight: number; ParachuteStartOpenHeight: number;
@ -594,6 +605,12 @@ export interface IArenaEftTransferSettings {
ArenaEftTransferSettings: IArenaEftTransferSettings; ArenaEftTransferSettings: IArenaEftTransferSettings;
} }
export interface IArenaEftTransferSettings { export interface IArenaEftTransferSettings {
=======
export interface IArenaEftTransferSettings {
ArenaEftTransferSettings: ArenaEftTransferSettings;
}
export interface ArenaEftTransferSettings {
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
ArenaManagerReputationTaxMultiplier: number; ArenaManagerReputationTaxMultiplier: number;
CharismaTaxMultiplier: number; CharismaTaxMultiplier: number;
CreditPriceTaxMultiplier: number; CreditPriceTaxMultiplier: number;
@ -1035,6 +1052,7 @@ export interface IMaxActiveOfferCount {
from: number; from: number;
to: number; to: number;
count: number; count: number;
countForSpecialEditions: number;
} }
export interface IMaxSumForRarity { export interface IMaxSumForRarity {
Common: IRarityMaxSum; Common: IRarityMaxSum;
@ -1232,7 +1250,10 @@ export interface IInsurance {
CoefOfSendingMessageTime: number; CoefOfSendingMessageTime: number;
CoefOfHavingMarkOfUnknown: number; CoefOfHavingMarkOfUnknown: number;
EditionSendingMessageTime: Record<string, IMessageSendTImeMultipler>; EditionSendingMessageTime: Record<string, IMessageSendTImeMultipler>;
<<<<<<< HEAD
OnlyInDeathCase: boolean; OnlyInDeathCase: boolean;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }
export interface IMessageSendTImeMultipler { export interface IMessageSendTImeMultipler {
multiplier: number; multiplier: number;

View File

@ -1,7 +1,14 @@
<<<<<<< HEAD
import { IExit, ILocationBase } from "@spt/models/eft/common/ILocationBase"; import { IExit, ILocationBase } from "@spt/models/eft/common/ILocationBase";
import { IGroupPostion, ILooseLoot } from "@spt/models/eft/common/ILooseLoot"; import { IGroupPostion, ILooseLoot } from "@spt/models/eft/common/ILooseLoot";
import { Ixyz } from "@spt/models/eft/common/Ixyz"; import { Ixyz } from "@spt/models/eft/common/Ixyz";
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Exit, ILocationBase } from "@spt/models/eft/common/ILocationBase";
import { ILooseLoot } from "@spt/models/eft/common/ILooseLoot";
import { Ixyz } from "@spt/models/eft/common/Ixyz";
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export interface ILocation { export interface ILocation {
/** Map meta-data */ /** Map meta-data */
base: ILocationBase; base: ILocationBase;
@ -15,7 +22,11 @@ export interface ILocation {
/** All possible static containers on map + their assign groupings */ /** All possible static containers on map + their assign groupings */
statics: IStaticContainer; statics: IStaticContainer;
/** All possible map extracts */ /** All possible map extracts */
<<<<<<< HEAD
allExtracts: IExit[]; allExtracts: IExit[];
=======
allExtracts: Exit[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }
export interface IStaticContainer { export interface IStaticContainer {
containersGroups: Record<string, IContainerMinMax>; containersGroups: Record<string, IContainerMinMax>;
@ -51,12 +62,21 @@ export interface IStaticPropsBase {
Rotation: Ixyz; Rotation: Ixyz;
IsGroupPosition: boolean; IsGroupPosition: boolean;
IsAlwaysSpawn: boolean; IsAlwaysSpawn: boolean;
<<<<<<< HEAD
GroupPositions: IGroupPostion[]; GroupPositions: IGroupPostion[];
Root: string; Root: string;
Items: IItem[]; Items: IItem[];
} }
export interface IStaticWeaponProps extends IStaticPropsBase { export interface IStaticWeaponProps extends IStaticPropsBase {
Items: IItem[]; Items: IItem[];
=======
GroupPositions: any[];
Root: string;
Items: any[];
}
export interface IStaticWeaponProps extends IStaticPropsBase {
Items: Item[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
} }
export interface IStaticContainerDetails { export interface IStaticContainerDetails {
staticWeapons: IStaticWeaponProps[]; staticWeapons: IStaticWeaponProps[];
@ -76,9 +96,15 @@ export interface IStaticForcedProps {
itemTpl: string; itemTpl: string;
} }
export interface IStaticContainerProps extends IStaticPropsBase { export interface IStaticContainerProps extends IStaticPropsBase {
<<<<<<< HEAD
Items: IStaticItem[]; Items: IStaticItem[];
} }
export interface IStaticItem { export interface IStaticItem {
=======
Items: StaticItem[];
}
export interface StaticItem {
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
_id: string; _id: string;
_tpl: string; _tpl: string;
} }

View File

@ -1,6 +1,9 @@
import { MinMax } from "@spt/models/common/MinMax"; import { MinMax } from "@spt/models/common/MinMax";
import { Ixyz } from "@spt/models/eft/common/Ixyz"; import { Ixyz } from "@spt/models/eft/common/Ixyz";
<<<<<<< HEAD
import { ISpawnpointTemplate } from "./ILooseLoot"; import { ISpawnpointTemplate } from "./ILooseLoot";
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export interface ILocationBase { export interface ILocationBase {
AccessKeys: string[]; AccessKeys: string[];
AccessKeysPvE: string[]; AccessKeysPvE: string[];
@ -25,9 +28,13 @@ export interface ILocationBase {
BotMaxPlayer: number; BotMaxPlayer: number;
/** Is not used in 33420 */ /** Is not used in 33420 */
BotMaxTimePlayer: number; BotMaxTimePlayer: number;
<<<<<<< HEAD
/** Does not even exist in the client in 33420 */ /** Does not even exist in the client in 33420 */
BotMaxPvE: number; BotMaxPvE: number;
/** Weighting on how likely a bot will be Normal difficulty */ /** Weighting on how likely a bot will be Normal difficulty */
=======
BotMaxPvE: number;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
BotNormal: number; BotNormal: number;
/** How many bot slots that need to be open before trying to spawn new bots. */ /** How many bot slots that need to be open before trying to spawn new bots. */
BotSpawnCountStep: number; BotSpawnCountStep: number;
@ -90,7 +97,10 @@ export interface ILocationBase {
EscapeTimeLimit: number; EscapeTimeLimit: number;
EscapeTimeLimitCoop: number; EscapeTimeLimitCoop: number;
EscapeTimeLimitPVE: number; EscapeTimeLimitPVE: number;
<<<<<<< HEAD
Events: ILocationEvents; Events: ILocationEvents;
=======
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
exit_access_time: number; exit_access_time: number;
ForceOnlineRaidInPVE: boolean; ForceOnlineRaidInPVE: boolean;
exit_count: number; exit_count: number;

View File

@ -1,5 +1,9 @@
import { Ixyz } from "@spt/models/eft/common/Ixyz"; import { Ixyz } from "@spt/models/eft/common/Ixyz";
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export interface ILooseLoot { export interface ILooseLoot {
spawnpointCount: ISpawnpointCount; spawnpointCount: ISpawnpointCount;
spawnpointsForced: ISpawnpointsForced[]; spawnpointsForced: ISpawnpointsForced[];

View File

@ -1,4 +1,8 @@
<<<<<<< HEAD
import { IItem, IUpd } from "@spt/models/eft/common/tables/IItem"; import { IItem, IUpd } from "@spt/models/eft/common/tables/IItem";
=======
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { IPmcDataRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; import { IPmcDataRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer"; import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer";
import { BonusSkillType } from "@spt/models/enums/BonusSkillType"; import { BonusSkillType } from "@spt/models/enums/BonusSkillType";
@ -35,7 +39,11 @@ export interface IBotBase {
CarExtractCounts: Record<string, number>; CarExtractCounts: Record<string, number>;
CoopExtractCounts: Record<string, number>; CoopExtractCounts: Record<string, number>;
SurvivorClass: SurvivorClass; SurvivorClass: SurvivorClass;
<<<<<<< HEAD
WishList: Record<string, number>; WishList: Record<string, number>;
=======
WishList: string[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
moneyTransferLimitData: IMoneyTransferLimits; moneyTransferLimitData: IMoneyTransferLimits;
/** SPT specific property used during bot generation in raid */ /** SPT specific property used during bot generation in raid */
sptIsPmc?: boolean; sptIsPmc?: boolean;
@ -85,7 +93,12 @@ export interface IInfo {
BannedState: boolean; BannedState: boolean;
BannedUntil: number; BannedUntil: number;
IsStreamerModeAvailable: boolean; IsStreamerModeAvailable: boolean;
<<<<<<< HEAD
lastCompletedEvent?: ILastCompleted; lastCompletedEvent?: ILastCompleted;
=======
lastCompletedEvent?: LastCompleted;
SelectedMemberCategory: number;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
isMigratedSkills: boolean; isMigratedSkills: boolean;
} }
export interface IBotInfoSettings { export interface IBotInfoSettings {
@ -178,7 +191,11 @@ export interface Common extends IBaseSkill {
} }
export interface IMastering extends IBaseSkill { export interface IMastering extends IBaseSkill {
} }
<<<<<<< HEAD
export interface IStats { export interface IStats {
=======
export interface Stats {
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
Eft?: IEftStats; Eft?: IEftStats;
} }
export interface IEftStats { export interface IEftStats {
@ -385,9 +402,16 @@ export interface IHideoutItem {
export interface ILastCompleted { export interface ILastCompleted {
$oid: string; $oid: string;
} }
<<<<<<< HEAD
export interface INotes { export interface INotes {
Notes: INote[]; Notes: INote[];
} }
=======
export interface Notes {
Notes: Note[];
}
export type CarExtractCounts = {};
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export declare enum SurvivorClass { export declare enum SurvivorClass {
UNKNOWN = 0, UNKNOWN = 0,
NEUTRALIZER = 1, NEUTRALIZER = 1,

View File

@ -1,5 +1,9 @@
import { MinMax } from "@spt/models/common/MinMax"; import { MinMax } from "@spt/models/common/MinMax";
<<<<<<< HEAD
import { ISkills } from "@spt/models/eft/common/tables/IBotBase"; import { ISkills } from "@spt/models/eft/common/tables/IBotBase";
=======
import { Skills } from "@spt/models/eft/common/tables/IBotBase";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export interface IBotType { export interface IBotType {
appearance: IAppearance; appearance: IAppearance;
chances: IChances; chances: IChances;

View File

@ -2,8 +2,13 @@ export interface ILocationsBase {
locations: ILocations; locations: ILocations;
paths: IPath[]; paths: IPath[];
} }
<<<<<<< HEAD
export type ILocations = {}; export type ILocations = {};
export interface IPath { export interface IPath {
=======
export type Locations = {};
export interface Path {
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
Source: string; Source: string;
Destination: string; Destination: string;
} }

View File

@ -1,59 +0,0 @@
import { Ixyz } from "@spt-aki/models/eft/common/Ixyz";
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
export interface ILootBase {
staticAmmo: Record<string, IStaticAmmoDetails[]>;
staticContainers: Record<string, IStaticContainerDetails>;
staticLoot: Record<string, IStaticLootDetails>;
}
export interface IStaticAmmoDetails {
tpl: string;
relativeProbability: number;
}
export interface IStaticContainerDetails {
staticWeapons: IStaticWeaponProps[];
staticContainers: IStaticContainerData[];
staticForced: IStaticForcedProps[];
}
export interface IStaticContainerData {
probability: number;
template: IStaticContainerProps;
}
export interface IStaticPropsBase {
Id: string;
IsContainer: boolean;
useGravity: boolean;
randomRotation: boolean;
Position: Ixyz;
Rotation: Ixyz;
IsGroupPosition: boolean;
IsAlwaysSpawn: boolean;
GroupPositions: any[];
Root: string;
Items: any[];
}
export interface IStaticWeaponProps extends IStaticPropsBase {
Items: Item[];
}
export interface IStaticContainerProps extends IStaticPropsBase {
Items: StaticItem[];
}
export interface StaticItem {
_id: string;
_tpl: string;
}
export interface IStaticForcedProps {
containerId: string;
itemTpl: string;
}
export interface IStaticLootDetails {
itemcountDistribution: ItemCountDistribution[];
itemDistribution: ItemDistribution[];
}
export interface ItemCountDistribution {
count: number;
relativeProbability: number;
}
export interface ItemDistribution {
tpl: string;
relativeProbability: number;
}

View File

@ -1,5 +1,9 @@
import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { IPmcData } from "@spt/models/eft/common/IPmcData";
<<<<<<< HEAD
import { IDialogue, IUserBuilds } from "@spt/models/eft/profile/ISptProfile"; import { IDialogue, IUserBuilds } from "@spt/models/eft/profile/ISptProfile";
=======
import { Dialogue, IUserBuilds } from "@spt/models/eft/profile/ISptProfile";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
export interface IProfileTemplates { export interface IProfileTemplates {
Standard: IProfileSides; Standard: IProfileSides;
"Left Behind": IProfileSides; "Left Behind": IProfileSides;

View File

@ -1,4 +1,8 @@
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { QuestRewardType } from "@spt/models/enums/QuestRewardType"; import { QuestRewardType } from "@spt/models/enums/QuestRewardType";
import { QuestStatus } from "@spt/models/enums/QuestStatus"; import { QuestStatus } from "@spt/models/enums/QuestStatus";
import { QuestTypeEnum } from "@spt/models/enums/QuestTypeEnum"; import { QuestTypeEnum } from "@spt/models/enums/QuestTypeEnum";

View File

@ -4,7 +4,11 @@ export interface ITemplateItem {
_name: string; _name: string;
_parent: string; _parent: string;
_type: ItemType; _type: ItemType;
<<<<<<< HEAD
_props: IProps; _props: IProps;
=======
_props: Props;
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
_proto?: string; _proto?: string;
} }
export interface IProps { export interface IProps {
@ -477,8 +481,13 @@ export interface ISlot {
_mergeSlotWithChildren?: boolean; _mergeSlotWithChildren?: boolean;
_proto: string; _proto: string;
} }
<<<<<<< HEAD
export interface ISlotProps { export interface ISlotProps {
filters: ISlotFilter[]; filters: ISlotFilter[];
=======
export interface SlotProps {
filters: SlotFilter[];
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
MaxStackCount?: number; MaxStackCount?: number;
} }
export interface ISlotFilter { export interface ISlotFilter {

View File

@ -1,4 +1,8 @@
<<<<<<< HEAD
import { IItem } from "@spt/models/eft/common/tables/IItem"; import { IItem } from "@spt/models/eft/common/tables/IItem";
=======
import { Item } from "@spt/models/eft/common/tables/IItem";
>>>>>>> 8b338f9de36d43ac2ef5da215cdc74d78c8e8a39
import { DogtagExchangeSide } from "@spt/models/enums/DogtagExchangeSide"; import { DogtagExchangeSide } from "@spt/models/enums/DogtagExchangeSide";
import { ITraderServiceModel } from "@spt/models/spt/services/ITraderServiceModel"; import { ITraderServiceModel } from "@spt/models/spt/services/ITraderServiceModel";
export interface ITrader { export interface ITrader {

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