├── .buildignore ├── .editorconfig ├── .gitattributes ├── .github ├── pull_request_template.md └── workflows │ ├── check_circular.yml │ ├── check_types.yml │ └── lint.yml ├── .gitignore ├── Fika-Server.code-workspace ├── LICENSE ├── README.md ├── assets ├── database │ └── locales │ │ ├── global │ │ ├── ch.json │ │ ├── cz.json │ │ ├── en.json │ │ ├── es-mx.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── ge.json │ │ ├── hu.json │ │ ├── it.json │ │ ├── jp.json │ │ ├── kr.json │ │ ├── pl.json │ │ ├── po.json │ │ ├── ro.json │ │ ├── ru.json │ │ ├── sk.json │ │ └── tu.json │ │ └── server │ │ ├── ar.json │ │ ├── cs.json │ │ ├── da.json │ │ ├── de.json │ │ ├── el.json │ │ ├── en.json │ │ ├── es-es.json │ │ ├── fr.json │ │ ├── hi.json │ │ ├── hu.json │ │ ├── id.json │ │ ├── it.json │ │ ├── ja.json │ │ ├── ko.json │ │ ├── lt.json │ │ ├── nl.json │ │ ├── no.json │ │ ├── pl.json │ │ ├── pt-br.json │ │ ├── pt-pt.json │ │ ├── ru.json │ │ ├── sv-se.json │ │ ├── sv.json │ │ ├── tr.json │ │ ├── vi.json │ │ ├── zh-TW.json │ │ └── zh-cn.json ├── images │ └── launcher │ │ ├── bg-senko.png │ │ └── bg.png └── scripts │ └── _TEMPLATE.ps1 ├── biome.json ├── build.mjs ├── cache └── .gitkeep ├── package.json ├── src ├── Fika.ts ├── callbacks │ ├── FikaClientCallbacks.ts │ ├── FikaHeadlessCallbacks.ts │ ├── FikaLocationCallbacks.ts │ ├── FikaNotificationCallbacks.ts │ ├── FikaPresenceCallbacks.ts │ ├── FikaRaidCallbacks.ts │ ├── FikaSendItemCallbacks.ts │ └── FikaUpdateCallbacks.ts ├── controllers │ ├── FikaAchievementController.ts │ ├── FikaClientController.ts │ ├── FikaDialogueController.ts │ ├── FikaHeadlessController.ts │ ├── FikaLocationController.ts │ ├── FikaRaidController.ts │ ├── FikaSendItemController.ts │ └── FikaUpdateController.ts ├── di │ ├── Container.ts │ └── Override.ts ├── helpers │ ├── FikaClientModHashesHelper.ts │ ├── FikaFriendRequestsHelper.ts │ ├── FikaHeadlessHelper.ts │ └── FikaPlayerRelationsHelper.ts ├── mod.ts ├── models │ ├── eft │ │ └── dialog │ │ │ └── IFriendRequestListResponse.ts │ ├── enums │ │ ├── EEFTNotificationIconType.ts │ │ ├── EFikaHeadlessWSMessageTypes.ts │ │ ├── EFikaMatchEndSessionMessages.ts │ │ ├── EFikaMatchStatus.ts │ │ ├── EFikaNotifications.ts │ │ ├── EFikaPlayerPresences.ts │ │ ├── EFikaSide.ts │ │ ├── EFikaTime.ts │ │ └── EHeadlessStatus.ts │ └── fika │ │ ├── IFikaFriendRequests.ts │ │ ├── IFikaMatch.ts │ │ ├── IFikaPlayer.ts │ │ ├── IFikaPlayerRelations.ts │ │ ├── config │ │ ├── IFikaConfig.ts │ │ ├── IFikaConfigBackground.ts │ │ ├── IFikaConfigClient.ts │ │ ├── IFikaConfigHeadless.ts │ │ ├── IFikaConfigNatPunchServer.ts │ │ └── IFikaConfigServer.ts │ │ ├── headless │ │ ├── IHeadlessAvailableClients.ts │ │ ├── IHeadlessClientInfo.ts │ │ ├── IHeadlessClients.ts │ │ └── IHeadlessRestartAfterAmountOfRaids.ts │ │ ├── insurance │ │ └── IFikaInsurancePlayer.ts │ │ ├── presence │ │ ├── IFikaPlayerPresence.ts │ │ ├── IFikaRaidPresence.ts │ │ └── IFikaSetPresence.ts │ │ ├── routes │ │ ├── client │ │ │ └── check │ │ │ │ ├── IFikaCheckModRequestData.ts │ │ │ │ └── IFikaCheckModResponse.ts │ │ ├── location │ │ │ └── IFikaRaidsResponse.ts │ │ ├── raid │ │ │ ├── IFikaRaidServerIdRequestData.ts │ │ │ ├── create │ │ │ │ ├── IFikaRaidCreateRequestData.ts │ │ │ │ └── IFikaRaidCreateResponse.ts │ │ │ ├── gethost │ │ │ │ └── IFikaRaidGethostResponse.ts │ │ │ ├── getsettings │ │ │ │ └── IFikaRaidSettingsResponse.ts │ │ │ ├── headless │ │ │ │ ├── IStartHeadlessRequest.ts │ │ │ │ └── IStartHeadlessResponse.ts │ │ │ ├── join │ │ │ │ ├── IFikaRaidAddPlayerData.ts │ │ │ │ ├── IFikaRaidJoinRequestData.ts │ │ │ │ └── IFikaRaidJoinResponse.ts │ │ │ └── leave │ │ │ │ └── IFikaRaidLeaveRequestData.ts │ │ ├── senditem │ │ │ ├── IFikaSendItemRequestData.ts │ │ │ └── availablereceivers │ │ │ │ ├── IFikaSenditemAvailablereceiversRequestData.ts │ │ │ │ └── IFikaSenditemAvailablereceiversResponse.ts │ │ └── update │ │ │ ├── IFikaUpdatePingRequestData.ts │ │ │ ├── IFikaUpdatePlayerspawnRequestData.ts │ │ │ ├── IFikaUpdateSetStatusRequestData.ts │ │ │ └── IFikaUpdateSethostRequestData.ts │ │ └── websocket │ │ ├── IFikaHeadlessBase.ts │ │ ├── IFikaNotificationBase.ts │ │ ├── headless │ │ ├── IHeadlessRequesterJoinRaid.ts │ │ └── IHeadlessStartRaid.ts │ │ └── notifications │ │ ├── IPushNotification.ts │ │ ├── IReceivedSentItemNotification.ts │ │ └── IStartRaidNotification.ts ├── overrides │ ├── Overrider.ts │ ├── callbacks │ │ ├── ClientLogCallbacks.ts │ │ └── DialogueCallbacks.ts │ ├── controllers │ │ ├── AchievementController.ts │ │ ├── DialogueController.ts │ │ └── ProfileController.ts │ ├── other │ │ └── Locales.ts │ ├── routers │ │ └── HttpRouter.ts │ └── services │ │ └── LocationLifecycleService.ts ├── routers │ ├── item_events │ │ └── FikaItemEventRouter.ts │ └── static │ │ ├── FikaClientStaticRouter.ts │ │ ├── FikaHeadlessStaticRouter.ts │ │ ├── FikaLocationStaticRouter.ts │ │ ├── FikaNotificationStaticRouter.ts │ │ ├── FikaPresenceStaticRouter.ts │ │ ├── FikaRaidStaticRouter.ts │ │ ├── FikaSendItemStaticRouter.ts │ │ └── FikaUpdateStaticRouter.ts ├── services │ ├── FikaClientService.ts │ ├── FikaInsuranceService.ts │ ├── FikaMatchService.ts │ ├── FikaPresenceService.ts │ ├── cache │ │ ├── FikaFriendRequestsCacheService.ts │ │ └── FikaPlayerRelationsCacheService.ts │ └── headless │ │ ├── FikaHeadlessProfileService.ts │ │ └── FikaHeadlessService.ts ├── utils │ ├── FikaConfig.ts │ └── FikaServerTools.ts └── websockets │ ├── FikaHeadlessClientWebSocket.ts │ ├── FikaHeadlessRequesterWebSocket.ts │ └── FikaNotificationWebSocket.ts ├── tsconfig.json ├── tsconfig.types.json └── types ├── ErrorHandler.d.ts ├── Program.d.ts ├── ProgramStatics.d.ts ├── callbacks ├── AchievementCallbacks.d.ts ├── BotCallbacks.d.ts ├── BuildsCallbacks.d.ts ├── BundleCallbacks.d.ts ├── ClientLogCallbacks.d.ts ├── CustomizationCallbacks.d.ts ├── DataCallbacks.d.ts ├── DialogueCallbacks.d.ts ├── GameCallbacks.d.ts ├── HandbookCallbacks.d.ts ├── HealthCallbacks.d.ts ├── HideoutCallbacks.d.ts ├── HttpCallbacks.d.ts ├── InraidCallbacks.d.ts ├── InsuranceCallbacks.d.ts ├── InventoryCallbacks.d.ts ├── ItemEventCallbacks.d.ts ├── LauncherCallbacks.d.ts ├── LocationCallbacks.d.ts ├── MatchCallbacks.d.ts ├── ModCallbacks.d.ts ├── NoteCallbacks.d.ts ├── NotifierCallbacks.d.ts ├── PresetCallbacks.d.ts ├── PrestigeCallbacks.d.ts ├── ProfileCallbacks.d.ts ├── QuestCallbacks.d.ts ├── RagfairCallbacks.d.ts ├── RepairCallbacks.d.ts ├── SaveCallbacks.d.ts ├── TradeCallbacks.d.ts ├── TraderCallbacks.d.ts ├── WeatherCallbacks.d.ts └── WishlistCallbacks.d.ts ├── context ├── ApplicationContext.d.ts ├── ContextVariable.d.ts └── ContextVariableType.d.ts ├── controllers ├── AchievementController.d.ts ├── BotController.d.ts ├── BuildController.d.ts ├── ClientLogController.d.ts ├── CustomizationController.d.ts ├── DialogueController.d.ts ├── GameController.d.ts ├── HandbookController.d.ts ├── HealthController.d.ts ├── HideoutController.d.ts ├── InraidController.d.ts ├── InsuranceController.d.ts ├── InventoryController.d.ts ├── LauncherController.d.ts ├── LocationController.d.ts ├── MatchController.d.ts ├── NoteController.d.ts ├── NotifierController.d.ts ├── PresetController.d.ts ├── PrestigeController.d.ts ├── ProfileController.d.ts ├── QuestController.d.ts ├── RagfairController.d.ts ├── RepairController.d.ts ├── RepeatableQuestController.d.ts ├── TradeController.d.ts ├── TraderController.d.ts ├── WeatherController.d.ts └── WishlistController.d.ts ├── di ├── Container.d.ts ├── OnLoad.d.ts ├── OnUpdate.d.ts ├── Router.d.ts └── Serializer.d.ts ├── entry └── run.d.ts ├── generators ├── BotEquipmentModGenerator.d.ts ├── BotGenerator.d.ts ├── BotInventoryGenerator.d.ts ├── BotLevelGenerator.d.ts ├── BotLootGenerator.d.ts ├── BotWeaponGenerator.d.ts ├── FenceBaseAssortGenerator.d.ts ├── LocationLootGenerator.d.ts ├── LootGenerator.d.ts ├── PMCLootGenerator.d.ts ├── PlayerScavGenerator.d.ts ├── PmcWaveGenerator.d.ts ├── RagfairAssortGenerator.d.ts ├── RagfairOfferGenerator.d.ts ├── RepeatableQuestGenerator.d.ts ├── RepeatableQuestRewardGenerator.d.ts ├── ScavCaseRewardGenerator.d.ts ├── WeatherGenerator.d.ts └── weapongen │ ├── IInventoryMagGen.d.ts │ ├── InventoryMagGen.d.ts │ └── implementations │ ├── BarrelInventoryMagGen.d.ts │ ├── ExternalInventoryMagGen.d.ts │ ├── InternalMagazineInventoryMagGen.d.ts │ └── UbglExternalMagGen.d.ts ├── helpers ├── AssortHelper.d.ts ├── BotDifficultyHelper.d.ts ├── BotGeneratorHelper.d.ts ├── BotHelper.d.ts ├── BotWeaponGeneratorHelper.d.ts ├── ContainerHelper.d.ts ├── Dialogue │ ├── AbstractDialogueChatBot.d.ts │ ├── Commando │ │ ├── IChatCommand.d.ts │ │ ├── SptCommandoCommands.d.ts │ │ └── SptCommands │ │ │ ├── GiveCommand │ │ │ ├── GiveSptCommand.d.ts │ │ │ └── SavedCommand.d.ts │ │ │ ├── ISptCommand.d.ts │ │ │ ├── ProfileCommand │ │ │ └── ProfileSptCommand.d.ts │ │ │ └── TraderCommand │ │ │ └── TraderSptCommand.d.ts │ ├── CommandoDialogueChatBot.d.ts │ ├── IDialogueChatBot.d.ts │ └── SptDialogueChatBot.d.ts ├── DialogueHelper.d.ts ├── DurabilityLimitsHelper.d.ts ├── GameEventHelper.d.ts ├── HandbookHelper.d.ts ├── HealthHelper.d.ts ├── HideoutHelper.d.ts ├── HttpServerHelper.d.ts ├── InRaidHelper.d.ts ├── InventoryHelper.d.ts ├── ItemHelper.d.ts ├── NotificationSendHelper.d.ts ├── NotifierHelper.d.ts ├── PaymentHelper.d.ts ├── PresetHelper.d.ts ├── PrestigeHelper.d.ts ├── ProbabilityHelper.d.ts ├── ProfileHelper.d.ts ├── QuestConditionHelper.d.ts ├── QuestHelper.d.ts ├── QuestRewardHelper.d.ts ├── RagfairHelper.d.ts ├── RagfairOfferHelper.d.ts ├── RagfairSellHelper.d.ts ├── RagfairServerHelper.d.ts ├── RagfairSortHelper.d.ts ├── RepairHelper.d.ts ├── RepeatableQuestHelper.d.ts ├── RewardHelper.d.ts ├── SecureContainerHelper.d.ts ├── TradeHelper.d.ts ├── TraderAssortHelper.d.ts ├── TraderHelper.d.ts ├── UtilityHelper.d.ts ├── WeatherHelper.d.ts └── WeightedRandomHelper.d.ts ├── loaders ├── BundleLoader.d.ts ├── ModLoadOrder.d.ts ├── ModTypeCheck.d.ts ├── PostDBModLoader.d.ts ├── PostSptModLoader.d.ts └── PreSptModLoader.d.ts ├── models ├── common │ └── MinMax.d.ts ├── eft │ ├── bot │ │ ├── IGenerateBotsRequestData.d.ts │ │ └── IRandomisedBotLevelResult.d.ts │ ├── builds │ │ └── ISetMagazineRequest.d.ts │ ├── common │ │ ├── IEmptyRequestData.d.ts │ │ ├── IGlobals.d.ts │ │ ├── ILocation.d.ts │ │ ├── ILocationBase.d.ts │ │ ├── ILocationsSourceDestinationBase.d.ts │ │ ├── ILooseLoot.d.ts │ │ ├── IMetricsTableData.d.ts │ │ ├── IPmcData.d.ts │ │ ├── Ixyz.d.ts │ │ ├── request │ │ │ ├── IBaseInteractionRequestData.d.ts │ │ │ └── IUIDRequestData.d.ts │ │ └── tables │ │ │ ├── IAchievement.d.ts │ │ │ ├── IBotBase.d.ts │ │ │ ├── IBotCore.d.ts │ │ │ ├── IBotType.d.ts │ │ │ ├── ICustomisationStorage.d.ts │ │ │ ├── ICustomizationItem.d.ts │ │ │ ├── IHandbookBase.d.ts │ │ │ ├── IItem.d.ts │ │ │ ├── ILocationServices.d.ts │ │ │ ├── ILocationsBase.d.ts │ │ │ ├── IMatch.d.ts │ │ │ ├── IPrestige.d.ts │ │ │ ├── IProfileTemplate.d.ts │ │ │ ├── IQuest.d.ts │ │ │ ├── IRepeatableQuests.d.ts │ │ │ ├── IReward.d.ts │ │ │ ├── ITemplateItem.d.ts │ │ │ └── ITrader.d.ts │ ├── customization │ │ ├── IBuyClothingRequestData.d.ts │ │ ├── IWearClothingRequestData.d.ts │ │ └── iCustomizationSetRequest.d.ts │ ├── dialog │ │ ├── IAcceptFriendRequestData.d.ts │ │ ├── IAddUserGroupMailRequest.d.ts │ │ ├── IChangeGroupMailOwnerRequest.d.ts │ │ ├── IChatServer.d.ts │ │ ├── IClearMailMessageRequest.d.ts │ │ ├── ICreateGroupMailRequest.d.ts │ │ ├── IDeleteFriendRequest.d.ts │ │ ├── IFriendRequestData.d.ts │ │ ├── IFriendRequestSendResponse.d.ts │ │ ├── IGetAllAttachmentsRequestData.d.ts │ │ ├── IGetAllAttachmentsResponse.d.ts │ │ ├── IGetChatServerListRequestData.d.ts │ │ ├── IGetFriendListDataResponse.d.ts │ │ ├── IGetMailDialogInfoRequestData.d.ts │ │ ├── IGetMailDialogListRequestData.d.ts │ │ ├── IGetMailDialogViewRequestData.d.ts │ │ ├── IGetMailDialogViewResponseData.d.ts │ │ ├── IPinDialogRequestData.d.ts │ │ ├── IRemoveDialogRequestData.d.ts │ │ ├── IRemoveMailMessageRequest.d.ts │ │ ├── IRemoveUserGroupMailRequest.d.ts │ │ ├── ISendMessageRequest.d.ts │ │ └── ISetDialogReadRequestData.d.ts │ ├── game │ │ ├── ICheckVersionResponse.d.ts │ │ ├── ICurrentGroupResponse.d.ts │ │ ├── IGameConfigResponse.d.ts │ │ ├── IGameEmptyCrcRequestData.d.ts │ │ ├── IGameKeepAliveResponse.d.ts │ │ ├── IGameLogoutResponseData.d.ts │ │ ├── IGameModeRequestData.d.ts │ │ ├── IGameModeResponse.d.ts │ │ ├── IGameStartResponse.d.ts │ │ ├── IGetItemPricesResponse.d.ts │ │ ├── IGetRaidTimeRequest.d.ts │ │ ├── IGetRaidTimeResponse.d.ts │ │ ├── ISendReportRequest.d.ts │ │ ├── ISendSurveyOpinionRequest.d.ts │ │ ├── IServerDetails.d.ts │ │ ├── ISurveyResponseData.d.ts │ │ └── IVersionValidateRequestData.d.ts │ ├── health │ │ ├── Effect.d.ts │ │ ├── IHealthTreatmentRequestData.d.ts │ │ ├── IOffraidEatRequestData.d.ts │ │ ├── IOffraidHealRequestData.d.ts │ │ ├── ISyncHealthRequestData.d.ts │ │ └── IWorkoutData.d.ts │ ├── hideout │ │ ├── IHandleQTEEventRequestData.d.ts │ │ ├── IHideoutArea.d.ts │ │ ├── IHideoutCancelProductionRequestData.d.ts │ │ ├── IHideoutCircleOfCultistProductionStartRequestData.d.ts │ │ ├── IHideoutContinuousProductionStartRequestData.d.ts │ │ ├── IHideoutCustomisation.d.ts │ │ ├── IHideoutCustomizationApplyRequestData.d.ts │ │ ├── IHideoutCustomizationSetMannequinPoseRequest.d.ts │ │ ├── IHideoutDeleteProductionRequestData.d.ts │ │ ├── IHideoutImproveAreaRequestData.d.ts │ │ ├── IHideoutProduction.d.ts │ │ ├── IHideoutPutItemInRequestData.d.ts │ │ ├── IHideoutScavCaseStartRequestData.d.ts │ │ ├── IHideoutSettingsBase.d.ts │ │ ├── IHideoutSingleProductionStartRequestData.d.ts │ │ ├── IHideoutTakeItemOutRequestData.d.ts │ │ ├── IHideoutTakeProductionRequestData.d.ts │ │ ├── IHideoutToggleAreaRequestData.d.ts │ │ ├── IHideoutUpgradeCompleteRequestData.d.ts │ │ ├── IHideoutUpgradeRequestData.d.ts │ │ ├── IQteData.d.ts │ │ └── IRecordShootingRangePoints.d.ts │ ├── httpResponse │ │ ├── IGetBodyResponseData.d.ts │ │ └── INullResponseData.d.ts │ ├── inRaid │ │ ├── IInsuredItemsData.d.ts │ │ ├── IItemDeliveryRequestData.d.ts │ │ ├── IRegisterPlayerRequestData.d.ts │ │ └── IScavSaveRequestData.d.ts │ ├── insurance │ │ ├── IGetInsuranceCostRequestData.d.ts │ │ ├── IGetInsuranceCostResponseData.d.ts │ │ └── IInsureRequestData.d.ts │ ├── inventory │ │ ├── IAddItemDirectRequest.d.ts │ │ ├── IAddItemRequestData.d.ts │ │ ├── IAddItemTempObject.d.ts │ │ ├── IAddItemsDirectRequest.d.ts │ │ ├── IInventoryAddRequestData.d.ts │ │ ├── IInventoryBaseActionRequestData.d.ts │ │ ├── IInventoryBindRequestData.d.ts │ │ ├── IInventoryCreateMarkerRequestData.d.ts │ │ ├── IInventoryDeleteMarkerRequestData.d.ts │ │ ├── IInventoryEditMarkerRequestData.d.ts │ │ ├── IInventoryExamineRequestData.d.ts │ │ ├── IInventoryFoldRequestData.d.ts │ │ ├── IInventoryMergeRequestData.d.ts │ │ ├── IInventoryMoveRequestData.d.ts │ │ ├── IInventoryReadEncyclopediaRequestData.d.ts │ │ ├── IInventoryRemoveRequestData.d.ts │ │ ├── IInventorySortRequestData.d.ts │ │ ├── IInventorySplitRequestData.d.ts │ │ ├── IInventorySwapRequestData.d.ts │ │ ├── IInventoryTagRequestData.d.ts │ │ ├── IInventoryToggleRequestData.d.ts │ │ ├── IInventoryTransferRequestData.d.ts │ │ ├── IInventoryUnbindRequestData.d.ts │ │ ├── IOpenRandomLootContainerRequestData.d.ts │ │ ├── IPinOrLockItemRequest.d.ts │ │ ├── IRedeemProfileRequestData.d.ts │ │ └── ISetFavoriteItems.d.ts │ ├── itemEvent │ │ ├── IEmptyItemEventRouterResponse.d.ts │ │ ├── IItemEventRouterBase.d.ts │ │ ├── IItemEventRouterRequest.d.ts │ │ └── IItemEventRouterResponse.d.ts │ ├── launcher │ │ ├── IChangeRequestData.d.ts │ │ ├── IGetMiniProfileRequestData.d.ts │ │ ├── ILoginRequestData.d.ts │ │ ├── IMiniProfile.d.ts │ │ ├── IRegisterData.d.ts │ │ └── IRemoveProfileData.d.ts │ ├── location │ │ ├── IAirdropLootResult.d.ts │ │ ├── IGetAirdropLootRequest.d.ts │ │ ├── IGetAirdropLootResponse.d.ts │ │ └── IGetLocationRequestData.d.ts │ ├── match │ │ ├── IEndLocalRaidRequestData.d.ts │ │ ├── IEndOfflineRaidRequestData.d.ts │ │ ├── IGetRaidConfigurationRequestData.d.ts │ │ ├── IGroupCharacter.d.ts │ │ ├── IMatchGroupCurrentResponse.d.ts │ │ ├── IMatchGroupInviteSendRequest.d.ts │ │ ├── IMatchGroupPlayerRemoveRequest.d.ts │ │ ├── IMatchGroupStartGameRequest.d.ts │ │ ├── IMatchGroupStatusRequest.d.ts │ │ ├── IMatchGroupStatusResponse.d.ts │ │ ├── IMatchGroupTransferRequest.d.ts │ │ ├── IProfileStatusRequest.d.ts │ │ ├── IProfileStatusResponse.d.ts │ │ ├── IPutMetricsRequestData.d.ts │ │ ├── IRaidSettings.d.ts │ │ ├── IRequestIdRequest.d.ts │ │ ├── IServer.d.ts │ │ ├── ISessionStatus.d.ts │ │ ├── IStartLocalRaidRequestData.d.ts │ │ ├── IStartLocalRaidResponseData.d.ts │ │ └── IUpdatePingRequestData.d.ts │ ├── notes │ │ └── INoteActionData.d.ts │ ├── notifier │ │ ├── INotifier.d.ts │ │ └── ISelectProfileResponse.d.ts │ ├── presetBuild │ │ ├── IPresetBuildActionRequestData.d.ts │ │ └── IRemoveBuildRequestData.d.ts │ ├── prestige │ │ ├── IGetPrestigeResponse.d.ts │ │ └── IObtainPrestigeRequest.d.ts │ ├── profile │ │ ├── GetProfileStatusResponseData.d.ts │ │ ├── ICompletedAchievementsResponse.d.ts │ │ ├── IConnectResponse.d.ts │ │ ├── ICreateProfileResponse.d.ts │ │ ├── IGetAchievementsResponse.d.ts │ │ ├── IGetOtherProfileRequest.d.ts │ │ ├── IGetOtherProfileResponse.d.ts │ │ ├── IGetProfileSettingsRequest.d.ts │ │ ├── IMessageContentRagfair.d.ts │ │ ├── IProfileChangeNicknameRequestData.d.ts │ │ ├── IProfileChangeVoiceRequestData.d.ts │ │ ├── IProfileCreateRequestData.d.ts │ │ ├── ISearchFriendRequestData.d.ts │ │ ├── ISearchFriendResponse.d.ts │ │ ├── ISptProfile.d.ts │ │ ├── ISystemData.d.ts │ │ ├── IUserDialogInfo.d.ts │ │ └── IValidateNicknameRequestData.d.ts │ ├── quests │ │ ├── IAcceptQuestRequestData.d.ts │ │ ├── ICompleteQuestRequestData.d.ts │ │ ├── IFailQuestRequestData.d.ts │ │ ├── IHandoverQuestRequestData.d.ts │ │ ├── IListQuestsRequestData.d.ts │ │ └── IRepeatableQuestChangeRequest.d.ts │ ├── ragfair │ │ ├── IAddOfferRequestData.d.ts │ │ ├── IExtendOfferRequestData.d.ts │ │ ├── IGetItemPriceResult.d.ts │ │ ├── IGetMarketPriceRequestData.d.ts │ │ ├── IGetOffersResult.d.ts │ │ ├── IGetRagfairOfferByIdRequest.d.ts │ │ ├── IRagfairOffer.d.ts │ │ ├── IRemoveOfferRequestData.d.ts │ │ ├── ISearchRequestData.d.ts │ │ ├── ISendRagfairReportRequestData.d.ts │ │ └── IStorePlayerOfferTaxAmountRequestData.d.ts │ ├── repair │ │ ├── IBaseRepairActionDataRequest.d.ts │ │ ├── IRepairActionDataRequest.d.ts │ │ └── ITraderRepairActionDataRequest.d.ts │ ├── trade │ │ ├── IProcessBaseTradeRequestData.d.ts │ │ ├── IProcessBuyTradeRequestData.d.ts │ │ ├── IProcessRagfairTradeRequestData.d.ts │ │ ├── IProcessSellTradeRequestData.d.ts │ │ └── ISellScavItemsToFenceRequestData.d.ts │ ├── weather │ │ └── IWeatherData.d.ts │ ├── wishlist │ │ ├── IAddToWishlistRequest.d.ts │ │ ├── IChangeWishlistItemCategoryRequest.d.ts │ │ └── IRemoveFromWishlistRequest.d.ts │ └── ws │ │ ├── IWsAid.d.ts │ │ ├── IWsAidNickname.d.ts │ │ ├── IWsChatMessageReceived.d.ts │ │ ├── IWsFriendsListAccept.d.ts │ │ ├── IWsGroupId.d.ts │ │ ├── IWsGroupMatchInviteAccept.d.ts │ │ ├── IWsGroupMatchInviteDecline.d.ts │ │ ├── IWsGroupMatchInviteSend.d.ts │ │ ├── IWsGroupMatchLeaderChanged.d.ts │ │ ├── IWsGroupMatchRaidReady.d.ts │ │ ├── IWsGroupMatchRaidSettings.d.ts │ │ ├── IWsNotificationEvent.d.ts │ │ ├── IWsPing.d.ts │ │ ├── IWsRagfairOfferSold.d.ts │ │ └── IWsUserConfirmed.d.ts ├── enums │ ├── AccountTypes.d.ts │ ├── AirdropType.d.ts │ ├── AmmoTypes.d.ts │ ├── BackendErrorCodes.d.ts │ ├── BaseClasses.d.ts │ ├── BonusSkillType.d.ts │ ├── BonusType.d.ts │ ├── ConfigTypes.d.ts │ ├── ContainerTypes.d.ts │ ├── DateTime.d.ts │ ├── DogtagExchangeSide.d.ts │ ├── ELocationName.d.ts │ ├── EntryType.d.ts │ ├── EquipmentBuildType.d.ts │ ├── EquipmentSlots.d.ts │ ├── ExitStatis.d.ts │ ├── FleaOfferType.d.ts │ ├── GameEditions.d.ts │ ├── GiftSenderType.d.ts │ ├── GiftSentResult.d.ts │ ├── HideoutAreas.d.ts │ ├── HideoutEventActions.d.ts │ ├── ItemAddedResult.d.ts │ ├── ItemEventActions.d.ts │ ├── ItemTpl.d.ts │ ├── MemberCategory.d.ts │ ├── MessageType.d.ts │ ├── ModSpawn.d.ts │ ├── Money.d.ts │ ├── NotificationEventType.d.ts │ ├── PlayerRaidEndState.d.ts │ ├── PlayersSpawnPlace.d.ts │ ├── ProfileStatus.d.ts │ ├── QuestStatus.d.ts │ ├── QuestTypeEnum.d.ts │ ├── RagfairSort.d.ts │ ├── RaidMode.d.ts │ ├── RaidSettings │ │ ├── BotAmount.d.ts │ │ ├── BotDifficulty.d.ts │ │ └── TimeAndWeather │ │ │ ├── CloudinessType.d.ts │ │ │ ├── FogType.d.ts │ │ │ ├── RainType.d.ts │ │ │ ├── TimeFlowType.d.ts │ │ │ └── WindSpeed.d.ts │ ├── RewardType.d.ts │ ├── Season.d.ts │ ├── SeasonalEventType.d.ts │ ├── SideType.d.ts │ ├── SkillTypes.d.ts │ ├── TraderServiceType.d.ts │ ├── Traders.d.ts │ ├── TransitionType.d.ts │ ├── WeaponSkillTypes.d.ts │ ├── Weapons.d.ts │ ├── WeatherType.d.ts │ ├── WildSpawnTypeNumber.d.ts │ ├── WindDirection.d.ts │ └── hideout │ │ ├── CircleRewardType.d.ts │ │ ├── QteActivityType.d.ts │ │ ├── QteEffectType.d.ts │ │ ├── QteResultType.d.ts │ │ ├── QteRewardType.d.ts │ │ ├── QteType.d.ts │ │ └── RequirementType.d.ts ├── external │ ├── HttpFramework.d.ts │ ├── IPostDBLoadMod.d.ts │ ├── IPostDBLoadModAsync.d.ts │ ├── IPostSptLoadMod.d.ts │ ├── IPostSptLoadModAsync.d.ts │ ├── IPreSptLoadMod.d.ts │ ├── IPreSptLoadModAsync.d.ts │ └── tsyringe.d.ts └── spt │ ├── bindings │ └── Route.d.ts │ ├── bots │ ├── BotGenerationDetails.d.ts │ ├── IBotLootCache.d.ts │ ├── IBots.d.ts │ ├── IChooseRandomCompatibleModResult.d.ts │ ├── IFilterPlateModsForSlotByLevelResult.d.ts │ ├── IGenerateEquipmentProperties.d.ts │ ├── IGenerateWeaponRequest.d.ts │ ├── IGenerateWeaponResult.d.ts │ ├── IItemSpawnLimitSettings.d.ts │ └── IModToSpawnRequest.d.ts │ ├── callbacks │ ├── IBotCallbacks.d.ts │ ├── IBundleCallbacks.d.ts │ ├── ICustomizationCallbacks.d.ts │ ├── IDialogueCallbacks.d.ts │ ├── IGameCallbacks.d.ts │ ├── IHandbookCallbacks.d.ts │ ├── IHealthCallbacks.d.ts │ ├── IHideoutCallbacks.d.ts │ ├── IHttpCallbacks.d.ts │ ├── IInsuranceCallbacks.d.ts │ ├── IInventoryCallbacks.d.ts │ ├── IItemEventCallbacks.d.ts │ ├── ILauncherCallbacks.d.ts │ ├── ILocationCallbacks.d.ts │ ├── IModCallbacks.d.ts │ ├── INoteCallbacks.d.ts │ ├── INotifierCallbacks.d.ts │ ├── IPresetBuildCallbacks.d.ts │ ├── IPresetCallbacks.d.ts │ ├── IProfileCallbacks.d.ts │ ├── IQuestCallbacks.d.ts │ ├── IRagfairCallbacks.d.ts │ ├── IRepairCallbacks.d.ts │ ├── ISaveCallbacks.d.ts │ ├── ITradeCallbacks.d.ts │ ├── ITraderCallbacks.d.ts │ └── IWeatherCallbacks.d.ts │ ├── config │ ├── IAirdropConfig.d.ts │ ├── IBackupConfig.d.ts │ ├── IBaseConfig.d.ts │ ├── IBotConfig.d.ts │ ├── IBotDurability.d.ts │ ├── ICoreConfig.d.ts │ ├── IGiftsConfig.d.ts │ ├── IHealthConfig.d.ts │ ├── IHideoutConfig.d.ts │ ├── IHttpConfig.d.ts │ ├── IInRaidConfig.d.ts │ ├── IInsuranceConfig.d.ts │ ├── IInventoryConfig.d.ts │ ├── IItemConfig.d.ts │ ├── ILocaleConfig.d.ts │ ├── ILocationConfig.d.ts │ ├── ILootConfig.d.ts │ ├── ILostOnDeathConfig.d.ts │ ├── IMatchConfig.d.ts │ ├── IPlayerScavConfig.d.ts │ ├── IPmChatResponse.d.ts │ ├── IPmcConfig.d.ts │ ├── IQuestConfig.d.ts │ ├── IRagfairConfig.d.ts │ ├── IRepairConfig.d.ts │ ├── IScavCaseConfig.d.ts │ ├── ISeasonalEventConfig.d.ts │ ├── ITraderConfig.d.ts │ └── IWeatherConfig.d.ts │ ├── controllers │ └── IBotController.d.ts │ ├── dialog │ └── ISendMessageDetails.d.ts │ ├── fence │ ├── ICreateFenceAssortsResult.d.ts │ └── IFenceAssortGenerationValues.d.ts │ ├── generators │ ├── IBotGenerator.d.ts │ ├── ILocationGenerator.d.ts │ ├── IPMCLootGenerator.d.ts │ ├── IRagfairAssortGenerator.d.ts │ └── IRagfairOfferGenerator.d.ts │ ├── hideout │ ├── ICircleCraftDetails.d.ts │ ├── IHideout.d.ts │ └── ScavCaseRewardCountsAndPrices.d.ts │ ├── inventory │ └── IOwnerInventoryItems.d.ts │ ├── location │ └── IRaidChanges.d.ts │ ├── logging │ ├── IClientLogRequest.d.ts │ ├── LogBackgroundColor.d.ts │ ├── LogLevel.d.ts │ ├── LogTextColor.d.ts │ └── SptLogger.d.ts │ ├── mod │ ├── IModLoader.d.ts │ ├── IPackageJsonData.d.ts │ └── NewItemDetails.d.ts │ ├── quests │ └── IGetRepeatableByIdResult.d.ts │ ├── ragfair │ ├── IRagfairServerPrices.d.ts │ └── ITplWithFleaPrice.d.ts │ ├── repeatable │ ├── IQuestRewardValues.d.ts │ └── IQuestTypePool.d.ts │ ├── server │ ├── ExhaustableArray.d.ts │ ├── IDatabaseTables.d.ts │ ├── ILocaleBase.d.ts │ ├── ILocations.d.ts │ ├── IServerBase.d.ts │ └── ISettingsBase.d.ts │ ├── services │ ├── IInsuranceEquipmentPkg.d.ts │ ├── ILootRequest.d.ts │ ├── ITraderServiceModel.d.ts │ └── LootItem.d.ts │ ├── templates │ └── ITemplates.d.ts │ ├── utils │ └── ILogger.d.ts │ └── weather │ └── IGetLocalWeatherResponseData.d.ts ├── routers ├── EventOutputHolder.d.ts ├── HttpRouter.d.ts ├── ImageRouter.d.ts ├── ItemEventRouter.d.ts ├── dynamic │ ├── BotDynamicRouter.d.ts │ ├── BundleDynamicRouter.d.ts │ ├── CustomizationDynamicRouter.d.ts │ ├── DataDynamicRouter.d.ts │ ├── HttpDynamicRouter.d.ts │ ├── InraidDynamicRouter.d.ts │ ├── LocationDynamicRouter.d.ts │ ├── NotifierDynamicRouter.d.ts │ └── TraderDynamicRouter.d.ts ├── item_events │ ├── CustomizationItemEventRouter.d.ts │ ├── HealthItemEventRouter.d.ts │ ├── HideoutItemEventRouter.d.ts │ ├── InsuranceItemEventRouter.d.ts │ ├── InventoryItemEventRouter.d.ts │ ├── NoteItemEventRouter.d.ts │ ├── QuestItemEventRouter.d.ts │ ├── RagfairItemEventRouter.d.ts │ ├── RepairItemEventRouter.d.ts │ ├── TradeItemEventRouter.d.ts │ └── WishlistItemEventRouter.d.ts ├── save_load │ ├── HealthSaveLoadRouter.d.ts │ ├── InraidSaveLoadRouter.d.ts │ ├── InsuranceSaveLoadRouter.d.ts │ └── ProfileSaveLoadRouter.d.ts ├── serializers │ ├── BundleSerializer.d.ts │ ├── ImageSerializer.d.ts │ └── NotifySerializer.d.ts └── static │ ├── AchievementStaticRouter.d.ts │ ├── BotStaticRouter.d.ts │ ├── BuildStaticRouter.d.ts │ ├── BundleStaticRouter.d.ts │ ├── ClientLogStaticRouter.d.ts │ ├── CustomizationStaticRouter.d.ts │ ├── DataStaticRouter.d.ts │ ├── DialogStaticRouter.d.ts │ ├── GameStaticRouter.d.ts │ ├── HealthStaticRouter.d.ts │ ├── InraidStaticRouter.d.ts │ ├── InsuranceStaticRouter.d.ts │ ├── ItemEventStaticRouter.d.ts │ ├── LauncherStaticRouter.d.ts │ ├── LocationStaticRouter.d.ts │ ├── MatchStaticRouter.d.ts │ ├── NotifierStaticRouter.d.ts │ ├── PrestigeStaticRouter.d.ts │ ├── ProfileStaticRouter.d.ts │ ├── QuestStaticRouter.d.ts │ ├── RagfairStaticRouter.d.ts │ ├── TraderStaticRouter.d.ts │ └── WeatherStaticRouter.d.ts ├── servers ├── ConfigServer.d.ts ├── DatabaseServer.d.ts ├── HttpServer.d.ts ├── RagfairServer.d.ts ├── SaveServer.d.ts ├── WebSocketServer.d.ts ├── http │ ├── HttpMethods.d.ts │ ├── IHttpListener.d.ts │ └── SptHttpListener.d.ts └── ws │ ├── IWebSocketConnectionHandler.d.ts │ ├── SPTWebsocket.d.ts │ ├── SptWebSocketConnectionHandler.d.ts │ └── message │ ├── DefaultSptWebSocketMessageHandler.d.ts │ └── ISptWebSocketMessageHandler.d.ts ├── services ├── AirdropService.d.ts ├── BackupService.d.ts ├── BotEquipmentFilterService.d.ts ├── BotEquipmentModPoolService.d.ts ├── BotGenerationCacheService.d.ts ├── BotLootCacheService.d.ts ├── BotNameService.d.ts ├── BotWeaponModLimitService.d.ts ├── CircleOfCultistService.d.ts ├── CreateProfileService.d.ts ├── CustomLocationWaveService.d.ts ├── DatabaseService.d.ts ├── FenceService.d.ts ├── GiftService.d.ts ├── InMemoryCacheService.d.ts ├── InsuranceService.d.ts ├── ItemBaseClassService.d.ts ├── ItemFilterService.d.ts ├── LegacyLocationLifecycleService.d.ts ├── LocaleService.d.ts ├── LocalisationService.d.ts ├── LocationLifecycleService.d.ts ├── MailSendService.d.ts ├── MapMarkerService.d.ts ├── MatchBotDetailsCacheService.d.ts ├── MatchLocationService.d.ts ├── ModCompilerService.d.ts ├── NotificationService.d.ts ├── OpenZoneService.d.ts ├── PaymentService.d.ts ├── PlayerService.d.ts ├── PmcChatResponseService.d.ts ├── PostDbLoadService.d.ts ├── ProfileActivityService.d.ts ├── ProfileFixerService.d.ts ├── RagfairCategoriesService.d.ts ├── RagfairLinkedItemService.d.ts ├── RagfairOfferService.d.ts ├── RagfairPriceService.d.ts ├── RagfairRequiredItemsService.d.ts ├── RagfairTaxService.d.ts ├── RaidTimeAdjustmentService.d.ts ├── RaidWeatherService.d.ts ├── RepairService.d.ts ├── SeasonalEventService.d.ts ├── TraderAssortService.d.ts ├── TraderPurchasePersisterService.d.ts ├── cache │ ├── BundleHashCacheService.d.ts │ └── ModHashCacheService.d.ts └── mod │ ├── CustomItemService.d.ts │ ├── dynamicRouter │ ├── DynamicRouterMod.d.ts │ └── DynamicRouterModService.d.ts │ ├── httpListener │ ├── HttpListenerMod.d.ts │ └── HttpListenerModService.d.ts │ ├── image │ └── ImageRouteService.d.ts │ ├── onLoad │ ├── OnLoadMod.d.ts │ └── OnLoadModService.d.ts │ ├── onUpdate │ ├── OnUpdateMod.d.ts │ └── OnUpdateModService.d.ts │ └── staticRouter │ ├── StaticRouterMod.d.ts │ └── StaticRouterModService.d.ts ├── tools ├── ItemTplGenerator │ ├── ItemTplGenerator.d.ts │ ├── ItemTplGeneratorProgram.d.ts │ └── itemOverrides.d.ts └── ProductionQuestsGen │ ├── ProductionQuestsGen.d.ts │ └── ProductionQuestsGenProgram.d.ts └── utils ├── App.d.ts ├── CompareUtil.d.ts ├── DatabaseImporter.d.ts ├── EncodingUtil.d.ts ├── FileSystem.d.ts ├── FileSystemSync.d.ts ├── HashUtil.d.ts ├── HttpFileUtil.d.ts ├── HttpResponseUtil.d.ts ├── ImporterUtil.d.ts ├── JsonUtil.d.ts ├── MathUtil.d.ts ├── ObjectId.d.ts ├── ProgressWriter.d.ts ├── RagfairOfferHolder.d.ts ├── RandomUtil.d.ts ├── TimeUtil.d.ts ├── Timer.d.ts ├── Watermark.d.ts ├── cloners ├── ICloner.d.ts ├── JsonCloner.d.ts ├── RecursiveCloner.d.ts └── StructuredCloner.d.ts ├── collections └── lists │ ├── LinkedList.d.ts │ └── Nodes.d.ts └── logging ├── AbstractWinstonLogger.d.ts ├── WinstonMainLogger.d.ts └── WinstonRequestLogger.d.ts /.buildignore: -------------------------------------------------------------------------------- 1 | /.buildignore 2 | /.DS_Store 3 | /.editorconfig 4 | /biome.json 5 | /.git 6 | /.github 7 | /.gitattributes 8 | /.gitignore 9 | **/.gitkeep 10 | /.gitlab 11 | /.nvmrc 12 | /.prettierrc 13 | /.vscode 14 | /build.mjs 15 | /dist 16 | /images 17 | /*.code-workspace 18 | /node_modules 19 | /package-lock.json 20 | /pnpm-lock.yaml 21 | /tsconfig.json 22 | /types 23 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto eol=lf 3 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Describe your changes 2 | 3 | ## Related issue 4 | 5 | ## Checklist before requesting a review 6 | - [ ] I have performed a self-review of my code 7 | - [ ] I have thoroughly tested the code changes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | /tmp 3 | /dist 4 | **/package-lock.json 5 | **/pnpm-lock.yaml 6 | *.js 7 | *.map 8 | -------------------------------------------------------------------------------- /assets/database/locales/server/ar.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/cs.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/da.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/de.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/el.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/en.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/es-es.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/fr.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/hi.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/hu.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/id.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/it.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/ja.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/ko.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/lt.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/nl.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/no.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/pl.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/pt-br.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/pt-pt.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/ru.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/sv-se.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/sv.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/tr.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/vi.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/zh-TW.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/database/locales/server/zh-cn.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/images/launcher/bg-senko.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-fika/Fika-Server/5f60afd62388a70741bf5e74e79d1eae818cb5c8/assets/images/launcher/bg-senko.png -------------------------------------------------------------------------------- /assets/images/launcher/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-fika/Fika-Server/5f60afd62388a70741bf5e74e79d1eae818cb5c8/assets/images/launcher/bg.png -------------------------------------------------------------------------------- /cache/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/project-fika/Fika-Server/5f60afd62388a70741bf5e74e79d1eae818cb5c8/cache/.gitkeep -------------------------------------------------------------------------------- /src/di/Override.ts: -------------------------------------------------------------------------------- 1 | import { DependencyContainer } from "tsyringe"; 2 | 3 | export abstract class Override { 4 | public abstract execute(container: DependencyContainer): void | Promise; 5 | } 6 | -------------------------------------------------------------------------------- /src/helpers/FikaClientModHashesHelper.ts: -------------------------------------------------------------------------------- 1 | export class FikaClientModHashesHelper { 2 | protected hashes: Map; 3 | 4 | constructor() { 5 | this.hashes = new Map(); 6 | } 7 | 8 | public getLength(): number { 9 | return this.hashes.size; 10 | } 11 | 12 | public exists(pluginId: string): boolean { 13 | return this.hashes.has(pluginId); 14 | } 15 | 16 | public getHash(pluginId: string): number { 17 | return this.hashes.get(pluginId); 18 | } 19 | 20 | public addHash(pluginId: string, hash: number): void { 21 | this.hashes.set(pluginId, hash); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/models/eft/dialog/IFriendRequestListResponse.ts: -------------------------------------------------------------------------------- 1 | import { MemberCategory } from "@spt/models/enums/MemberCategory"; 2 | 3 | export interface IFriendRequestListResponse { 4 | _id: string; 5 | from: string; 6 | to: string; 7 | date: number; 8 | profile: { 9 | _id: string; 10 | aid: number; 11 | Info: { 12 | Nickname: string; 13 | Side: string; 14 | Level: number; 15 | MemberCategory: MemberCategory; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /src/models/enums/EEFTNotificationIconType.ts: -------------------------------------------------------------------------------- 1 | export enum EEFTNotificationIconType { 2 | Default = 0, 3 | Alert = 1, 4 | Friend = 2, 5 | Mail = 3, 6 | Note = 4, 7 | Quest = 5, 8 | Achievement = 6, // This one is broken. 9 | EntryPoint = 7, 10 | RagFair = 8, 11 | Hideout = 9, 12 | WishlistQuest = 10, 13 | WishlistHideout = 11, 14 | WishlistTrading = 12, 15 | WishlistEquipment = 13, 16 | WishlistOther = 14, 17 | } 18 | -------------------------------------------------------------------------------- /src/models/enums/EFikaHeadlessWSMessageTypes.ts: -------------------------------------------------------------------------------- 1 | export enum EFikaHeadlessWSMessageTypes { 2 | KeepAlive = 0, 3 | HeadlessStartRaid = 1, 4 | RequesterJoinMatch = 2, 5 | } 6 | -------------------------------------------------------------------------------- /src/models/enums/EFikaMatchEndSessionMessages.ts: -------------------------------------------------------------------------------- 1 | export enum EFikaMatchEndSessionMessage { 2 | HOST_SHUTDOWN_MESSAGE = "host-shutdown", 3 | PING_TIMEOUT_MESSAGE = "ping-timeout", 4 | NO_PLAYERS_MESSAGE = "no-players", 5 | } 6 | -------------------------------------------------------------------------------- /src/models/enums/EFikaMatchStatus.ts: -------------------------------------------------------------------------------- 1 | export enum EFikaMatchStatus { 2 | LOADING = 0, 3 | IN_GAME = 1, 4 | COMPLETE = 2, 5 | } 6 | -------------------------------------------------------------------------------- /src/models/enums/EFikaNotifications.ts: -------------------------------------------------------------------------------- 1 | export enum EFikaNotifications { 2 | KeepAlive = 0, 3 | StartedRaid = 1, 4 | SentItem = 2, 5 | PushNotification = 3, 6 | } 7 | -------------------------------------------------------------------------------- /src/models/enums/EFikaPlayerPresences.ts: -------------------------------------------------------------------------------- 1 | export enum EFikaPlayerPresences { 2 | IN_MENU = 0, 3 | IN_RAID = 1, 4 | IN_STASH = 2, 5 | IN_HIDEOUT = 3, 6 | IN_FLEA = 4, 7 | } 8 | -------------------------------------------------------------------------------- /src/models/enums/EFikaSide.ts: -------------------------------------------------------------------------------- 1 | export enum EFikaSide { 2 | PMC = 0, 3 | Savage = 1, 4 | } 5 | -------------------------------------------------------------------------------- /src/models/enums/EFikaTime.ts: -------------------------------------------------------------------------------- 1 | export enum EFikaTime { 2 | CURR = 0, 3 | PAST = 1, 4 | } 5 | -------------------------------------------------------------------------------- /src/models/enums/EHeadlessStatus.ts: -------------------------------------------------------------------------------- 1 | export enum EHeadlessStatus { 2 | READY = 1, 3 | IN_RAID = 2, 4 | } 5 | -------------------------------------------------------------------------------- /src/models/fika/IFikaFriendRequests.ts: -------------------------------------------------------------------------------- 1 | import { IFriendRequestListResponse } from "../eft/dialog/IFriendRequestListResponse"; 2 | 3 | export interface IFikaFriendRequests extends Omit {} 4 | -------------------------------------------------------------------------------- /src/models/fika/IFikaPlayer.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaPlayer { 2 | groupId: string; 3 | isDead: boolean; 4 | isSpectator: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /src/models/fika/IFikaPlayerRelations.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaPlayerRelations { 2 | Friends: string[]; 3 | Ignore: string[]; 4 | } 5 | -------------------------------------------------------------------------------- /src/models/fika/config/IFikaConfig.ts: -------------------------------------------------------------------------------- 1 | import { IFikaConfigBackground } from "./IFikaConfigBackground"; 2 | import { IFikaConfigClient } from "./IFikaConfigClient"; 3 | import { IFikaConfigHeadless } from "./IFikaConfigHeadless"; 4 | import { IFikaConfigNatPunchServer } from "./IFikaConfigNatPunchServer"; 5 | import { IFikaConfigServer } from "./IFikaConfigServer"; 6 | 7 | export interface IFikaConfig { 8 | client: IFikaConfigClient; 9 | server: IFikaConfigServer; 10 | natPunchServer: IFikaConfigNatPunchServer; 11 | headless: IFikaConfigHeadless; 12 | background: IFikaConfigBackground; 13 | } 14 | -------------------------------------------------------------------------------- /src/models/fika/config/IFikaConfigBackground.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaConfigBackground { 2 | enable: boolean; 3 | easteregg: boolean; 4 | } 5 | -------------------------------------------------------------------------------- /src/models/fika/config/IFikaConfigClient.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaConfigClient { 2 | useBtr: boolean; 3 | friendlyFire: boolean; 4 | dynamicVExfils: boolean; 5 | allowFreeCam: boolean; 6 | allowSpectateFreeCam: boolean; 7 | blacklistedItems: string[]; 8 | forceSaveOnDeath: boolean; 9 | mods: { 10 | required: string[]; 11 | optional: string[]; 12 | }; 13 | useInertia: boolean; 14 | sharedQuestProgression: boolean; 15 | canEditRaidSettings: boolean; 16 | enableTransits: boolean; 17 | anyoneCanStartRaid: boolean; 18 | } 19 | -------------------------------------------------------------------------------- /src/models/fika/config/IFikaConfigHeadless.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaConfigHeadless { 2 | profiles: { 3 | amount: number; 4 | aliases: Record; 5 | }; 6 | scripts: { 7 | generate: boolean; 8 | forceIp: string; 9 | }; 10 | /** If this is true, sets the headless's average level to that of the entire lobby, if set to false it will take the level of the requester. */ 11 | setLevelToAverageOfLobby: boolean; 12 | restartAfterAmountOfRaids: number; 13 | } 14 | -------------------------------------------------------------------------------- /src/models/fika/config/IFikaConfigNatPunchServer.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaConfigNatPunchServer { 2 | enable: boolean; 3 | port: number; 4 | natIntroduceAmount: number; 5 | } 6 | -------------------------------------------------------------------------------- /src/models/fika/config/IFikaConfigServer.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaConfigServer { 2 | SPT: IFikaSPTServerConfig; 3 | allowItemSending: boolean; 4 | sentItemsLoseFIR: boolean; 5 | launcherListAllProfiles: boolean; 6 | sessionTimeout: number; 7 | showDevProfile: boolean; 8 | showNonStandardProfile: boolean; 9 | logClientModsInConsole: boolean; 10 | } 11 | 12 | export interface IFikaSPTServerConfig { 13 | http: IFikaSPTHttpServerConfig; 14 | disableSPTChatBots: boolean; 15 | } 16 | 17 | export interface IFikaSPTHttpServerConfig { 18 | ip: string; 19 | port: number; 20 | backendIp: string; 21 | backendPort: number; 22 | } 23 | -------------------------------------------------------------------------------- /src/models/fika/headless/IHeadlessAvailableClients.ts: -------------------------------------------------------------------------------- 1 | export interface IHeadlessAvailableClients { 2 | /** SessionID of the headless client */ 3 | headlessSessionID: string; 4 | /** The alias of the headless client, if it has any assigned. If it doesn't have any assigned uses the nickname */ 5 | alias: string; 6 | } 7 | -------------------------------------------------------------------------------- /src/models/fika/headless/IHeadlessRestartAfterAmountOfRaids.ts: -------------------------------------------------------------------------------- 1 | export interface IHeadlessRestartAfterAmountOfRaids { 2 | amount: number; 3 | } 4 | -------------------------------------------------------------------------------- /src/models/fika/insurance/IFikaInsurancePlayer.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaInsurancePlayer { 2 | sessionID: string; 3 | endedRaid: boolean; 4 | lostItems: string[]; 5 | foundItems: string[]; 6 | inventory: string[]; 7 | } 8 | -------------------------------------------------------------------------------- /src/models/fika/presence/IFikaPlayerPresence.ts: -------------------------------------------------------------------------------- 1 | import { EFikaPlayerPresences } from "../../enums/EFikaPlayerPresences"; 2 | import { IFikaRaidPresence } from "./IFikaRaidPresence"; 3 | 4 | export interface IFikaPlayerPresence { 5 | nickname: string; 6 | level: number; 7 | activity: EFikaPlayerPresences; 8 | activityStartedTimestamp: number; 9 | raidInformation?: IFikaRaidPresence; 10 | } 11 | -------------------------------------------------------------------------------- /src/models/fika/presence/IFikaRaidPresence.ts: -------------------------------------------------------------------------------- 1 | import { EFikaSide } from "../../enums/EFikaSide"; 2 | import { EFikaTime } from "../../enums/EFikaTime"; 3 | 4 | export interface IFikaRaidPresence { 5 | location: string; 6 | side: EFikaSide; 7 | time: EFikaTime; 8 | } 9 | -------------------------------------------------------------------------------- /src/models/fika/presence/IFikaSetPresence.ts: -------------------------------------------------------------------------------- 1 | import { EFikaPlayerPresences } from "../../enums/EFikaPlayerPresences"; 2 | import { IFikaRaidPresence } from "./IFikaRaidPresence"; 3 | 4 | export interface IFikaSetPresence { 5 | activity: EFikaPlayerPresences; 6 | raidInformation?: IFikaRaidPresence; 7 | } 8 | -------------------------------------------------------------------------------- /src/models/fika/routes/client/check/IFikaCheckModRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaCheckModRequestData extends Record {} 2 | -------------------------------------------------------------------------------- /src/models/fika/routes/client/check/IFikaCheckModResponse.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaCheckModResponse { 2 | forbidden: string[]; 3 | missingRequired: string[]; 4 | hashMismatch: string[]; 5 | } 6 | 7 | export interface IVersionCheckResponse { 8 | version: string; 9 | } 10 | -------------------------------------------------------------------------------- /src/models/fika/routes/location/IFikaRaidsResponse.ts: -------------------------------------------------------------------------------- 1 | import { EFikaMatchStatus } from "../../../enums/EFikaMatchStatus"; 2 | import { EFikaSide } from "../../../enums/EFikaSide"; 3 | import { EFikaTime } from "../../../enums/EFikaTime"; 4 | 5 | export interface IFikaRaidResponse { 6 | serverId: string; 7 | hostUsername: string; 8 | playerCount: number; 9 | status: EFikaMatchStatus; 10 | location: string; 11 | side: EFikaSide; 12 | time: EFikaTime; 13 | players: Record; 14 | isHeadless: boolean; 15 | headlessRequesterNickname: string; 16 | } 17 | 18 | export type IFikaRaidsResponse = IFikaRaidResponse[]; 19 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/IFikaRaidServerIdRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaRaidServerIdRequestData { 2 | serverId: string; 3 | } 4 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/create/IFikaRaidCreateRequestData.ts: -------------------------------------------------------------------------------- 1 | import { IGetRaidConfigurationRequestData } from "@spt/models/eft/match/IGetRaidConfigurationRequestData"; 2 | import { EFikaSide } from "../../../../enums/EFikaSide"; 3 | import { EFikaTime } from "../../../../enums/EFikaTime"; 4 | 5 | export interface IFikaRaidCreateRequestData { 6 | raidCode: string; 7 | serverId: string; 8 | hostUsername: string; 9 | timestamp: string; 10 | settings: IGetRaidConfigurationRequestData; 11 | gameVersion: string; 12 | crc32: number; 13 | side: EFikaSide; 14 | time: EFikaTime; 15 | isSpectator: boolean; 16 | } 17 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/create/IFikaRaidCreateResponse.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaRaidCreateResponse { 2 | success: boolean; 3 | } 4 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/gethost/IFikaRaidGethostResponse.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaRaidGethostResponse { 2 | ips: string[]; 3 | port: number; 4 | natPunch: boolean; 5 | isHeadless: boolean; 6 | } 7 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/getsettings/IFikaRaidSettingsResponse.ts: -------------------------------------------------------------------------------- 1 | import { PlayersSpawnPlace } from "@spt/models/enums/PlayersSpawnPlace"; 2 | import { TimeFlowType } from "@spt/models/enums/RaidSettings/TimeAndWeather/TimeFlowType"; 3 | 4 | export interface IFikaRaidSettingsResponse { 5 | metabolismDisabled: boolean; 6 | playersSpawnPlace: PlayersSpawnPlace; 7 | hourOfDay: number; 8 | timeFlowType: TimeFlowType; 9 | } 10 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/headless/IStartHeadlessResponse.ts: -------------------------------------------------------------------------------- 1 | export interface IStartHeadlessResponse { 2 | matchId: string; 3 | error: string; 4 | } 5 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/join/IFikaRaidAddPlayerData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaUpdateRaidAddPlayerData { 2 | serverId: string; 3 | profileId: string; 4 | isSpectator: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/join/IFikaRaidJoinRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaRaidJoinRequestData { 2 | serverId: string; 3 | profileId: string; 4 | } 5 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/join/IFikaRaidJoinResponse.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaRaidJoinResponse { 2 | serverId: string; 3 | timestamp: string; 4 | gameVersion: string; 5 | crc32: number; 6 | raidCode: string; 7 | } 8 | -------------------------------------------------------------------------------- /src/models/fika/routes/raid/leave/IFikaRaidLeaveRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaRaidLeaveRequestData { 2 | serverId: string; 3 | profileId: string; 4 | } 5 | -------------------------------------------------------------------------------- /src/models/fika/routes/senditem/IFikaSendItemRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaSendItemRequestData { 2 | id: string; 3 | target: string; 4 | } 5 | -------------------------------------------------------------------------------- /src/models/fika/routes/senditem/availablereceivers/IFikaSenditemAvailablereceiversRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaSenditemAvailablereceiversRequestData { 2 | id: string; 3 | } 4 | -------------------------------------------------------------------------------- /src/models/fika/routes/senditem/availablereceivers/IFikaSenditemAvailablereceiversResponse.ts: -------------------------------------------------------------------------------- 1 | export type IFikaSenditemAvailablereceiversResponse = Record; 2 | -------------------------------------------------------------------------------- /src/models/fika/routes/update/IFikaUpdatePingRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaUpdatePingRequestData { 2 | serverId: string; 3 | } 4 | -------------------------------------------------------------------------------- /src/models/fika/routes/update/IFikaUpdatePlayerspawnRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaUpdatePlayerspawnRequestData { 2 | serverId: string; 3 | profileId: string; 4 | groupId: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/models/fika/routes/update/IFikaUpdateSetStatusRequestData.ts: -------------------------------------------------------------------------------- 1 | import { EFikaMatchStatus } from "../../../enums/EFikaMatchStatus"; 2 | 3 | export interface IFikaUpdateSetStatusRequestData { 4 | serverId: string; 5 | status: EFikaMatchStatus; 6 | } 7 | -------------------------------------------------------------------------------- /src/models/fika/routes/update/IFikaUpdateSethostRequestData.ts: -------------------------------------------------------------------------------- 1 | export interface IFikaUpdateSethostRequestData { 2 | serverId: string; 3 | ips: string[]; 4 | port: number; 5 | natPunch: boolean; 6 | isHeadless: boolean; 7 | } 8 | -------------------------------------------------------------------------------- /src/models/fika/websocket/IFikaHeadlessBase.ts: -------------------------------------------------------------------------------- 1 | import { EFikaHeadlessWSMessageTypes } from "../../enums/EFikaHeadlessWSMessageTypes"; 2 | 3 | export interface IFikaHeadlessBase { 4 | type: EFikaHeadlessWSMessageTypes; 5 | } 6 | -------------------------------------------------------------------------------- /src/models/fika/websocket/IFikaNotificationBase.ts: -------------------------------------------------------------------------------- 1 | import { EFikaNotifications } from "../../enums/EFikaNotifications"; 2 | 3 | export interface IFikaNotificationBase { 4 | type: EFikaNotifications; 5 | } 6 | -------------------------------------------------------------------------------- /src/models/fika/websocket/headless/IHeadlessRequesterJoinRaid.ts: -------------------------------------------------------------------------------- 1 | import { IFikaHeadlessBase } from "../IFikaHeadlessBase"; 2 | 3 | export interface IHeadlessRequesterJoinRaid extends IFikaHeadlessBase { 4 | matchId: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/models/fika/websocket/headless/IHeadlessStartRaid.ts: -------------------------------------------------------------------------------- 1 | import { IStartHeadlessRequest } from "../../routes/raid/headless/IStartHeadlessRequest"; 2 | import { IFikaHeadlessBase } from "../IFikaHeadlessBase"; 3 | 4 | export interface IStartHeadlessRaid extends IFikaHeadlessBase { 5 | startRequest: IStartHeadlessRequest; 6 | } 7 | -------------------------------------------------------------------------------- /src/models/fika/websocket/notifications/IPushNotification.ts: -------------------------------------------------------------------------------- 1 | import { EEFTNotificationIconType } from "../../../enums/EEFTNotificationIconType"; 2 | import { IFikaNotificationBase } from "../IFikaNotificationBase"; 3 | 4 | export interface IPushNotification extends IFikaNotificationBase { 5 | notificationIcon: EEFTNotificationIconType; 6 | notification: string; 7 | } 8 | -------------------------------------------------------------------------------- /src/models/fika/websocket/notifications/IReceivedSentItemNotification.ts: -------------------------------------------------------------------------------- 1 | import { IFikaNotificationBase } from "../IFikaNotificationBase"; 2 | 3 | export interface IReceivedSentItemNotification extends IFikaNotificationBase { 4 | nickname: string; 5 | targetId: string; 6 | itemName: string; 7 | } 8 | -------------------------------------------------------------------------------- /src/models/fika/websocket/notifications/IStartRaidNotification.ts: -------------------------------------------------------------------------------- 1 | import { IFikaNotificationBase } from "../IFikaNotificationBase"; 2 | 3 | export interface IStartRaidNotification extends IFikaNotificationBase { 4 | nickname: string; 5 | location: string; 6 | isHeadlessRaid: boolean; 7 | headlessRequesterName: string; 8 | raidTime: number; 9 | } 10 | -------------------------------------------------------------------------------- /src/overrides/Overrider.ts: -------------------------------------------------------------------------------- 1 | import { DependencyContainer, injectAll, injectable } from "tsyringe"; 2 | 3 | import { Override } from "../di/Override"; 4 | 5 | @injectable() 6 | export class Overrider { 7 | constructor(@injectAll("Overrides") protected overrides: Override[]) { 8 | // empty 9 | } 10 | 11 | public async override(container: DependencyContainer): Promise { 12 | for (const override of this.overrides) { 13 | if (override.execute.constructor.name === "AsyncFunction") { 14 | await override.execute(container); 15 | } else { 16 | override.execute(container); 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": true, 4 | "module": "NodeNext", 5 | "target": "ES2022", 6 | "moduleResolution": "NodeNext", 7 | "esModuleInterop": true, 8 | "downlevelIteration": true, 9 | "experimentalDecorators": true, 10 | "emitDecoratorMetadata": true, 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "outDir": "tmp", 14 | "paths": { 15 | "@spt/*": ["./types/*"] 16 | } 17 | }, 18 | "exclude": ["node_modules", "dist", "tmp"] 19 | } 20 | -------------------------------------------------------------------------------- /tsconfig.types.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "skipLibCheck": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /types/ErrorHandler.d.ts: -------------------------------------------------------------------------------- 1 | export declare class ErrorHandler { 2 | private logger; 3 | private readLine; 4 | constructor(); 5 | handleCriticalError(err: Error): void; 6 | } 7 | -------------------------------------------------------------------------------- /types/Program.d.ts: -------------------------------------------------------------------------------- 1 | export declare class Program { 2 | private errorHandler; 3 | constructor(); 4 | start(): Promise; 5 | } 6 | -------------------------------------------------------------------------------- /types/callbacks/HandbookCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { HandbookController } from "@spt/controllers/HandbookController"; 2 | import { OnLoad } from "@spt/di/OnLoad"; 3 | export declare class HandbookCallbacks implements OnLoad { 4 | protected handbookController: HandbookController; 5 | constructor(handbookController: HandbookController); 6 | onLoad(): Promise; 7 | getRoute(): string; 8 | } 9 | -------------------------------------------------------------------------------- /types/callbacks/HttpCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { OnLoad } from "@spt/di/OnLoad"; 2 | import { HttpServer } from "@spt/servers/HttpServer"; 3 | export declare class HttpCallbacks implements OnLoad { 4 | protected httpServer: HttpServer; 5 | constructor(httpServer: HttpServer); 6 | onLoad(): Promise; 7 | getRoute(): string; 8 | getImage(): string; 9 | } 10 | -------------------------------------------------------------------------------- /types/callbacks/PresetCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { PresetController } from "@spt/controllers/PresetController"; 2 | import { OnLoad } from "@spt/di/OnLoad"; 3 | export declare class PresetCallbacks implements OnLoad { 4 | protected presetController: PresetController; 5 | constructor(presetController: PresetController); 6 | onLoad(): Promise; 7 | getRoute(): string; 8 | } 9 | -------------------------------------------------------------------------------- /types/context/ContextVariable.d.ts: -------------------------------------------------------------------------------- 1 | import { ContextVariableType } from "@spt/context/ContextVariableType"; 2 | export declare class ContextVariable { 3 | private value; 4 | private timestamp; 5 | private type; 6 | constructor(value: any, type: ContextVariableType); 7 | getValue(): T; 8 | getTimestamp(): Date; 9 | getType(): ContextVariableType; 10 | } 11 | -------------------------------------------------------------------------------- /types/context/ContextVariableType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum ContextVariableType { 2 | /** Logged in users session id */ 3 | SESSION_ID = 0, 4 | /** Currently acive raid information */ 5 | RAID_CONFIGURATION = 1, 6 | /** SessionID + Timestamp when client first connected, has _ between values */ 7 | CLIENT_START_TIMESTAMP = 2, 8 | /** When player is loading into map and loot is requested */ 9 | REGISTER_PLAYER_REQUEST = 3, 10 | RAID_ADJUSTMENTS = 4, 11 | /** Data returned from client request object from endLocalRaid() */ 12 | TRANSIT_INFO = 5 13 | } 14 | -------------------------------------------------------------------------------- /types/controllers/ClientLogController.d.ts: -------------------------------------------------------------------------------- 1 | import { IClientLogRequest } from "@spt/models/spt/logging/IClientLogRequest"; 2 | import type { ILogger } from "@spt/models/spt/utils/ILogger"; 3 | export declare class ClientLogController { 4 | protected logger: ILogger; 5 | constructor(logger: ILogger); 6 | /** 7 | * Handle /singleplayer/log 8 | */ 9 | clientLog(logRequest: IClientLogRequest): void; 10 | } 11 | -------------------------------------------------------------------------------- /types/controllers/HandbookController.d.ts: -------------------------------------------------------------------------------- 1 | import { HandbookHelper } from "@spt/helpers/HandbookHelper"; 2 | import { DatabaseServer } from "@spt/servers/DatabaseServer"; 3 | export declare class HandbookController { 4 | protected databaseServer: DatabaseServer; 5 | protected handbookHelper: HandbookHelper; 6 | constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper); 7 | load(): void; 8 | } 9 | -------------------------------------------------------------------------------- /types/controllers/PresetController.d.ts: -------------------------------------------------------------------------------- 1 | import { PresetHelper } from "@spt/helpers/PresetHelper"; 2 | import type { ILogger } from "@spt/models/spt/utils/ILogger"; 3 | import { DatabaseService } from "@spt/services/DatabaseService"; 4 | export declare class PresetController { 5 | protected logger: ILogger; 6 | protected presetHelper: PresetHelper; 7 | protected databaseService: DatabaseService; 8 | constructor(logger: ILogger, presetHelper: PresetHelper, databaseService: DatabaseService); 9 | initialize(): void; 10 | } 11 | -------------------------------------------------------------------------------- /types/di/OnLoad.d.ts: -------------------------------------------------------------------------------- 1 | export interface OnLoad { 2 | onLoad(): Promise; 3 | getRoute(): string; 4 | } 5 | -------------------------------------------------------------------------------- /types/di/OnUpdate.d.ts: -------------------------------------------------------------------------------- 1 | export interface OnUpdate { 2 | onUpdate(timeSinceLastRun: number): Promise; 3 | getRoute(): string; 4 | } 5 | -------------------------------------------------------------------------------- /types/di/Serializer.d.ts: -------------------------------------------------------------------------------- 1 | import { IncomingMessage, ServerResponse } from "node:http"; 2 | export declare class Serializer { 3 | serialize(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: any): Promise; 4 | canHandle(something: string): boolean; 5 | } 6 | -------------------------------------------------------------------------------- /types/entry/run.d.ts: -------------------------------------------------------------------------------- 1 | import "reflect-metadata"; 2 | import "source-map-support/register"; 3 | -------------------------------------------------------------------------------- /types/generators/weapongen/IInventoryMagGen.d.ts: -------------------------------------------------------------------------------- 1 | import { InventoryMagGen } from "@spt/generators/weapongen/InventoryMagGen"; 2 | export interface IInventoryMagGen { 3 | getPriority(): number; 4 | canHandleInventoryMagGen(inventoryMagGen: InventoryMagGen): boolean; 5 | process(inventoryMagGen: InventoryMagGen): void; 6 | } 7 | -------------------------------------------------------------------------------- /types/generators/weapongen/implementations/InternalMagazineInventoryMagGen.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryMagGen } from "@spt/generators/weapongen/IInventoryMagGen"; 2 | import { InventoryMagGen } from "@spt/generators/weapongen/InventoryMagGen"; 3 | import { BotWeaponGeneratorHelper } from "@spt/helpers/BotWeaponGeneratorHelper"; 4 | export declare class InternalMagazineInventoryMagGen implements IInventoryMagGen { 5 | protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper; 6 | constructor(botWeaponGeneratorHelper: BotWeaponGeneratorHelper); 7 | getPriority(): number; 8 | canHandleInventoryMagGen(inventoryMagGen: InventoryMagGen): boolean; 9 | process(inventoryMagGen: InventoryMagGen): void; 10 | } 11 | -------------------------------------------------------------------------------- /types/generators/weapongen/implementations/UbglExternalMagGen.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryMagGen } from "@spt/generators/weapongen/IInventoryMagGen"; 2 | import { InventoryMagGen } from "@spt/generators/weapongen/InventoryMagGen"; 3 | import { BotWeaponGeneratorHelper } from "@spt/helpers/BotWeaponGeneratorHelper"; 4 | export declare class UbglExternalMagGen implements IInventoryMagGen { 5 | protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper; 6 | constructor(botWeaponGeneratorHelper: BotWeaponGeneratorHelper); 7 | getPriority(): number; 8 | canHandleInventoryMagGen(inventoryMagGen: InventoryMagGen): boolean; 9 | process(inventoryMagGen: InventoryMagGen): void; 10 | } 11 | -------------------------------------------------------------------------------- /types/helpers/Dialogue/Commando/IChatCommand.d.ts: -------------------------------------------------------------------------------- 1 | import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest"; 2 | import { IUserDialogInfo } from "@spt/models/eft/profile/IUserDialogInfo"; 3 | export interface IChatCommand { 4 | getCommandPrefix(): string; 5 | getCommandHelp(command: string): string; 6 | getCommands(): Set; 7 | handle(command: string, commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string; 8 | } 9 | -------------------------------------------------------------------------------- /types/helpers/Dialogue/Commando/SptCommands/GiveCommand/SavedCommand.d.ts: -------------------------------------------------------------------------------- 1 | export declare class SavedCommand { 2 | quantity: number; 3 | potentialItemNames: string[]; 4 | locale: string; 5 | constructor(quantity: number, potentialItemNames: string[], locale: string); 6 | } 7 | -------------------------------------------------------------------------------- /types/helpers/Dialogue/Commando/SptCommands/ISptCommand.d.ts: -------------------------------------------------------------------------------- 1 | import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest"; 2 | import { IUserDialogInfo } from "@spt/models/eft/profile/IUserDialogInfo"; 3 | export interface ISptCommand { 4 | getCommand(): string; 5 | getCommandHelp(): string; 6 | performAction(commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string; 7 | } 8 | -------------------------------------------------------------------------------- /types/helpers/Dialogue/CommandoDialogueChatBot.d.ts: -------------------------------------------------------------------------------- 1 | import { AbstractDialogueChatBot } from "@spt/helpers/Dialogue/AbstractDialogueChatBot"; 2 | import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand"; 3 | import { IUserDialogInfo } from "@spt/models/eft/profile/IUserDialogInfo"; 4 | import type { ILogger } from "@spt/models/spt/utils/ILogger"; 5 | import { MailSendService } from "@spt/services/MailSendService"; 6 | export declare class CommandoDialogueChatBot extends AbstractDialogueChatBot { 7 | constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]); 8 | getChatBot(): IUserDialogInfo; 9 | protected getUnrecognizedCommandMessage(): string; 10 | } 11 | -------------------------------------------------------------------------------- /types/helpers/Dialogue/IDialogueChatBot.d.ts: -------------------------------------------------------------------------------- 1 | import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest"; 2 | import { IUserDialogInfo } from "@spt/models/eft/profile/IUserDialogInfo"; 3 | export interface IDialogueChatBot { 4 | getChatBot(): IUserDialogInfo; 5 | handleMessage(sessionId: string, request: ISendMessageRequest): string; 6 | } 7 | -------------------------------------------------------------------------------- /types/helpers/GameEventHelper.d.ts: -------------------------------------------------------------------------------- 1 | import { ISeasonalEventConfig } from "@spt/models/spt/config/ISeasonalEventConfig"; 2 | import { ConfigServer } from "@spt/servers/ConfigServer"; 3 | import { DatabaseServer } from "@spt/servers/DatabaseServer"; 4 | export declare class GameEventHelper { 5 | protected databaseServer: DatabaseServer; 6 | protected configServer: ConfigServer; 7 | protected seasonalEventConfig: ISeasonalEventConfig; 8 | constructor(databaseServer: DatabaseServer, configServer: ConfigServer); 9 | } 10 | -------------------------------------------------------------------------------- /types/helpers/ProbabilityHelper.d.ts: -------------------------------------------------------------------------------- 1 | import type { ILogger } from "@spt/models/spt/utils/ILogger"; 2 | import { RandomUtil } from "@spt/utils/RandomUtil"; 3 | export declare class ProbabilityHelper { 4 | protected logger: ILogger; 5 | protected randomUtil: RandomUtil; 6 | constructor(logger: ILogger, randomUtil: RandomUtil); 7 | /** 8 | * Chance to roll a number out of 100 9 | * @param chance Percentage chance roll should success 10 | * @param scale scale of chance to allow support of numbers > 1-100 11 | * @returns true if success 12 | */ 13 | rollChance(chance: number, scale?: number): boolean; 14 | } 15 | -------------------------------------------------------------------------------- /types/helpers/SecureContainerHelper.d.ts: -------------------------------------------------------------------------------- 1 | import { ItemHelper } from "@spt/helpers/ItemHelper"; 2 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 3 | export interface IOwnerInventoryItems { 4 | from: IItem[]; 5 | to: IItem[]; 6 | sameInventory: boolean; 7 | isMail: boolean; 8 | } 9 | export declare class SecureContainerHelper { 10 | protected itemHelper: ItemHelper; 11 | constructor(itemHelper: ItemHelper); 12 | /** 13 | * Get an array of the item IDs (NOT tpls) inside a secure container 14 | * @param items Inventory items to look for secure container in 15 | * @returns Array of ids 16 | */ 17 | getSecureContainerItems(items: IItem[]): string[]; 18 | } 19 | -------------------------------------------------------------------------------- /types/helpers/UtilityHelper.d.ts: -------------------------------------------------------------------------------- 1 | export declare class UtilityHelper { 2 | arrayIntersect(a: T[], b: T[]): T[]; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/common/MinMax.d.ts: -------------------------------------------------------------------------------- 1 | export interface MinMax { 2 | max: number; 3 | min: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/bot/IGenerateBotsRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGenerateBotsRequestData { 2 | conditions: ICondition[]; 3 | } 4 | export interface ICondition { 5 | /** e.g. assault/pmcBot/bossKilla */ 6 | Role: string; 7 | Limit: number; 8 | Difficulty: string; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/bot/IRandomisedBotLevelResult.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRandomisedBotLevelResult { 2 | level: number; 3 | exp: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/builds/ISetMagazineRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { IMagazineTemplateAmmoItem } from "@spt/models/eft/profile/ISptProfile"; 2 | export interface ISetMagazineRequest { 3 | Id: string; 4 | Name: string; 5 | Caliber: string; 6 | Items: IMagazineTemplateAmmoItem[]; 7 | TopCount: number; 8 | BottomCount: number; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/common/IEmptyRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export type IEmptyRequestData = {}; 2 | -------------------------------------------------------------------------------- /types/models/eft/common/ILocationsSourceDestinationBase.d.ts: -------------------------------------------------------------------------------- 1 | import { IPath } from "@spt/models/eft/common/tables/ILocationsBase"; 2 | import { ILocations } from "@spt/models/spt/server/ILocations"; 3 | export interface ILocationsGenerateAllResponse { 4 | locations: ILocations; 5 | paths: IPath[]; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/common/IMetricsTableData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IMetricsTableData { 2 | Keys: number[]; 3 | NetProcessingBins: number[]; 4 | RenderBins: number[]; 5 | GameUpdateBins: number[]; 6 | MemoryMeasureInterval: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/common/IPmcData.d.ts: -------------------------------------------------------------------------------- 1 | import { IBotBase, IEftStats } from "@spt/models/eft/common/tables/IBotBase"; 2 | export interface IPmcData extends IBotBase { 3 | } 4 | export interface IPostRaidPmcData extends IBotBase { 5 | Stats: IPostRaidStats; 6 | } 7 | export interface IPostRaidStats { 8 | Eft: IEftStats; 9 | /** Only found in profile we get from client post raid */ 10 | Arena: IEftStats; 11 | } 12 | -------------------------------------------------------------------------------- /types/models/eft/common/Ixyz.d.ts: -------------------------------------------------------------------------------- 1 | export interface Ixyz { 2 | x: number; 3 | y: number; 4 | z: number; 5 | } 6 | export interface Ixy { 7 | x: number; 8 | y: number; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/common/request/IBaseInteractionRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IBaseInteractionRequestData { 2 | Action: string; 3 | fromOwner?: OwnerInfo; 4 | toOwner?: OwnerInfo; 5 | } 6 | export interface OwnerInfo { 7 | id: string; 8 | type: string; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/common/request/IUIDRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IUIDRequestData { 2 | uid: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/common/tables/IAchievement.d.ts: -------------------------------------------------------------------------------- 1 | import { IQuestConditionTypes } from "@spt/models/eft/common/tables/IQuest"; 2 | import { IReward } from "@spt/models/eft/common/tables/IReward"; 3 | export interface IAchievement { 4 | id: string; 5 | imageUrl: string; 6 | assetPath: string; 7 | rewards: IReward[]; 8 | conditions: IQuestConditionTypes; 9 | instantComplete: boolean; 10 | showNotificationsInGame: boolean; 11 | showProgress: boolean; 12 | prefab: string; 13 | rarity: string; 14 | hidden: boolean; 15 | showConditions: boolean; 16 | progressBarEnabled: boolean; 17 | side: string; 18 | index: number; 19 | } 20 | -------------------------------------------------------------------------------- /types/models/eft/common/tables/IHandbookBase.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHandbookBase { 2 | Categories: IHandbookCategory[]; 3 | Items: IHandbookItem[]; 4 | } 5 | export interface IHandbookCategory { 6 | Id: string; 7 | ParentId?: string; 8 | Icon: string; 9 | Color: string; 10 | Order: string; 11 | } 12 | export interface IHandbookItem { 13 | Id: string; 14 | ParentId: string; 15 | Price: number; 16 | } 17 | -------------------------------------------------------------------------------- /types/models/eft/common/tables/ILocationsBase.d.ts: -------------------------------------------------------------------------------- 1 | export interface ILocationsBase { 2 | locations: any; 3 | paths: IPath[]; 4 | } 5 | export interface IPath { 6 | Source: string; 7 | Event: boolean; 8 | Destination: string; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/common/tables/IMatch.d.ts: -------------------------------------------------------------------------------- 1 | export interface IMatch { 2 | metrics: IMetrics; 3 | } 4 | export interface IMetrics { 5 | Keys: number[]; 6 | NetProcessingBins: number[]; 7 | RenderBins: number[]; 8 | GameUpdateBins: number[]; 9 | MemoryMeasureInterval: number; 10 | PauseReasons: number[]; 11 | } 12 | -------------------------------------------------------------------------------- /types/models/eft/customization/IBuyClothingRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IBuyClothingRequestData { 2 | Action: "CustomizationBuy"; 3 | offer: string; 4 | items: IPaymentItemForClothing[]; 5 | } 6 | export interface IPaymentItemForClothing { 7 | del: boolean; 8 | id: string; 9 | count: number; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/customization/IWearClothingRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IWearClothingRequestData { 2 | Action: "CustomizationWear"; 3 | suites: string[]; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/customization/iCustomizationSetRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface ICustomizationSetRequest { 2 | Action: "CustomizationSet"; 3 | customizations: CustomizationSetOption[]; 4 | } 5 | export interface CustomizationSetOption { 6 | id: string; 7 | type: string; 8 | source: string; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IAcceptFriendRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IAcceptFriendRequestData extends IBaseFriendRequest { 2 | } 3 | export interface ICancelFriendRequestData extends IBaseFriendRequest { 4 | } 5 | export interface IDeclineFriendRequestData extends IBaseFriendRequest { 6 | } 7 | export interface IBaseFriendRequest { 8 | profileId: string; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IAddUserGroupMailRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IAddUserGroupMailRequest { 2 | dialogId: string; 3 | uid: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IChangeGroupMailOwnerRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IChangeGroupMailOwnerRequest { 2 | dialogId: string; 3 | uid: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IChatServer.d.ts: -------------------------------------------------------------------------------- 1 | export interface IChatServer { 2 | _id: string; 3 | RegistrationId: number; 4 | VersionId: string; 5 | Ip: string; 6 | Port: number; 7 | DateTime: number; 8 | Chats: IChat[]; 9 | Regions: string[]; 10 | /** Possibly removed */ 11 | IsDeveloper?: boolean; 12 | } 13 | export interface IChat { 14 | _id: string; 15 | Members: number; 16 | } 17 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IClearMailMessageRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IClearMailMessageRequest { 2 | dialogId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/ICreateGroupMailRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface ICreateGroupMailRequest { 2 | Name: string; 3 | Users: string[]; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IDeleteFriendRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IDeleteFriendRequest { 2 | friend_id: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IFriendRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IFriendRequestData { 2 | to: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IFriendRequestSendResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface IFriendRequestSendResponse { 2 | status: number; 3 | requestId: string; 4 | retryAfter: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetAllAttachmentsRequestData { 2 | dialogId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IMessage } from "@spt/models/eft/profile/ISptProfile"; 2 | export interface IGetAllAttachmentsResponse { 3 | messages: IMessage[]; 4 | profiles: any[]; 5 | hasMessagesWithRewards: boolean; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IGetChatServerListRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetChatServerListRequestData { 2 | VersionId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IGetFriendListDataResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IUserDialogInfo } from "../profile/IUserDialogInfo"; 2 | export interface IGetFriendListDataResponse { 3 | Friends: IUserDialogInfo[]; 4 | Ignore: string[]; 5 | InIgnoreList: string[]; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetMailDialogInfoRequestData { 2 | dialogId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IGetMailDialogListRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetMailDialogListRequestData { 2 | limit: number; 3 | offset: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { MessageType } from "@spt/models/enums/MessageType"; 2 | export interface IGetMailDialogViewRequestData { 3 | type: MessageType; 4 | dialogId: string; 5 | limit: number; 6 | time: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts: -------------------------------------------------------------------------------- 1 | import { IMessage } from "@spt/models/eft/profile/ISptProfile"; 2 | import { IUserDialogInfo } from "../profile/IUserDialogInfo"; 3 | export interface IGetMailDialogViewResponseData { 4 | messages: IMessage[]; 5 | profiles: IUserDialogInfo[]; 6 | hasMessagesWithRewards: boolean; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IPinDialogRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IPinDialogRequestData { 2 | dialogId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IRemoveDialogRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRemoveDialogRequestData { 2 | dialogId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IRemoveMailMessageRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRemoveMailMessageRequest { 2 | dialogId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/dialog/IRemoveUserGroupMailRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRemoveUserGroupMailRequest { 2 | dialogId: string; 3 | uid: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/dialog/ISendMessageRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { MessageType } from "@spt/models/enums/MessageType"; 2 | export interface ISendMessageRequest { 3 | dialogId: string; 4 | type: MessageType; 5 | text: string; 6 | replyTo: string; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/dialog/ISetDialogReadRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISetDialogReadRequestData { 2 | dialogs: string[]; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/game/ICheckVersionResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface ICheckVersionResponse { 2 | isvalid: boolean; 3 | latestVersion: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/game/ICurrentGroupResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { MemberCategory } from "@spt/models/enums/MemberCategory"; 2 | export interface ICurrentGroupResponse { 3 | squad: ICurrentGroupSquadMember[]; 4 | } 5 | export interface ICurrentGroupSquadMember { 6 | _id: string; 7 | aid: string; 8 | info: ICurrentGroupMemberInfo; 9 | isLeader: boolean; 10 | isReady: boolean; 11 | } 12 | export interface ICurrentGroupMemberInfo { 13 | Nickname: string; 14 | Side: string; 15 | Level: string; 16 | MemberCategory: MemberCategory; 17 | } 18 | -------------------------------------------------------------------------------- /types/models/eft/game/IGameEmptyCrcRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGameEmptyCrcRequestData { 2 | crc: number; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/game/IGameKeepAliveResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGameKeepAliveResponse { 2 | msg: string; 3 | utc_time: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/game/IGameLogoutResponseData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGameLogoutResponseData { 2 | status: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/game/IGameModeRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGameModeRequestData { 2 | sessionMode: string | undefined; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/game/IGameModeResponse.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum ESessionMode { 2 | REGULAR = "regular", 3 | PVE = "pve" 4 | } 5 | export interface IGameModeResponse { 6 | gameMode: ESessionMode; 7 | backendUrl: string; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/eft/game/IGameStartResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGameStartResponse { 2 | utc_time: number; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/game/IGetItemPricesResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetItemPricesResponse { 2 | supplyNextTime: number; 3 | prices: Record; 4 | currencyCourses: Record; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/game/IGetRaidTimeRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetRaidTimeRequest { 2 | Side: string; 3 | Location: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/game/IGetRaidTimeResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetRaidTimeResponse { 2 | NewSurviveTimeSeconds?: number; 3 | OriginalSurvivalTimeSeconds: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/game/ISendReportRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISendReportRequest { 2 | type: string; 3 | uid: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/game/ISendSurveyOpinionRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISendSurveyOpinionRequest { 2 | surveyId: number; 3 | answers: ISurveyOpinionAnswer[]; 4 | } 5 | export interface ISurveyOpinionAnswer { 6 | questionId: number; 7 | answerType: string; 8 | answers: any; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/game/IServerDetails.d.ts: -------------------------------------------------------------------------------- 1 | export interface IServerDetails { 2 | ip: string; 3 | port: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/game/IVersionValidateRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IVersionValidateRequestData { 2 | version: IVersion; 3 | develop: boolean; 4 | } 5 | export interface IVersion { 6 | major: string; 7 | minor: string; 8 | game: string; 9 | backend: string; 10 | taxonomy: string; 11 | } 12 | -------------------------------------------------------------------------------- /types/models/eft/health/Effect.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum Effect { 2 | FRACTURE = "Fracture", 3 | LIGHT_BLEEDING = "LightBleeding", 4 | HEAVY_BLEEDING = "HeavyBleeding", 5 | MILD_MUSCLE_PAIN = "MildMusclePain", 6 | SEVERE_MUSCLE_PAIN = "SevereMusclePain" 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/health/IOffraidEatRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseInteractionRequestData } from "@spt/models/eft/common/request/IBaseInteractionRequestData"; 2 | export interface IOffraidEatRequestData extends IBaseInteractionRequestData { 3 | Action: "Eat"; 4 | item: string; 5 | count: number; 6 | time: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/health/IOffraidHealRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseInteractionRequestData } from "@spt/models/eft/common/request/IBaseInteractionRequestData"; 2 | export interface IOffraidHealRequestData extends IBaseInteractionRequestData { 3 | Action: "Heal"; 4 | item: string; 5 | part: BodyPart; 6 | count: number; 7 | time: number; 8 | } 9 | export declare enum BodyPart { 10 | HEAD = "Head", 11 | CHEST = "Chest", 12 | STOMACH = "Stomach", 13 | LEFT_ARM = "LeftArm", 14 | RIGHT_ARM = "RightArm", 15 | LEFT_LEG = "LeftLeg", 16 | RIGHT_LEG = "RightLeg", 17 | COMMON = "Common" 18 | } 19 | -------------------------------------------------------------------------------- /types/models/eft/health/ISyncHealthRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISyncHealthRequestData { 2 | Health: IBodyPartCollection; 3 | IsAlive: boolean; 4 | Hydration?: number; 5 | Energy?: number; 6 | Temperature?: number; 7 | } 8 | export interface IBodyPartCollection { 9 | Head?: IBodyPartHealth; 10 | Chest?: IBodyPartHealth; 11 | Stomach?: IBodyPartHealth; 12 | LeftArm?: IBodyPartHealth; 13 | RightArm?: IBodyPartHealth; 14 | LeftLeg?: IBodyPartHealth; 15 | RightLeg?: IBodyPartHealth; 16 | } 17 | export interface IBodyPartHealth { 18 | Maximum: number; 19 | Current: number; 20 | Effects: Record; 21 | } 22 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHandleQTEEventRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHandleQTEEventRequestData { 2 | Action: string; 3 | /** true if QTE was successful, otherwise false */ 4 | results: boolean[]; 5 | /** Id of the QTE object used from db/hideout/qte.json */ 6 | id: string; 7 | timestamp: number; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutCancelProductionRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutCancelProductionRequestData { 2 | Action: "HideoutCancelProductionCommand"; 3 | recipeId: string; 4 | timestamp: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutCircleOfCultistProductionStartRequestData { 2 | Action: "HideoutCircleOfCultistProductionStart"; 3 | timestamp: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutContinuousProductionStartRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutContinuousProductionStartRequestData { 2 | Action: "HideoutContinuousProductionStart"; 3 | recipeId: string; 4 | timestamp: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutCustomizationApplyRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutCustomizationApplyRequestData { 2 | Action: "HideoutCustomizationApply"; 3 | /** Id of the newly picked item to apply to hideout */ 4 | offerId: string; 5 | timestamp: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutCustomizationSetMannequinPoseRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutCustomizationSetMannequinPoseRequest { 2 | Action: "HideoutCustomizationSetMannequinPose"; 3 | poses: Record; 4 | timestamp: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutDeleteProductionRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutDeleteProductionRequestData { 2 | Action: "HideoutDeleteProductionCommand"; 3 | recipeId: string; 4 | timestamp: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutImproveAreaRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutImproveAreaRequestData { 2 | Action: "HideoutImproveArea"; 3 | /** Hideout area id from areas.json */ 4 | id: string; 5 | areaType: number; 6 | items: IHideoutItem[]; 7 | timestamp: number; 8 | } 9 | export interface IHideoutItem { 10 | /** Hideout inventory id that was used by improvement action */ 11 | id: string; 12 | count: number; 13 | } 14 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutPutItemInRequestData { 2 | Action: "HideoutPutItemsInAreaSlots"; 3 | areaType: number; 4 | items: Record; 5 | timestamp: number; 6 | } 7 | export interface ItemDetails { 8 | count: number; 9 | id: string; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutScavCaseStartRequestData { 2 | Action: "HideoutScavCaseProductionStart"; 3 | recipeId: string; 4 | items: IHideoutItem[]; 5 | tools: ITool[]; 6 | timestamp: number; 7 | } 8 | export interface IHideoutItem { 9 | id: string; 10 | count: number; 11 | } 12 | export interface ITool { 13 | id: string; 14 | count: number; 15 | } 16 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutSettingsBase.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutSettingsBase { 2 | generatorSpeedWithoutFuel: number; 3 | generatorFuelFlowRate: number; 4 | airFilterUnitFlowRate: number; 5 | cultistAmuletBonusPercent: number; 6 | gpuBoostRate: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutSingleProductionStartRequestData { 2 | Action: "HideoutSingleProductionStart"; 3 | recipeId: string; 4 | items: IHandoverItem[]; 5 | tools: IHandoverItem[]; 6 | timestamp: number; 7 | } 8 | export interface IHandoverItem { 9 | id: string; 10 | count: number; 11 | } 12 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutTakeItemOutRequestData { 2 | Action: "HideoutTakeItemsFromAreaSlots"; 3 | areaType: number; 4 | slots: number[]; 5 | timestamp: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutTakeProductionRequestData { 2 | Action: "HideoutTakeProduction"; 3 | recipeId: string; 4 | timestamp: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutToggleAreaRequestData { 2 | Action: "HideoutToggleArea"; 3 | areaType: number; 4 | enabled: boolean; 5 | timestamp: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutUpgradeCompleteRequestData { 2 | Action: "HideoutUpgradeComplete"; 3 | areaType: number; 4 | timestamp: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHideoutUpgradeRequestData { 2 | Action: "HideoutUpgrade"; 3 | areaType: number; 4 | items: IHideoutItem[]; 5 | timestamp: number; 6 | } 7 | export interface IHideoutItem { 8 | count: number; 9 | id: string; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/hideout/IRecordShootingRangePoints.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRecordShootingRangePoints { 2 | Action: "RecordShootingRangePoints"; 3 | points: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/httpResponse/IGetBodyResponseData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetBodyResponseData { 2 | err: number; 3 | errmsg: any; 4 | (data: Type): Type; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/httpResponse/INullResponseData.d.ts: -------------------------------------------------------------------------------- 1 | export interface INullResponseData { 2 | err: number; 3 | errmsg: any; 4 | data: undefined; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/inRaid/IInsuredItemsData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IInsuredItemsData { 2 | id: string; 3 | durability?: number; 4 | maxDurability?: number; 5 | hits?: number; 6 | usedInQuest: boolean; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/inRaid/IItemDeliveryRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | export interface IItemDeliveryRequestData { 3 | items: IItem[]; 4 | traderId: string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRegisterPlayerRequestData { 2 | crc: number; 3 | locationId: string; 4 | variantId: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/inRaid/IScavSaveRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IPostRaidPmcData } from "@spt/models/eft/common/IPmcData"; 2 | export interface IScavSaveRequestData extends IPostRaidPmcData { 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetInsuranceCostRequestData { 2 | traders: string[]; 3 | items: string[]; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts: -------------------------------------------------------------------------------- 1 | export type IGetInsuranceCostResponseData = Record>; 2 | -------------------------------------------------------------------------------- /types/models/eft/insurance/IInsureRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseInteractionRequestData } from "@spt/models/eft/common/request/IBaseInteractionRequestData"; 2 | export interface IInsureRequestData extends IBaseInteractionRequestData { 3 | Action: "Insure"; 4 | tid: string; 5 | items: string[]; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IAddItemDirectRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | export interface IAddItemDirectRequest { 3 | /** Item and child mods to add to player inventory */ 4 | itemWithModsToAdd: IItem[]; 5 | foundInRaid: boolean; 6 | callback?: (buyCount: number) => void; 7 | useSortingTable: boolean; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IAddItemRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IAddItemRequestData { 2 | /** Trader id */ 3 | tid: string; 4 | items: IItemToAdd[]; 5 | } 6 | export interface IItemToAdd { 7 | count: number; 8 | sptIsPreset?: boolean; 9 | item_id: string; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IAddItemTempObject.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem, IItemLocation } from "@spt/models/eft/common/tables/IItem"; 2 | export interface IAddItemTempObject { 3 | itemRef: IItem; 4 | count: number; 5 | isPreset: boolean; 6 | location?: IItemLocation; 7 | containerId?: string; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IAddItemsDirectRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | export interface IAddItemsDirectRequest { 3 | /** Item and child mods to add to player inventory */ 4 | itemsWithModsToAdd: IItem[][]; 5 | foundInRaid: boolean; 6 | /** Runs after EACH item with children is added */ 7 | callback?: (buyCount: number) => void; 8 | /** Should sorting table be used when no space found in stash */ 9 | useSortingTable: boolean; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryAddRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IContainer, IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryAddRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Add"; 4 | item: string; 5 | container: IContainer; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryBindRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryBindRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Bind"; 4 | item: string; 5 | index: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryCreateMarkerRequestData extends IInventoryBaseActionRequestData { 3 | Action: "CreateMapMarker"; 4 | item: string; 5 | mapMarker: IMapMarker; 6 | } 7 | export interface IMapMarker { 8 | Type: string; 9 | X: number; 10 | Y: number; 11 | Note: string; 12 | } 13 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryDeleteMarkerRequestData extends IInventoryBaseActionRequestData { 3 | Action: "DeleteMapMarker"; 4 | item: string; 5 | X: number; 6 | Y: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryEditMarkerRequestData extends IInventoryBaseActionRequestData { 3 | Action: "EditMapMarker"; 4 | item: string; 5 | X: number; 6 | Y: number; 7 | mapMarker: IMapMarker; 8 | } 9 | export interface IMapMarker { 10 | Type: string; 11 | X: number; 12 | Y: number; 13 | Note: string; 14 | } 15 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryExamineRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { OwnerInfo } from "@spt/models/eft/common/request/IBaseInteractionRequestData"; 2 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 3 | export interface IInventoryExamineRequestData extends IInventoryBaseActionRequestData { 4 | Action: "Examine"; 5 | item: string; 6 | fromOwner: OwnerInfo; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryFoldRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryFoldRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Fold"; 4 | item: string; 5 | value: boolean; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryMergeRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryMergeRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Merge"; 4 | item: string; 5 | with: string; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryMoveRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData, ITo } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryMoveRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Move"; 4 | item: string; 5 | to: ITo; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryReadEncyclopediaRequestData extends IInventoryBaseActionRequestData { 3 | Action: "ReadEncyclopedia"; 4 | ids: string[]; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryRemoveRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryRemoveRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Remove"; 4 | item: string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventorySortRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 3 | export interface IInventorySortRequestData extends IInventoryBaseActionRequestData { 4 | Action: "ApplyInventoryChanges"; 5 | changedItems: IItem[]; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventorySplitRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IContainer, IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventorySplitRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Split"; 4 | /** Id of item to split */ 5 | splitItem: string; 6 | /** Id of new item stack */ 7 | newItem: string; 8 | /** Destination new item will be placed in */ 9 | container: IContainer; 10 | count: number; 11 | } 12 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventorySwapRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { OwnerInfo } from "@spt/models/eft/common/request/IBaseInteractionRequestData"; 2 | import { IInventoryBaseActionRequestData, ITo } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 3 | export interface IInventorySwapRequestData extends IInventoryBaseActionRequestData { 4 | Action: "Swap"; 5 | item: string; 6 | to: ITo; 7 | item2: string; 8 | to2: ITo; 9 | fromOwner2: OwnerInfo; 10 | toOwner2: OwnerInfo; 11 | } 12 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryTagRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryTagRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Tag"; 4 | item: string; 5 | TagName: string; 6 | TagColor: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryToggleRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryToggleRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Toggle"; 4 | item: string; 5 | value: boolean; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryTransferRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryTransferRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Transfer"; 4 | item: string; 5 | with: string; 6 | count: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IInventoryUnbindRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IInventoryUnbindRequestData extends IInventoryBaseActionRequestData { 3 | Action: "Unbind"; 4 | item: string; 5 | index: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IOpenRandomLootContainerRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IOpenRandomLootContainerRequestData extends IInventoryBaseActionRequestData { 3 | Action: "OpenRandomLootContainer"; 4 | /** Container item id being opened */ 5 | item: string; 6 | to: ITo[]; 7 | } 8 | export interface ITo { 9 | /** Player character (pmc/scav) id items will be sent to */ 10 | id: string; 11 | } 12 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IPinOrLockItemRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { PinLockState } from "../common/tables/IItem"; 2 | export interface IPinOrLockItemRequest { 3 | Action: "PinLock"; 4 | /** Id of item being pinned */ 5 | Item: string; 6 | /** "Pinned"/"Locked"/"Free" */ 7 | State: PinLockState; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/eft/inventory/IRedeemProfileRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface IRedeemProfileRequestData extends IInventoryBaseActionRequestData { 3 | Action: "RedeemProfileReward"; 4 | events: IRedeemProfileRequestEvent[]; 5 | } 6 | export interface IRedeemProfileRequestEvent { 7 | MessageId: string; 8 | EventId: string; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/inventory/ISetFavoriteItems.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData"; 2 | export interface ISetFavoriteItems extends IInventoryBaseActionRequestData { 3 | Action: "SetFavoriteItems"; 4 | items: any[]; 5 | timestamp: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IItemEventRouterBase } from "@spt/models/eft/itemEvent/IItemEventRouterBase"; 2 | export interface IEmptyItemEventRouterResponse extends IItemEventRouterBase { 3 | profileChanges: ""; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/itemEvent/IItemEventRouterRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IItemEventRouterRequest { 2 | data: IDaum[]; 3 | tm: number; 4 | reload: number; 5 | } 6 | export interface IDaum { 7 | Action: string; 8 | item: string; 9 | to: ITo; 10 | } 11 | export interface ITo { 12 | id: string; 13 | container: string; 14 | location?: ILocation; 15 | } 16 | export interface ILocation { 17 | x: number; 18 | y: number; 19 | r: string; 20 | isSearched: boolean; 21 | } 22 | -------------------------------------------------------------------------------- /types/models/eft/itemEvent/IItemEventRouterResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IItemEventRouterBase } from "@spt/models/eft/itemEvent/IItemEventRouterBase"; 2 | /** An object sent back to the game client that contains alterations the client must make to ensure server/client are in sync */ 3 | export interface IItemEventRouterResponse extends IItemEventRouterBase { 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/launcher/IChangeRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { ILoginRequestData } from "@spt/models/eft/launcher/ILoginRequestData"; 2 | export interface IChangeRequestData extends ILoginRequestData { 3 | change: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/launcher/IGetMiniProfileRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetMiniProfileRequestData { 2 | username: string; 3 | password: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/launcher/ILoginRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface ILoginRequestData { 2 | username: string; 3 | password: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/launcher/IMiniProfile.d.ts: -------------------------------------------------------------------------------- 1 | import { ISpt } from "../profile/ISptProfile"; 2 | export interface IMiniProfile { 3 | username: string; 4 | nickname: string; 5 | side: string; 6 | currlvl: number; 7 | currexp: number; 8 | prevexp: number; 9 | nextlvl: number; 10 | maxlvl: number; 11 | edition: string; 12 | profileId: string; 13 | sptData: ISpt; 14 | } 15 | -------------------------------------------------------------------------------- /types/models/eft/launcher/IRegisterData.d.ts: -------------------------------------------------------------------------------- 1 | import { ILoginRequestData } from "@spt/models/eft/launcher/ILoginRequestData"; 2 | export interface IRegisterData extends ILoginRequestData { 3 | edition: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/launcher/IRemoveProfileData.d.ts: -------------------------------------------------------------------------------- 1 | import { ILoginRequestData } from "@spt/models/eft/launcher/ILoginRequestData"; 2 | export type IRemoveProfileData = ILoginRequestData; 3 | -------------------------------------------------------------------------------- /types/models/eft/location/IAirdropLootResult.d.ts: -------------------------------------------------------------------------------- 1 | import { ILootItem } from "@spt/models/spt/services/LootItem"; 2 | export interface IAirdropLootResult { 3 | dropType: string; 4 | loot: ILootItem[]; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/location/IGetAirdropLootRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetAirdropLootRequest { 2 | containerId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/location/IGetAirdropLootResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | import { AirdropTypeEnum } from "@spt/models/enums/AirdropType"; 3 | export interface IGetAirdropLootResponse { 4 | icon: AirdropTypeEnum; 5 | container: IItem[]; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/location/IGetLocationRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetLocationRequestData { 2 | crc: number; 3 | locationId: string; 4 | variantId: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/match/IEndOfflineRaidRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IEndOfflineRaidRequestData { 2 | crc: number; 3 | exitStatus: string; 4 | exitName: string; 5 | raidSeconds: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/match/IGetRaidConfigurationRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IRaidSettings } from "@spt/models/eft/match/IRaidSettings"; 2 | export interface IGetRaidConfigurationRequestData extends IRaidSettings { 3 | keyId: string; 4 | MaxGroupCount: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/match/IMatchGroupCurrentResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter"; 2 | export interface IMatchGroupCurrentResponse { 3 | squad: IGroupCharacter[]; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/match/IMatchGroupInviteSendRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IMatchGroupInviteSendRequest { 2 | to: string; 3 | inLobby: boolean; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/match/IMatchGroupPlayerRemoveRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IMatchGroupPlayerRemoveRequest { 2 | aidToKick: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/match/IMatchGroupStartGameRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { IServer } from "@spt/models/eft/match/IServer"; 2 | export interface IMatchGroupStartGameRequest { 3 | groupId: string; 4 | servers: IServer[]; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/match/IMatchGroupStatusRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { RaidMode } from "@spt/models/enums/RaidMode"; 2 | export interface IMatchGroupStatusRequest { 3 | location: string; 4 | savage: boolean; 5 | dt: string; 6 | keyId: string; 7 | raidMode: RaidMode; 8 | spawnPlace: string; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/match/IMatchGroupStatusResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter"; 2 | export interface IMatchGroupStatusResponse { 3 | players: IGroupCharacter[]; 4 | maxPveCountExceeded: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/match/IMatchGroupTransferRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IMatchGroupTransferRequest { 2 | aidToChange: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/match/IProfileStatusRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IProfileStatusRequest { 2 | groupId: number; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/match/IProfileStatusResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { ISessionStatus } from "@spt/models/eft/match/ISessionStatus"; 2 | export interface IProfileStatusResponse { 3 | maxPveCountExceeded: boolean; 4 | profiles: ISessionStatus[]; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/match/IRequestIdRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRequestIdRequest { 2 | requestId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/match/IServer.d.ts: -------------------------------------------------------------------------------- 1 | export interface IServer { 2 | ping: number; 3 | ip: string; 4 | port: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/match/ISessionStatus.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISessionStatus { 2 | profileid: string; 3 | profileToken: string; 4 | status: string; 5 | ip: string; 6 | port: number; 7 | sid: string; 8 | version?: string; 9 | location?: string; 10 | raidMode?: string; 11 | mode?: string; 12 | shortId?: string; 13 | additional_info?: any[]; 14 | } 15 | -------------------------------------------------------------------------------- /types/models/eft/match/IStartLocalRaidRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import type { ITransition } from "@spt/models/eft/match/IStartLocalRaidResponseData"; 2 | import type { TransitionType } from "@spt/models/enums/TransitionType"; 3 | export interface IStartLocalRaidRequestData { 4 | serverId: string; 5 | location: string; 6 | timeVariant: string; 7 | mode: string; 8 | playerSide: string; 9 | transitionType: TransitionType; 10 | transition: ITransition; 11 | /** Should loot generation be skipped, default false */ 12 | sptSkipLootGeneration?: boolean; 13 | } 14 | -------------------------------------------------------------------------------- /types/models/eft/match/IUpdatePingRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IUpdatePingRequestData { 2 | servers: any[]; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/notes/INoteActionData.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseInteractionRequestData } from "@spt/models/eft/common/request/IBaseInteractionRequestData"; 2 | export interface INoteActionData extends IBaseInteractionRequestData { 3 | Action: string; 4 | index: number; 5 | note: INote; 6 | } 7 | export interface INote { 8 | Time: number; 9 | Text: string; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/notifier/INotifier.d.ts: -------------------------------------------------------------------------------- 1 | export interface INotifierChannel { 2 | server: string; 3 | channel_id: string; 4 | url: string; 5 | notifierServer: string; 6 | ws: string; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/notifier/ISelectProfileResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISelectProfileResponse { 2 | status: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | export interface IPresetBuildActionRequestData { 3 | Action: string; 4 | Id: string; 5 | /** name of preset given by player */ 6 | Name: string; 7 | Root: string; 8 | Items: IItem[]; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/presetBuild/IRemoveBuildRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRemoveBuildRequestData { 2 | id: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/prestige/IGetPrestigeResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IPrestige } from "@spt/models/eft/common/tables/IPrestige"; 2 | export interface IGetPrestigeResponse { 3 | elements: IPrestige; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/prestige/IObtainPrestigeRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IObtainPrestigeRequest { 2 | id: string; 3 | location: ILocation; 4 | } 5 | export interface ILocation { 6 | x: number; 7 | y: number; 8 | r: string; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/eft/profile/GetProfileStatusResponseData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetProfileStatusResponseData { 2 | maxPveCountExceeded: false; 3 | profiles: IProfileStatusData[]; 4 | } 5 | export interface IProfileStatusData { 6 | profileid: string; 7 | profileToken: string; 8 | status: string; 9 | ip: string; 10 | port: number; 11 | sid: string; 12 | version?: string; 13 | location?: string; 14 | raidMode?: string; 15 | mode?: string; 16 | shortId?: string; 17 | additional_info?: any[]; 18 | } 19 | -------------------------------------------------------------------------------- /types/models/eft/profile/ICompletedAchievementsResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface ICompletedAchievementsResponse { 2 | elements: Record; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/profile/IConnectResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface IConnectResponse { 2 | backendUrl: string; 3 | name: string; 4 | editions: string[]; 5 | profileDescriptions: Record; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/profile/ICreateProfileResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface ICreateProfileResponse { 2 | uid: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/profile/IGetAchievementsResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IAchievement } from "@spt/models/eft/common/tables/IAchievement"; 2 | export interface IGetAchievementsResponse { 3 | elements: IAchievement[]; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/profile/IGetOtherProfileRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetOtherProfileRequest { 2 | accountId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/profile/IGetProfileSettingsRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetProfileSettingsRequest { 2 | /** Chosen value for profile.Info.SelectedMemberCategory */ 3 | memberCategory: number; 4 | squadInviteRestriction: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/profile/IMessageContentRagfair.d.ts: -------------------------------------------------------------------------------- 1 | export interface IMessageContentRagfair { 2 | offerId: string; 3 | count: number; 4 | handbookId: string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IProfileChangeNicknameRequestData { 2 | nickname: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IProfileChangeVoiceRequestData { 2 | voice: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/profile/IProfileCreateRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IProfileCreateRequestData { 2 | side: string; 3 | nickname: string; 4 | headId: string; 5 | voiceId: string; 6 | sptForcePrestigeLevel?: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/profile/ISearchFriendRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISearchFriendRequestData { 2 | nickname: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/profile/ISearchFriendResponse.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISearchFriendResponse { 2 | _id: string; 3 | aid: number; 4 | Info: Info; 5 | } 6 | export interface Info { 7 | Nickname: string; 8 | Side: string; 9 | Level: number; 10 | MemberCategory: number; 11 | SelectedMemberCategory: number; 12 | } 13 | -------------------------------------------------------------------------------- /types/models/eft/profile/ISystemData.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISystemData { 2 | date?: string; 3 | time?: string; 4 | location?: string; 5 | buyerNickname?: string; 6 | soldItem?: string; 7 | itemCount?: number; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/eft/profile/IUserDialogInfo.d.ts: -------------------------------------------------------------------------------- 1 | import { MemberCategory } from "@spt/models/enums/MemberCategory"; 2 | export interface IUserDialogInfo { 3 | _id: string; 4 | aid: number; 5 | Info?: IUserDialogDetails; 6 | } 7 | export interface IUserDialogDetails { 8 | Nickname: string; 9 | Side: string; 10 | Level: number; 11 | MemberCategory: MemberCategory; 12 | SelectedMemberCategory: MemberCategory; 13 | } 14 | -------------------------------------------------------------------------------- /types/models/eft/profile/IValidateNicknameRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IValidateNicknameRequestData { 2 | nickname: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/quests/IAcceptQuestRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IAcceptQuestRequestData { 2 | Action: "QuestAccept"; 3 | qid: string; 4 | type: string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/quests/ICompleteQuestRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface ICompleteQuestRequestData { 2 | Action: string; 3 | /** Quest Id */ 4 | qid: string; 5 | removeExcessItems: boolean; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/quests/IFailQuestRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IFailQuestRequestData { 2 | Action: "QuestFail"; 3 | qid: string; 4 | removeExcessItems: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/quests/IHandoverQuestRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHandoverQuestRequestData { 2 | Action: "QuestHandover"; 3 | qid: string; 4 | conditionId: string; 5 | items: IHandoverItem[]; 6 | } 7 | export interface IHandoverItem { 8 | id: string; 9 | count: number; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/quests/IListQuestsRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IListQuestsRequestData { 2 | completed: boolean; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRepeatableQuestChangeRequest { 2 | Action: "RepeatableQuestChange"; 3 | qid: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/IAddOfferRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IAddOfferRequestData { 2 | Action: string; 3 | sellInOnePiece: boolean; 4 | items: string[]; 5 | requirements: IRequirement[]; 6 | } 7 | export interface IRequirement { 8 | _tpl: string; 9 | count: number; 10 | level: number; 11 | side: number; 12 | onlyFunctional: boolean; 13 | } 14 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/IExtendOfferRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IExtendOfferRequestData { 2 | offerId: string; 3 | renewalTime: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/IGetItemPriceResult.d.ts: -------------------------------------------------------------------------------- 1 | import { MinMax } from "@spt/models/common/MinMax"; 2 | export interface IGetItemPriceResult extends MinMax { 3 | avg: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetMarketPriceRequestData { 2 | templateId: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/IGetOffersResult.d.ts: -------------------------------------------------------------------------------- 1 | import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer"; 2 | export interface IGetOffersResult { 3 | categories?: Record; 4 | offers: IRagfairOffer[]; 5 | offersCount: number; 6 | selectedCategory: string; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/IGetRagfairOfferByIdRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IGetRagfairOfferByIdRequest { 2 | id: number; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/IRemoveOfferRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRemoveOfferRequestData { 2 | Action: string; 3 | offerId: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISendRagfairReportRequestData { 2 | offerId: number; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/ragfair/IStorePlayerOfferTaxAmountRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IStorePlayerOfferTaxAmountRequestData { 2 | id: string; 3 | tpl: string; 4 | count: number; 5 | fee: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/repair/IBaseRepairActionDataRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IBaseRepairActionDataRequest { 2 | Action: string; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/repair/IRepairActionDataRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseRepairActionDataRequest } from "@spt/models/eft/repair/IBaseRepairActionDataRequest"; 2 | export interface IRepairActionDataRequest extends IBaseRepairActionDataRequest { 3 | Action: "Repair"; 4 | repairKitsInfo: IRepairKitsInfo[]; 5 | target: string; 6 | } 7 | export interface IRepairKitsInfo { 8 | _id: string; 9 | count: number; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/repair/ITraderRepairActionDataRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseRepairActionDataRequest } from "@spt/models/eft/repair/IBaseRepairActionDataRequest"; 2 | export interface ITraderRepairActionDataRequest extends IBaseRepairActionDataRequest { 3 | Action: "TraderRepair"; 4 | tid: string; 5 | repairItems: IRepairItem[]; 6 | } 7 | export interface IRepairItem { 8 | _id: string; 9 | count: number; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/eft/trade/IProcessBaseTradeRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IProcessBaseTradeRequestData { 2 | Action: string; 3 | type: string; 4 | tid: string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/trade/IProcessBuyTradeRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IProcessBaseTradeRequestData } from "@spt/models/eft/trade/IProcessBaseTradeRequestData"; 2 | export interface IProcessBuyTradeRequestData extends IProcessBaseTradeRequestData { 3 | Action: "buy_from_trader" | "TradingConfirm" | "RestoreHealth" | "SptInsure" | "SptRepair" | ""; 4 | type: string; 5 | tid: string; 6 | item_id: string; 7 | count: number; 8 | scheme_id: number; 9 | scheme_items: ISchemeItem[]; 10 | } 11 | export interface ISchemeItem { 12 | /** Id of stack to take money from, is money tpl when Action is `SptInsure` */ 13 | id: string; 14 | count: number; 15 | } 16 | -------------------------------------------------------------------------------- /types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IProcessRagfairTradeRequestData { 2 | Action: string; 3 | offers: IOfferRequest[]; 4 | } 5 | export interface IOfferRequest { 6 | id: string; 7 | count: number; 8 | items: IItemReqeust[]; 9 | } 10 | export interface IItemReqeust { 11 | id: string; 12 | count: number; 13 | } 14 | -------------------------------------------------------------------------------- /types/models/eft/trade/IProcessSellTradeRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { IProcessBaseTradeRequestData } from "@spt/models/eft/trade/IProcessBaseTradeRequestData"; 2 | export interface IProcessSellTradeRequestData extends IProcessBaseTradeRequestData { 3 | Action: "sell_to_trader"; 4 | type: string; 5 | tid: string; 6 | price: number; 7 | items: ISoldItem[]; 8 | } 9 | export interface ISoldItem { 10 | id: string; 11 | count: number; 12 | scheme_id: number; 13 | } 14 | -------------------------------------------------------------------------------- /types/models/eft/trade/ISellScavItemsToFenceRequestData.d.ts: -------------------------------------------------------------------------------- 1 | import { OwnerInfo } from "@spt/models/eft/common/request/IBaseInteractionRequestData"; 2 | export interface ISellScavItemsToFenceRequestData { 3 | Action: "SellAllFromSavage"; 4 | totalValue: number; 5 | fromOwner: OwnerInfo; 6 | toOwner: OwnerInfo; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/wishlist/IAddToWishlistRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IAddToWishlistRequest { 2 | Action: string; 3 | items: Record; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/wishlist/IChangeWishlistItemCategoryRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IChangeWishlistItemCategoryRequest { 2 | Action: string; 3 | item: string; 4 | category: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/wishlist/IRemoveFromWishlistRequest.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRemoveFromWishlistRequest { 2 | Action: string; 3 | items: string[]; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsAid.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | export interface IWsAid extends IWsNotificationEvent { 3 | aid: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsAidNickname.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | export interface IWsAidNickname extends IWsNotificationEvent { 3 | aid: number; 4 | Nickname: string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsChatMessageReceived.d.ts: -------------------------------------------------------------------------------- 1 | import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter"; 2 | import { IMessage } from "@spt/models/eft/profile/ISptProfile"; 3 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 4 | export interface IWsChatMessageReceived extends IWsNotificationEvent { 5 | dialogId: string; 6 | message: IMessage; 7 | profiles?: IGroupCharacter[]; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsFriendsListAccept.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | import { ISearchFriendResponse } from "../profile/ISearchFriendResponse"; 3 | export interface IWsFriendsListAccept extends IWsNotificationEvent { 4 | profile: ISearchFriendResponse; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsGroupId.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | export interface IWsGroupId extends IWsNotificationEvent { 3 | groupId: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsGroupMatchInviteAccept.d.ts: -------------------------------------------------------------------------------- 1 | import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter"; 2 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 3 | export interface IWsGroupMatchInviteAccept extends IWsNotificationEvent, IGroupCharacter { 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsGroupMatchInviteDecline.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | export interface IWsGroupMatchInviteDecline extends IWsNotificationEvent { 3 | aid: number; 4 | Nickname: string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsGroupMatchInviteSend.d.ts: -------------------------------------------------------------------------------- 1 | import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter"; 2 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 3 | export interface IWsGroupMatchInviteSend extends IWsNotificationEvent { 4 | requestId: string; 5 | from: number; 6 | members: IGroupCharacter[]; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsGroupMatchLeaderChanged.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | export interface IWsGroupMatchLeaderChanged extends IWsNotificationEvent { 3 | owner: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsGroupMatchRaidReady.d.ts: -------------------------------------------------------------------------------- 1 | import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter"; 2 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 3 | export interface IWsGroupMatchRaidReady extends IWsNotificationEvent { 4 | extendedProfile: IGroupCharacter; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsGroupMatchRaidSettings.d.ts: -------------------------------------------------------------------------------- 1 | import { IRaidSettings } from "@spt/models/eft/match/IRaidSettings"; 2 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 3 | export interface IWsGroupMatchRaidSettings extends IWsNotificationEvent { 4 | raidSettings: IRaidSettings; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsNotificationEvent.d.ts: -------------------------------------------------------------------------------- 1 | export interface IWsNotificationEvent { 2 | type: string; 3 | eventId?: string; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsPing.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | export interface IWsPing extends IWsNotificationEvent { 3 | } 4 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsRagfairOfferSold.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | export interface IWsRagfairOfferSold extends IWsNotificationEvent { 3 | offerId: string; 4 | count: number; 5 | handbookId: string; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/eft/ws/IWsUserConfirmed.d.ts: -------------------------------------------------------------------------------- 1 | import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent"; 2 | import { ProfileStatus } from "@spt/models/enums/ProfileStatus"; 3 | import { RaidMode } from "@spt/models/enums/RaidMode"; 4 | export interface IWsUserConfirmed extends IWsNotificationEvent { 5 | profileid: string; 6 | profileToken: string; 7 | status: ProfileStatus; 8 | ip: string; 9 | port: number; 10 | sid: string; 11 | version: string; 12 | location: string; 13 | raidMode: RaidMode; 14 | mode: string; 15 | shortId: string; 16 | additional_info: any[]; 17 | } 18 | -------------------------------------------------------------------------------- /types/models/enums/AccountTypes.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum AccountTypes { 2 | SPT_DEVELOPER = "spt developer" 3 | } 4 | -------------------------------------------------------------------------------- /types/models/enums/AirdropType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum AirdropTypeEnum { 2 | COMMON = "Common", 3 | SUPPLY = "Supply", 4 | MEDICAL = "Medical", 5 | WEAPON_ARMOR = "Weapon" 6 | } 7 | export declare enum SptAirdropTypeEnum { 8 | COMMON = "mixed", 9 | SUPPLY = "barter", 10 | FOOD_MEDICAL = "foodMedical", 11 | WEAPON_ARMOR = "weaponArmor", 12 | RADAR = "radar" 13 | } 14 | -------------------------------------------------------------------------------- /types/models/enums/BonusSkillType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum BonusSkillType { 2 | PHYSICAL = "Physical", 3 | COMBAT = "Combat", 4 | SPECIAL = "Special", 5 | PRACTICAL = "Practical", 6 | MENTAL = "Mental" 7 | } 8 | -------------------------------------------------------------------------------- /types/models/enums/DateTime.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum DateTime { 2 | CURR = "CURR", 3 | PAST = "PAST" 4 | } 5 | -------------------------------------------------------------------------------- /types/models/enums/DogtagExchangeSide.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum DogtagExchangeSide { 2 | USEC = "Usec", 3 | BEAR = "Bear", 4 | ANY = "Any" 5 | } 6 | -------------------------------------------------------------------------------- /types/models/enums/ELocationName.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum ELocationName { 2 | FACTORY_DAY = "factory4_day", 3 | FACTORY_NIGHT = "factory4_night", 4 | BIGMAP = "bigmap", 5 | WOODS = "Woods", 6 | SHORELINE = "Shoreline", 7 | SANDBOX = "Sandbox", 8 | INTERCHANGE = "Interchange", 9 | LIGHTHOUSE = "Lighthouse", 10 | LABORATORY = "laboratory", 11 | RESERVE = "RezervBase", 12 | STREETS = "TarkovStreets", 13 | ANY = "any" 14 | } 15 | -------------------------------------------------------------------------------- /types/models/enums/EntryType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum EntryType { 2 | LOCAL = "LOCAL", 3 | DEBUG = "DEBUG", 4 | RELEASE = "RELEASE", 5 | BLEEDING_EDGE = "BLEEDING_EDGE", 6 | BLEEDING_EDGE_MODS = "BLEEDING_EDGE_MODS" 7 | } 8 | -------------------------------------------------------------------------------- /types/models/enums/EquipmentBuildType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum EquipmentBuildType { 2 | CUSTOM = 0, 3 | STANDARD = 1 4 | } 5 | -------------------------------------------------------------------------------- /types/models/enums/EquipmentSlots.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum EquipmentSlots { 2 | HEADWEAR = "Headwear", 3 | EARPIECE = "Earpiece", 4 | FACE_COVER = "FaceCover", 5 | ARMOR_VEST = "ArmorVest", 6 | EYEWEAR = "Eyewear", 7 | ARM_BAND = "ArmBand", 8 | TACTICAL_VEST = "TacticalVest", 9 | POCKETS = "Pockets", 10 | BACKPACK = "Backpack", 11 | SECURED_CONTAINER = "SecuredContainer", 12 | FIRST_PRIMARY_WEAPON = "FirstPrimaryWeapon", 13 | SECOND_PRIMARY_WEAPON = "SecondPrimaryWeapon", 14 | HOLSTER = "Holster", 15 | SCABBARD = "Scabbard" 16 | } 17 | -------------------------------------------------------------------------------- /types/models/enums/ExitStatis.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum ExitStatus { 2 | SURVIVED = "Survived", 3 | KILLED = "Killed", 4 | LEFT = "Left", 5 | RUNNER = "Runner", 6 | MISSINGINACTION = "MissingInAction", 7 | TRANSIT = "Transit" 8 | } 9 | -------------------------------------------------------------------------------- /types/models/enums/FleaOfferType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum FleaOfferType { 2 | SINGLE = 0, 3 | MULTI = 1, 4 | PACK = 2, 5 | UNKNOWN = 3 6 | } 7 | -------------------------------------------------------------------------------- /types/models/enums/GameEditions.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum GameEditions { 2 | STANDARD = "standard", 3 | LEFT_BEHIND = "left_behind", 4 | PREPARE_FOR_ESCAPE = "prepare_for_escape", 5 | EDGE_OF_DARKNESS = "edge_of_darkness", 6 | UNHEARD = "unheard_edition", 7 | TOURNAMENT = "tournament_live" 8 | } 9 | -------------------------------------------------------------------------------- /types/models/enums/GiftSenderType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum GiftSenderType { 2 | SYSTEM = "System", 3 | TRADER = "Trader", 4 | USER = "User" 5 | } 6 | -------------------------------------------------------------------------------- /types/models/enums/GiftSentResult.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum GiftSentResult { 2 | FAILED_UNKNOWN = 1, 3 | FAILED_GIFT_ALREADY_RECEIVED = 2, 4 | FAILED_GIFT_DOESNT_EXIST = 3, 5 | SUCCESS = 4 6 | } 7 | -------------------------------------------------------------------------------- /types/models/enums/ItemAddedResult.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum ItemAddedResult { 2 | UNKNOWN = -1, 3 | SUCCESS = 1, 4 | NO_SPACE = 2, 5 | NO_CONTAINERS = 3, 6 | INCOMPATIBLE_ITEM = 4 7 | } 8 | -------------------------------------------------------------------------------- /types/models/enums/MemberCategory.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum MemberCategory { 2 | DEFAULT = 0, 3 | DEVELOPER = 1, 4 | UNIQUE_ID = 2, 5 | TRADER = 4, 6 | GROUP = 8, 7 | SYSTEM = 16, 8 | CHAT_MODERATOR = 32, 9 | CHAT_MODERATOR_WITH_PERMANENT_BAN = 64, 10 | UNIT_TEST = 128, 11 | SHERPA = 256, 12 | EMISSARY = 512, 13 | UNHEARD = 1024 14 | } 15 | -------------------------------------------------------------------------------- /types/models/enums/MessageType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum MessageType { 2 | USER_MESSAGE = 1, 3 | NPC_TRADER = 2, 4 | AUCTION_MESSAGE = 3, 5 | FLEAMARKET_MESSAGE = 4, 6 | ADMIN_MESSAGE = 5, 7 | GROUP_CHAT_MESSAGE = 6, 8 | SYSTEM_MESSAGE = 7, 9 | INSURANCE_RETURN = 8, 10 | GLOBAL_CHAT = 9, 11 | QUEST_START = 10, 12 | QUEST_FAIL = 11, 13 | QUEST_SUCCESS = 12, 14 | MESSAGE_WITH_ITEMS = 13, 15 | INITIAL_SUPPORT = 14, 16 | BTR_ITEMS_DELIVERY = 15 17 | } 18 | -------------------------------------------------------------------------------- /types/models/enums/ModSpawn.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum ModSpawn { 2 | /** Chosen mod should be the tpl from the default weapon template */ 3 | DEFAULT_MOD = 0, 4 | /** Normal behaviour */ 5 | SPAWN = 1, 6 | /** Item should not be chosen */ 7 | SKIP = 2 8 | } 9 | -------------------------------------------------------------------------------- /types/models/enums/Money.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum Money { 2 | ROUBLES = "5449016a4bdc2d6f028b456f", 3 | EUROS = "569668774bdc2da2298b4568", 4 | DOLLARS = "5696686a4bdc2da3298b456a", 5 | GP = "5d235b4d86f7742e017bc88a" 6 | } 7 | -------------------------------------------------------------------------------- /types/models/enums/PlayerRaidEndState.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum PlayerRaidEndState { 2 | SURVIVED = "survived", 3 | LEFT = "left", 4 | RUNNER = "runner", 5 | MISSING_IN_ACTION = "missinginaction", 6 | KILLED = "killed" 7 | } 8 | -------------------------------------------------------------------------------- /types/models/enums/PlayersSpawnPlace.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum PlayersSpawnPlace { 2 | SAME_PLACE = "SamePlace", 3 | DIFFERENT_PLACES = "DifferentPlaces", 4 | AT_THE_ENDS_OF_THE_MAP = "AtTheEndsOfTheMap" 5 | } 6 | -------------------------------------------------------------------------------- /types/models/enums/ProfileStatus.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum ProfileStatus { 2 | FREE = "Free", 3 | MATCH_WAIT = "MatchWait", 4 | BUSY = "Busy", 5 | LEAVING = "Leaving", 6 | TRANSFER = "Transfer" 7 | } 8 | -------------------------------------------------------------------------------- /types/models/enums/QuestStatus.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum QuestStatus { 2 | Locked = 0, 3 | AvailableForStart = 1, 4 | Started = 2, 5 | AvailableForFinish = 3, 6 | Success = 4, 7 | Fail = 5, 8 | FailRestartable = 6, 9 | MarkedAsFailed = 7, 10 | Expired = 8, 11 | AvailableAfter = 9 12 | } 13 | -------------------------------------------------------------------------------- /types/models/enums/QuestTypeEnum.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum QuestTypeEnum { 2 | PICKUP = "PickUp", 3 | ELIMINATION = "Elimination", 4 | DISCOVER = "Discover", 5 | COMPLETION = "Completion", 6 | EXPLORATION = "Exploration", 7 | LEVELLING = "Levelling", 8 | EXPERIENCE = "Experience", 9 | STANDING = "Standing", 10 | LOYALTY = "Loyalty", 11 | MERCHANT = "Merchant", 12 | SKILL = "Skill", 13 | MULTI = "Multi", 14 | WEAPON_ASSEMBLY = "WeaponAssembly" 15 | } 16 | -------------------------------------------------------------------------------- /types/models/enums/RagfairSort.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum RagfairSort { 2 | ID = 0, 3 | BARTER = 2, 4 | RATING = 3, 5 | OFFER_TITLE = 4, 6 | PRICE = 5, 7 | EXPIRY = 6 8 | } 9 | -------------------------------------------------------------------------------- /types/models/enums/RaidMode.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum RaidMode { 2 | ONLINE = "Online", 3 | LOCAL = "Local", 4 | COOP = "Coop" 5 | } 6 | -------------------------------------------------------------------------------- /types/models/enums/RaidSettings/BotAmount.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum BotAmount { 2 | AS_ONLINE = "AsOnline", 3 | NO_BOTS = "NoBots", 4 | LOW = "Low", 5 | MEDIUM = "Medium", 6 | HIGH = "High", 7 | HORDE = "Horde" 8 | } 9 | -------------------------------------------------------------------------------- /types/models/enums/RaidSettings/BotDifficulty.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum BotDifficulty { 2 | AS_ONLINE = "AsOnline", 3 | EASY = "Easy", 4 | MEDIUM = "Medium", 5 | HARD = "Hard", 6 | IMPOSSIBLE = "Impossible", 7 | RANDOM = "Random" 8 | } 9 | -------------------------------------------------------------------------------- /types/models/enums/RaidSettings/TimeAndWeather/CloudinessType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum CloudinessType { 2 | CLEAR = "Clear", 3 | PARTLY_CLOUDY = "PartlyCloudy", 4 | CLOUDY = "Cloudy", 5 | CLOUDY_WITH_GAPS = "CloudyWithGaps", 6 | HEAVY_CLOUD_COVER = "HeavyCloudCover", 7 | THUNDER_CLOUD = "Thundercloud" 8 | } 9 | -------------------------------------------------------------------------------- /types/models/enums/RaidSettings/TimeAndWeather/FogType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum FogType { 2 | NO_FOG = "NoFog", 3 | FAINT = "Faint", 4 | FOG = "Fog", 5 | HEAVY = "Heavy", 6 | CONTINUOUS = "Continuous" 7 | } 8 | -------------------------------------------------------------------------------- /types/models/enums/RaidSettings/TimeAndWeather/RainType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum RainType { 2 | NO_RAIN = "NoRain", 3 | DRIZZLING = "Drizzling", 4 | RAIN = "Rain", 5 | HEAVY = "Heavy", 6 | SHOWER = "Shower" 7 | } 8 | -------------------------------------------------------------------------------- /types/models/enums/RaidSettings/TimeAndWeather/TimeFlowType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum TimeFlowType { 2 | X0 = "x0", 3 | X0_14 = "x0_14", 4 | X0_25 = "x0_25", 5 | X0_5 = "x0_5", 6 | X1 = "x1", 7 | X2 = "x2", 8 | X4 = "x4", 9 | X8 = "x8" 10 | } 11 | -------------------------------------------------------------------------------- /types/models/enums/RaidSettings/TimeAndWeather/WindSpeed.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum WindSpeed { 2 | LIGHT = "Light", 3 | MODERATE = "Moderate", 4 | STRONG = "Strong", 5 | VERY_STRONG = "VeryStrong", 6 | HURRICANE = "Hurricane" 7 | } 8 | -------------------------------------------------------------------------------- /types/models/enums/RewardType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum RewardType { 2 | SKILL = "Skill", 3 | EXPERIENCE = "Experience", 4 | TRADER_STANDING = "TraderStanding", 5 | TRADER_UNLOCK = "TraderUnlock", 6 | ITEM = "Item", 7 | ASSORTMENT_UNLOCK = "AssortmentUnlock", 8 | PRODUCTIONS_SCHEME = "ProductionScheme", 9 | TRADER_STANDING_RESET = "TraderStandingReset", 10 | TRADER_STANDING_RESTORE = "TraderStandingRestore", 11 | STASH_ROWS = "StashRows", 12 | ACHIEVEMENT = "Achievement", 13 | POCKETS = "Pockets", 14 | CUSTOMIZATION_DIRECT = "CustomizationDirect", 15 | CUSTOMIZATION_OFFER = "CustomizationOffer", 16 | EXTRA_DAILY_QUEST = "ExtraDailyQuest" 17 | } 18 | -------------------------------------------------------------------------------- /types/models/enums/Season.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum Season { 2 | SUMMER = 0, 3 | AUTUMN = 1, 4 | WINTER = 2, 5 | SPRING = 3, 6 | AUTUMN_LATE = 4, 7 | SPRING_EARLY = 5, 8 | STORM = 6 9 | } 10 | -------------------------------------------------------------------------------- /types/models/enums/SeasonalEventType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum SeasonalEventType { 2 | NONE = "None", 3 | CHRISTMAS = "Christmas", 4 | HALLOWEEN = "Halloween", 5 | NEW_YEARS = "NewYears", 6 | PROMO = "Promo", 7 | APRIL_FOOLS = "AprilFools" 8 | } 9 | -------------------------------------------------------------------------------- /types/models/enums/SideType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum SideType { 2 | PMC = "Pmc", 3 | SAVAGE = "Savage", 4 | RANDOM = "Random" 5 | } 6 | -------------------------------------------------------------------------------- /types/models/enums/TraderServiceType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum TraderServiceType { 2 | EXUSEC_LOYALTY = "ExUsecLoyalty", 3 | ZRYACHIY_AID = "ZryachiyAid", 4 | CULTISTS_AID = "CultistsAid", 5 | BTR_ITEMS_DELIVERY = "BtrItemsDelivery", 6 | PLAYER_TAXI = "PlayerTaxi", 7 | BTR_BOT_COVER = "BtrBotCover", 8 | TRANSIT_ITEMS_DELIVERY = "TransitItemsDelivery" 9 | } 10 | -------------------------------------------------------------------------------- /types/models/enums/Traders.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum Traders { 2 | PRAPOR = "54cb50c76803fa8b248b4571", 3 | THERAPIST = "54cb57776803fa99248b456e", 4 | FENCE = "579dc571d53a0658a154fbec", 5 | SKIER = "58330581ace78e27b8b10cee", 6 | PEACEKEEPER = "5935c25fb3acc3127c3d8cd9", 7 | MECHANIC = "5a7c2eca46aef81a7ca2145d", 8 | RAGMAN = "5ac3b934156ae10c4430e83c", 9 | JAEGER = "5c0647fdd443bc2504c2d371", 10 | LIGHTHOUSEKEEPER = "638f541a29ffd1183d187f57", 11 | BTR = "656f0f98d80a697f855d34b1", 12 | REF = "6617beeaa9cfa777ca915b7c" 13 | } 14 | -------------------------------------------------------------------------------- /types/models/enums/TransitionType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum TransitionType { 2 | None = 0, 3 | Common = 1, 4 | Event = 2 5 | } 6 | -------------------------------------------------------------------------------- /types/models/enums/WeaponSkillTypes.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum WeaponSkillTypes { 2 | PISTOL = "Pistol", 3 | REVOLVER = "Revolver", 4 | SMG = "SMG", 5 | ASSAULT = "Assault", 6 | SHOTGUN = "Shotgun", 7 | SNIPER = "Sniper", 8 | LMG = "LMG", 9 | HMG = "HMG", 10 | DMR = "DMR", 11 | LAUNCHER = "Launcher", 12 | ATTACHED_LAUNCHER = "AttachedLauncher", 13 | MELEE = "Melee" 14 | } 15 | -------------------------------------------------------------------------------- /types/models/enums/WeatherType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum WeatherType { 2 | CLEAR_DAY = 0, 3 | CLEAR_WIND = 1, 4 | CLEAR_NIGHT = 2, 5 | PARTLY_CLOUD_DAY = 3, 6 | PARTLY_CLOUD_NIGHT = 4, 7 | CLEAR_FOG_DAY = 5, 8 | CLEAR_FOG_NIGHT = 6, 9 | CLOUD_FOG = 7, 10 | FOG = 8, 11 | MOSTLY_CLOUD = 9, 12 | LIGHT_RAIN = 10, 13 | RAIN = 11, 14 | CLOUD_WIND = 12, 15 | CLOUD_WIND_RAIN = 13, 16 | FULL_CLOUD = 14, 17 | THUNDER_CLOUD = 15, 18 | NONE = 16 19 | } 20 | -------------------------------------------------------------------------------- /types/models/enums/WindDirection.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum WindDirection { 2 | EAST = 1, 3 | NORTH = 2, 4 | WEST = 3, 5 | SOUTH = 4, 6 | SE = 5, 7 | SW = 6, 8 | NW = 7, 9 | NE = 8 10 | } 11 | -------------------------------------------------------------------------------- /types/models/enums/hideout/CircleRewardType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum CircleRewardType { 2 | RANDOM = 0, 3 | HIDEOUT_TASK = 1 4 | } 5 | -------------------------------------------------------------------------------- /types/models/enums/hideout/QteActivityType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum QteActivityType { 2 | GYM = 0 3 | } 4 | -------------------------------------------------------------------------------- /types/models/enums/hideout/QteEffectType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum QteEffectType { 2 | FINISH_EFFECT = "finishEffect", 3 | SINGLE_SUCCESS_EFFECT = "singleSuccessEffect", 4 | SINGLE_FAIL_EFFECT = "singleFailEffect" 5 | } 6 | -------------------------------------------------------------------------------- /types/models/enums/hideout/QteResultType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum QteResultType { 2 | NONE = "None", 3 | EXIT = "Exit" 4 | } 5 | -------------------------------------------------------------------------------- /types/models/enums/hideout/QteRewardType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum QteRewardType { 2 | SKILL = "Skill", 3 | HEALTH_EFFECT = "HealthEffect", 4 | MUSCLE_PAIN = "MusclePain", 5 | GYM_ARM_TRAUMA = "GymArmTrauma" 6 | } 7 | -------------------------------------------------------------------------------- /types/models/enums/hideout/QteType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum QteType { 2 | SHRINKING_CIRCLE = 0 3 | } 4 | -------------------------------------------------------------------------------- /types/models/enums/hideout/RequirementType.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum RequirementType { 2 | AREA = "Area", 3 | ITEM = "Item", 4 | TRADER_UNLOCK = "TraderUnlock", 5 | TRADER_LOYALTY = "TraderLoyalty", 6 | SKILL = "Skill", 7 | RESOURCE = "Resource", 8 | TOOL = "Tool", 9 | QUEST_COMPLETE = "QuestComplete", 10 | HEALTH = "Health", 11 | BODY_PART_BUFF = "BodyPartBuff" 12 | } 13 | -------------------------------------------------------------------------------- /types/models/external/IPostDBLoadMod.d.ts: -------------------------------------------------------------------------------- 1 | import type { DependencyContainer } from "tsyringe"; 2 | export interface IPostDBLoadMod { 3 | postDBLoad(container: DependencyContainer): void; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/external/IPostDBLoadModAsync.d.ts: -------------------------------------------------------------------------------- 1 | import type { DependencyContainer } from "tsyringe"; 2 | export interface IPostDBLoadModAsync { 3 | postDBLoadAsync(container: DependencyContainer): Promise; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/external/IPostSptLoadMod.d.ts: -------------------------------------------------------------------------------- 1 | import type { DependencyContainer } from "tsyringe"; 2 | export interface IPostSptLoadMod { 3 | postSptLoad(container: DependencyContainer): void; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/external/IPostSptLoadModAsync.d.ts: -------------------------------------------------------------------------------- 1 | import type { DependencyContainer } from "tsyringe"; 2 | export interface IPostSptLoadModAsync { 3 | postSptLoadAsync(container: DependencyContainer): Promise; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/external/IPreSptLoadMod.d.ts: -------------------------------------------------------------------------------- 1 | import type { DependencyContainer } from "tsyringe"; 2 | export interface IPreSptLoadMod { 3 | preSptLoad(container: DependencyContainer): void; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/external/IPreSptLoadModAsync.d.ts: -------------------------------------------------------------------------------- 1 | import type { DependencyContainer } from "tsyringe"; 2 | export interface IPreSptLoadModAsync { 3 | preSptLoadAsync(container: DependencyContainer): Promise; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/external/tsyringe.d.ts: -------------------------------------------------------------------------------- 1 | import type { DependencyContainer } from "tsyringe"; 2 | export type { DependencyContainer }; 3 | -------------------------------------------------------------------------------- /types/models/spt/bindings/Route.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRoute { 2 | spt: any; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/spt/bots/IBots.d.ts: -------------------------------------------------------------------------------- 1 | import { IBotBase } from "@spt/models/eft/common/tables/IBotBase"; 2 | import { IBotCore } from "@spt/models/eft/common/tables/IBotCore"; 3 | import { IBotType } from "@spt/models/eft/common/tables/IBotType"; 4 | export interface IBots { 5 | types: Record; 6 | base: IBotBase; 7 | core: IBotCore; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/bots/IChooseRandomCompatibleModResult.d.ts: -------------------------------------------------------------------------------- 1 | export interface IChooseRandomCompatibleModResult { 2 | incompatible: boolean; 3 | found?: boolean; 4 | chosenTpl?: string; 5 | reason: string; 6 | slotBlocked?: boolean; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/spt/bots/IFilterPlateModsForSlotByLevelResult.d.ts: -------------------------------------------------------------------------------- 1 | export interface IFilterPlateModsForSlotByLevelResult { 2 | result: Result; 3 | plateModTpls?: string[]; 4 | } 5 | export declare enum Result { 6 | UNKNOWN_FAILURE = -1, 7 | SUCCESS = 1, 8 | NO_DEFAULT_FILTER = 2, 9 | NOT_PLATE_HOLDING_SLOT = 3, 10 | LACKS_PLATE_WEIGHTS = 4 11 | } 12 | -------------------------------------------------------------------------------- /types/models/spt/bots/IGenerateWeaponResult.d.ts: -------------------------------------------------------------------------------- 1 | import { IMods } from "@spt/models/eft/common/tables/IBotType"; 2 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 3 | import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem"; 4 | export interface IGenerateWeaponResult { 5 | weapon: IItem[]; 6 | chosenAmmoTpl: string; 7 | chosenUbglAmmoTpl: string; 8 | weaponMods: IMods; 9 | weaponTemplate: ITemplateItem; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/spt/bots/IItemSpawnLimitSettings.d.ts: -------------------------------------------------------------------------------- 1 | export interface IItemSpawnLimitSettings { 2 | currentLimits: Record; 3 | globalLimits: Record; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IBotCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { IGenerateBotsRequestData } from "@spt/models/eft/bot/IGenerateBotsRequestData"; 2 | import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; 3 | import { IBotBase } from "@spt/models/eft/common/tables/IBotBase"; 4 | import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; 5 | export interface IBotCallbacks { 6 | getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; 7 | getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; 8 | generateBots(url: string, info: IGenerateBotsRequestData, sessionID: string): IGetBodyResponseData; 9 | getBotCap(): string; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IBundleCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | export interface IBundleCallbacks { 2 | sendBundle(sessionID: string, req: any, resp: any, body: any): any; 3 | getBundles(url: string, info: any, sessionID: string): string; 4 | getBundle(url: string, info: any, sessionID: string): string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IHandbookCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHandbookCallbacks { 2 | load(): void; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IHttpCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | export interface IHttpCallbacks { 2 | load(): void; 3 | sendImage(sessionID: string, req: any, resp: any, body: any): void; 4 | getImage(): string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IInsuranceCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 2 | import { IGetInsuranceCostRequestData } from "@spt/models/eft/insurance/IGetInsuranceCostRequestData"; 3 | import { IInsureRequestData } from "@spt/models/eft/insurance/IInsureRequestData"; 4 | import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; 5 | export interface IInsuranceCallbacks { 6 | onLoad(sessionID: string): ISptProfile; 7 | getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): any; 8 | insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): any; 9 | update(secondsSinceLastRun: number): boolean; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IItemEventCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; 2 | import { IItemEventRouterRequest } from "@spt/models/eft/itemEvent/IItemEventRouterRequest"; 3 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 4 | export interface IItemEventCallbacks { 5 | handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/ILocationCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { ILocationBase } from "@spt/models/eft/common/ILocationBase"; 2 | import { ILocationsGenerateAllResponse } from "@spt/models/eft/common/ILocationsSourceDestinationBase"; 3 | import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; 4 | import { IGetLocationRequestData } from "@spt/models/eft/location/IGetLocationRequestData"; 5 | export interface ILocationCallbacks { 6 | getLocationData(url: string, info: any, sessionID: string): IGetBodyResponseData; 7 | getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IModCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | export interface IModCallbacks { 2 | load(): void; 3 | sendBundle(sessionID: string, req: any, resp: any, body: any): void; 4 | getBundles(url: string, info: any, sessionID: string): string; 5 | getBundle(url: string, info: any, sessionID: string): string; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/INoteCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 2 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 3 | import { INoteActionData } from "@spt/models/eft/notes/INoteActionData"; 4 | export interface INoteCallbacks { 5 | addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; 6 | editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; 7 | deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IPresetCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | export interface IPresetCallbacks { 2 | load(): void; 3 | } 4 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IRepairCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 2 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 3 | import { IRepairActionDataRequest } from "@spt/models/eft/repair/IRepairActionDataRequest"; 4 | import { ITraderRepairActionDataRequest } from "@spt/models/eft/repair/ITraderRepairActionDataRequest"; 5 | export interface IRepairCallbacks { 6 | traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; 7 | repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/ISaveCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | export interface ISaveCallbacks { 2 | load(): void; 3 | update(secondsSinceLastRun: number): boolean; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/ITradeCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 2 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 3 | import { IProcessBaseTradeRequestData } from "@spt/models/eft/trade/IProcessBaseTradeRequestData"; 4 | import { IProcessRagfairTradeRequestData } from "@spt/models/eft/trade/IProcessRagfairTradeRequestData"; 5 | export interface ITradeCallbacks { 6 | processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; 7 | processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/ITraderCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; 2 | import { ITraderAssort, ITraderBase } from "@spt/models/eft/common/tables/ITrader"; 3 | import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; 4 | export interface ITraderCallbacks { 5 | load(): void; 6 | getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; 7 | getTrader(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; 8 | getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; 9 | update(): boolean; 10 | } 11 | -------------------------------------------------------------------------------- /types/models/spt/callbacks/IWeatherCallbacks.d.ts: -------------------------------------------------------------------------------- 1 | import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData"; 2 | import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData"; 3 | export interface IWeatherCallbacks { 4 | getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/spt/config/IBackupConfig.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig"; 2 | export interface IBackupConfig extends IBaseConfig { 3 | kind: "spt-backup"; 4 | enabled: boolean; 5 | maxBackups: number; 6 | directory: string; 7 | backupInterval: IBackupConfigInterval; 8 | } 9 | export interface IBackupConfigInterval { 10 | enabled: boolean; 11 | intervalMinutes: number; 12 | } 13 | -------------------------------------------------------------------------------- /types/models/spt/config/IBaseConfig.d.ts: -------------------------------------------------------------------------------- 1 | export interface IBaseConfig { 2 | kind: string; 3 | } 4 | export interface IRunIntervalValues { 5 | inRaid: number; 6 | outOfRaid: number; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/spt/config/IHealthConfig.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig"; 2 | export interface IHealthConfig extends IBaseConfig { 3 | kind: "spt-health"; 4 | healthMultipliers: IHealthMultipliers; 5 | save: ISave; 6 | } 7 | export interface IHealthMultipliers { 8 | death: number; 9 | blacked: number; 10 | } 11 | export interface ISave { 12 | health: boolean; 13 | effects: boolean; 14 | } 15 | -------------------------------------------------------------------------------- /types/models/spt/config/IHttpConfig.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig"; 2 | export interface IHttpConfig extends IBaseConfig { 3 | kind: "spt-http"; 4 | /** Address used by webserver */ 5 | ip: string; 6 | port: number; 7 | /** Address used by game client to connect to */ 8 | backendIp: string; 9 | backendPort: number; 10 | webSocketPingDelayMs: number; 11 | logRequests: boolean; 12 | /** e.g. "SPT_Data/Server/images/traders/579dc571d53a0658a154fbec.png": "SPT_Data/Server/images/traders/NewTraderImage.png" */ 13 | serverImagePathOverride: Record; 14 | } 15 | -------------------------------------------------------------------------------- /types/models/spt/config/ILocaleConfig.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig"; 2 | export interface ILocaleConfig extends IBaseConfig { 3 | kind: "spt-locale"; 4 | /** e.g. ru/en/cn/fr etc, or 'system', will take computer locale setting */ 5 | gameLocale: string; 6 | /** e.g. ru/en/cn/fr etc, or 'system', will take computer locale setting */ 7 | serverLocale: string; 8 | /** Languages server can be translated into */ 9 | serverSupportedLocales: string[]; 10 | fallbacks: { 11 | [locale: string]: string; 12 | }; 13 | } 14 | -------------------------------------------------------------------------------- /types/models/spt/config/ILootConfig.d.ts: -------------------------------------------------------------------------------- 1 | import { ISpawnpoint } from "@spt/models/eft/common/ILooseLoot"; 2 | import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig"; 3 | export interface ILootConfig extends IBaseConfig { 4 | kind: "spt-loot"; 5 | /** Spawn positions to add into a map, key=mapid */ 6 | looseLoot: Record; 7 | /** Loose loot probability adjustments to apply on game start */ 8 | looseLootSpawnPointAdjustments: Record>; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/spt/config/IMatchConfig.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig"; 2 | export interface IMatchConfig extends IBaseConfig { 3 | kind: "spt-match"; 4 | enabled: boolean; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/spt/config/IPmChatResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig"; 2 | export interface IPmcChatResponse extends IBaseConfig { 3 | kind: "spt-pmcchatresponse"; 4 | victim: IResponseSettings; 5 | killer: IResponseSettings; 6 | } 7 | export interface IResponseSettings { 8 | responseChancePercent: number; 9 | responseTypeWeights: Record; 10 | stripCapitalisationChancePercent: number; 11 | allCapsChancePercent: number; 12 | appendBroToMessageEndChancePercent: number; 13 | } 14 | -------------------------------------------------------------------------------- /types/models/spt/fence/ICreateFenceAssortsResult.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | import { IBarterScheme } from "@spt/models/eft/common/tables/ITrader"; 3 | export interface ICreateFenceAssortsResult { 4 | sptItems: IItem[][]; 5 | barter_scheme: Record; 6 | loyal_level_items: Record; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/spt/fence/IFenceAssortGenerationValues.d.ts: -------------------------------------------------------------------------------- 1 | export interface IFenceAssortGenerationValues { 2 | normal: IGenerationAssortValues; 3 | discount: IGenerationAssortValues; 4 | } 5 | export interface IGenerationAssortValues { 6 | item: number; 7 | weaponPreset: number; 8 | equipmentPreset: number; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/spt/generators/IBotGenerator.d.ts: -------------------------------------------------------------------------------- 1 | import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase"; 2 | import { IChances, IGeneration, IInventory } from "@spt/models/eft/common/tables/IBotType"; 3 | export interface IBotGenerator { 4 | generateInventory(templateInventory: IInventory, equipmentChances: IChances, generation: IGeneration, botRole: string, isPmc: boolean): PmcInventory; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/spt/generators/ILocationGenerator.d.ts: -------------------------------------------------------------------------------- 1 | import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "@spt/models/eft/common/ILocation"; 2 | import { ILooseLoot, ISpawnpointTemplate } from "@spt/models/eft/common/ILooseLoot"; 3 | export interface ILocationGenerator { 4 | generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record, staticAmmoDist: Record, locationName: string): IStaticContainerProps; 5 | generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): ISpawnpointTemplate[]; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/spt/generators/IPMCLootGenerator.d.ts: -------------------------------------------------------------------------------- 1 | export interface IPMCLootGenerator { 2 | generatePMCPocketLootPool(): string[]; 3 | generatePMCBackpackLootPool(): string[]; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/spt/generators/IRagfairAssortGenerator.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | export interface IRagfairAssortGenerator { 3 | getAssortItems(): IItem[]; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/spt/generators/IRagfairOfferGenerator.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | import { IBarterScheme } from "@spt/models/eft/common/tables/ITrader"; 3 | import { IRagfairOffer } from "@spt/models/eft/ragfair/IRagfairOffer"; 4 | export interface IRagfairOfferGenerator { 5 | createOffer(userID: string, time: number, items: IItem[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece: boolean): IRagfairOffer; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/spt/hideout/ICircleCraftDetails.d.ts: -------------------------------------------------------------------------------- 1 | import { CircleRewardType } from "@spt/models/enums/hideout/CircleRewardType"; 2 | import { ICraftTimeThreshhold } from "@spt/models/spt/config/IHideoutConfig"; 3 | export interface ICircleCraftDetails { 4 | time: number; 5 | rewardType: CircleRewardType; 6 | rewardAmountRoubles: number; 7 | rewardDetails?: ICraftTimeThreshhold; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/hideout/IHideout.d.ts: -------------------------------------------------------------------------------- 1 | import type { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea"; 2 | import type { IHideoutCustomisation } from "@spt/models/eft/hideout/IHideoutCustomisation"; 3 | import type { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction"; 4 | import type { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase"; 5 | import type { IQteData } from "@spt/models/eft/hideout/IQteData"; 6 | export interface IHideout { 7 | areas: IHideoutArea[]; 8 | customisation: IHideoutCustomisation; 9 | production: IHideoutProductionData; 10 | settings: IHideoutSettingsBase; 11 | qte: IQteData[]; 12 | } 13 | -------------------------------------------------------------------------------- /types/models/spt/hideout/ScavCaseRewardCountsAndPrices.d.ts: -------------------------------------------------------------------------------- 1 | export interface IScavCaseRewardCountsAndPrices { 2 | Common: IRewardCountAndPriceDetails; 3 | Rare: IRewardCountAndPriceDetails; 4 | Superrare: IRewardCountAndPriceDetails; 5 | } 6 | export interface IRewardCountAndPriceDetails { 7 | minCount: number; 8 | maxCount: number; 9 | minPriceRub: number; 10 | maxPriceRub: number; 11 | } 12 | -------------------------------------------------------------------------------- /types/models/spt/inventory/IOwnerInventoryItems.d.ts: -------------------------------------------------------------------------------- 1 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 2 | export interface IOwnerInventoryItems { 3 | /** Inventory items from source */ 4 | from: IItem[]; 5 | /** Inventory items at destination */ 6 | to: IItem[]; 7 | sameInventory: boolean; 8 | isMail: boolean; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/spt/logging/IClientLogRequest.d.ts: -------------------------------------------------------------------------------- 1 | import { LogLevel } from "@spt/models/spt/logging/LogLevel"; 2 | export interface IClientLogRequest { 3 | Source: string; 4 | Level: LogLevel | string; 5 | Message: string; 6 | Color?: string; 7 | BackgroundColor?: string; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/logging/LogBackgroundColor.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum LogBackgroundColor { 2 | DEFAULT = "", 3 | BLACK = "blackBG", 4 | RED = "redBG", 5 | GREEN = "greenBG", 6 | YELLOW = "yellowBG", 7 | BLUE = "blueBG", 8 | MAGENTA = "magentaBG", 9 | CYAN = "cyanBG", 10 | WHITE = "whiteBG" 11 | } 12 | -------------------------------------------------------------------------------- /types/models/spt/logging/LogLevel.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum LogLevel { 2 | ERROR = 0, 3 | WARN = 1, 4 | SUCCESS = 2, 5 | INFO = 3, 6 | CUSTOM = 4, 7 | DEBUG = 5 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/logging/LogTextColor.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum LogTextColor { 2 | BLACK = "black", 3 | RED = "red", 4 | GREEN = "green", 5 | YELLOW = "yellow", 6 | BLUE = "blue", 7 | MAGENTA = "magenta", 8 | CYAN = "cyan", 9 | WHITE = "white", 10 | GRAY = "gray" 11 | } 12 | -------------------------------------------------------------------------------- /types/models/spt/logging/SptLogger.d.ts: -------------------------------------------------------------------------------- 1 | export interface SptLogger { 2 | error: (msg: string | Record) => void; 3 | warn: (msg: string | Record) => void; 4 | succ?: (msg: string | Record) => void; 5 | info: (msg: string | Record) => void; 6 | debug: (msg: string | Record) => void; 7 | } 8 | -------------------------------------------------------------------------------- /types/models/spt/mod/IModLoader.d.ts: -------------------------------------------------------------------------------- 1 | import { DependencyContainer } from "tsyringe"; 2 | export interface IModLoader { 3 | load(container: DependencyContainer): void; 4 | getModPath(mod: string): string; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/spt/mod/IPackageJsonData.d.ts: -------------------------------------------------------------------------------- 1 | export interface IPackageJsonData { 2 | incompatibilities?: string[]; 3 | loadBefore?: string[]; 4 | loadAfter?: string[]; 5 | dependencies?: Record; 6 | modDependencies?: Record; 7 | name: string; 8 | url: string; 9 | author: string; 10 | version: string; 11 | sptVersion: string; 12 | /** We deliberately purge this data */ 13 | scripts: Record; 14 | devDependencies: Record; 15 | licence: string; 16 | main: string; 17 | isBundleMod: boolean; 18 | contributors: string[]; 19 | } 20 | -------------------------------------------------------------------------------- /types/models/spt/quests/IGetRepeatableByIdResult.d.ts: -------------------------------------------------------------------------------- 1 | import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; 2 | export interface IGetRepeatableByIdResult { 3 | quest: IRepeatableQuest; 4 | repeatableType: IPmcDataRepeatableQuest; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/spt/ragfair/IRagfairServerPrices.d.ts: -------------------------------------------------------------------------------- 1 | export interface IRagfairServerPrices { 2 | static: Record; 3 | dynamic: Record; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/spt/ragfair/ITplWithFleaPrice.d.ts: -------------------------------------------------------------------------------- 1 | export interface ITplWithFleaPrice { 2 | tpl: string; 3 | /** Roubles */ 4 | price: number; 5 | } 6 | -------------------------------------------------------------------------------- /types/models/spt/repeatable/IQuestRewardValues.d.ts: -------------------------------------------------------------------------------- 1 | export interface IQuestRewardValues { 2 | skillPointReward: number; 3 | skillRewardChance: number; 4 | rewardReputation: number; 5 | rewardNumItems: number; 6 | rewardRoubles: number; 7 | gpCoinRewardCount: number; 8 | rewardXP: number; 9 | } 10 | -------------------------------------------------------------------------------- /types/models/spt/server/ExhaustableArray.d.ts: -------------------------------------------------------------------------------- 1 | import { RandomUtil } from "@spt/utils/RandomUtil"; 2 | import { ICloner } from "@spt/utils/cloners/ICloner"; 3 | export declare class ExhaustableArray implements IExhaustableArray { 4 | private itemPool; 5 | private randomUtil; 6 | private cloner; 7 | private pool; 8 | constructor(itemPool: T[], randomUtil: RandomUtil, cloner: ICloner); 9 | getRandomValue(): T | undefined; 10 | getFirstValue(): T | undefined; 11 | hasValues(): boolean; 12 | } 13 | export interface IExhaustableArray { 14 | getRandomValue(): T | undefined; 15 | getFirstValue(): T | undefined; 16 | hasValues(): boolean; 17 | } 18 | -------------------------------------------------------------------------------- /types/models/spt/server/ILocaleBase.d.ts: -------------------------------------------------------------------------------- 1 | export interface ILocaleBase { 2 | global: Record>; 3 | menu: Record; 4 | languages: Record; 5 | server: Record>; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/spt/server/IServerBase.d.ts: -------------------------------------------------------------------------------- 1 | export interface IServerBase { 2 | ip: string; 3 | port: number; 4 | } 5 | -------------------------------------------------------------------------------- /types/models/spt/services/IInsuranceEquipmentPkg.d.ts: -------------------------------------------------------------------------------- 1 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 2 | import { IItem } from "@spt/models/eft/common/tables/IItem"; 3 | export interface IInsuranceEquipmentPkg { 4 | sessionID: string; 5 | pmcData: IPmcData; 6 | itemToReturnToPlayer: IItem; 7 | traderId: string; 8 | } 9 | -------------------------------------------------------------------------------- /types/models/spt/services/ITraderServiceModel.d.ts: -------------------------------------------------------------------------------- 1 | import { TraderServiceType } from "@spt/models/enums/TraderServiceType"; 2 | export interface ITraderServiceModel { 3 | serviceType: TraderServiceType; 4 | itemsToPay?: { 5 | [key: string]: number; 6 | }; 7 | itemsToReceive?: string[]; 8 | subServices?: { 9 | [key: string]: number; 10 | }; 11 | requirements?: ITraderServiceRequirementsModel; 12 | } 13 | export interface ITraderServiceRequirementsModel { 14 | completedQuests?: string[]; 15 | standings?: { 16 | [key: string]: number; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /types/models/spt/services/LootItem.d.ts: -------------------------------------------------------------------------------- 1 | export declare class ILootItem { 2 | id?: string; 3 | tpl: string; 4 | isPreset: boolean; 5 | stackCount: number; 6 | } 7 | -------------------------------------------------------------------------------- /types/models/spt/weather/IGetLocalWeatherResponseData.d.ts: -------------------------------------------------------------------------------- 1 | import { IWeather } from "@spt/models/eft/weather/IWeatherData"; 2 | export interface IGetLocalWeatherResponseData { 3 | season: number; 4 | weather: IWeather[]; 5 | } 6 | -------------------------------------------------------------------------------- /types/routers/dynamic/BotDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { BotCallbacks } from "@spt/callbacks/BotCallbacks"; 2 | import { DynamicRouter } from "@spt/di/Router"; 3 | export declare class BotDynamicRouter extends DynamicRouter { 4 | protected botCallbacks: BotCallbacks; 5 | constructor(botCallbacks: BotCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/dynamic/BundleDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { BundleCallbacks } from "@spt/callbacks/BundleCallbacks"; 2 | import { DynamicRouter } from "@spt/di/Router"; 3 | export declare class BundleDynamicRouter extends DynamicRouter { 4 | protected bundleCallbacks: BundleCallbacks; 5 | constructor(bundleCallbacks: BundleCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/dynamic/CustomizationDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { CustomizationCallbacks } from "@spt/callbacks/CustomizationCallbacks"; 2 | import { DynamicRouter } from "@spt/di/Router"; 3 | export declare class CustomizationDynamicRouter extends DynamicRouter { 4 | protected customizationCallbacks: CustomizationCallbacks; 5 | constructor(customizationCallbacks: CustomizationCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/dynamic/DataDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { DataCallbacks } from "@spt/callbacks/DataCallbacks"; 2 | import { DynamicRouter } from "@spt/di/Router"; 3 | export declare class DataDynamicRouter extends DynamicRouter { 4 | protected dataCallbacks: DataCallbacks; 5 | constructor(dataCallbacks: DataCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/dynamic/HttpDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { DynamicRouter } from "@spt/di/Router"; 2 | import { ImageRouter } from "@spt/routers/ImageRouter"; 3 | export declare class HttpDynamicRouter extends DynamicRouter { 4 | protected imageRouter: ImageRouter; 5 | constructor(imageRouter: ImageRouter); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/dynamic/InraidDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { InraidCallbacks } from "@spt/callbacks/InraidCallbacks"; 2 | import { DynamicRouter } from "@spt/di/Router"; 3 | export declare class InraidDynamicRouter extends DynamicRouter { 4 | protected inraidCallbacks: InraidCallbacks; 5 | constructor(inraidCallbacks: InraidCallbacks); 6 | getTopLevelRoute(): string; 7 | } 8 | -------------------------------------------------------------------------------- /types/routers/dynamic/LocationDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { LocationCallbacks } from "@spt/callbacks/LocationCallbacks"; 2 | import { DynamicRouter } from "@spt/di/Router"; 3 | export declare class LocationDynamicRouter extends DynamicRouter { 4 | protected locationCallbacks: LocationCallbacks; 5 | constructor(locationCallbacks: LocationCallbacks); 6 | getTopLevelRoute(): string; 7 | } 8 | -------------------------------------------------------------------------------- /types/routers/dynamic/NotifierDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { NotifierCallbacks } from "@spt/callbacks/NotifierCallbacks"; 2 | import { DynamicRouter } from "@spt/di/Router"; 3 | export declare class NotifierDynamicRouter extends DynamicRouter { 4 | protected notifierCallbacks: NotifierCallbacks; 5 | constructor(notifierCallbacks: NotifierCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/dynamic/TraderDynamicRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { TraderCallbacks } from "@spt/callbacks/TraderCallbacks"; 2 | import { DynamicRouter } from "@spt/di/Router"; 3 | export declare class TraderDynamicRouter extends DynamicRouter { 4 | protected traderCallbacks: TraderCallbacks; 5 | constructor(traderCallbacks: TraderCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/item_events/HealthItemEventRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { HealthCallbacks } from "@spt/callbacks/HealthCallbacks"; 2 | import { HandledRoute, ItemEventRouterDefinition } from "@spt/di/Router"; 3 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 4 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 5 | export declare class HealthItemEventRouter extends ItemEventRouterDefinition { 6 | protected healthCallbacks: HealthCallbacks; 7 | constructor(healthCallbacks: HealthCallbacks); 8 | getHandledRoutes(): HandledRoute[]; 9 | handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): Promise; 10 | } 11 | -------------------------------------------------------------------------------- /types/routers/item_events/HideoutItemEventRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { HideoutCallbacks } from "@spt/callbacks/HideoutCallbacks"; 2 | import { HandledRoute, ItemEventRouterDefinition } from "@spt/di/Router"; 3 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 4 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 5 | export declare class HideoutItemEventRouter extends ItemEventRouterDefinition { 6 | protected hideoutCallbacks: HideoutCallbacks; 7 | constructor(hideoutCallbacks: HideoutCallbacks); 8 | getHandledRoutes(): HandledRoute[]; 9 | handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string, output: IItemEventRouterResponse): Promise; 10 | } 11 | -------------------------------------------------------------------------------- /types/routers/item_events/InsuranceItemEventRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { InsuranceCallbacks } from "@spt/callbacks/InsuranceCallbacks"; 2 | import { HandledRoute, ItemEventRouterDefinition } from "@spt/di/Router"; 3 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 4 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 5 | export declare class InsuranceItemEventRouter extends ItemEventRouterDefinition { 6 | protected insuranceCallbacks: InsuranceCallbacks; 7 | constructor(insuranceCallbacks: InsuranceCallbacks); 8 | getHandledRoutes(): HandledRoute[]; 9 | handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): Promise; 10 | } 11 | -------------------------------------------------------------------------------- /types/routers/item_events/RagfairItemEventRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { RagfairCallbacks } from "@spt/callbacks/RagfairCallbacks"; 2 | import { HandledRoute, ItemEventRouterDefinition } from "@spt/di/Router"; 3 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 4 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 5 | export declare class RagfairItemEventRouter extends ItemEventRouterDefinition { 6 | protected ragfairCallbacks: RagfairCallbacks; 7 | constructor(ragfairCallbacks: RagfairCallbacks); 8 | getHandledRoutes(): HandledRoute[]; 9 | handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): Promise; 10 | } 11 | -------------------------------------------------------------------------------- /types/routers/item_events/RepairItemEventRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { RepairCallbacks } from "@spt/callbacks/RepairCallbacks"; 2 | import { HandledRoute, ItemEventRouterDefinition } from "@spt/di/Router"; 3 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 4 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 5 | export declare class RepairItemEventRouter extends ItemEventRouterDefinition { 6 | protected repairCallbacks: RepairCallbacks; 7 | constructor(repairCallbacks: RepairCallbacks); 8 | getHandledRoutes(): HandledRoute[]; 9 | handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): Promise; 10 | } 11 | -------------------------------------------------------------------------------- /types/routers/item_events/TradeItemEventRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { TradeCallbacks } from "@spt/callbacks/TradeCallbacks"; 2 | import { HandledRoute, ItemEventRouterDefinition } from "@spt/di/Router"; 3 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 4 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 5 | export declare class TradeItemEventRouter extends ItemEventRouterDefinition { 6 | protected tradeCallbacks: TradeCallbacks; 7 | constructor(tradeCallbacks: TradeCallbacks); 8 | getHandledRoutes(): HandledRoute[]; 9 | handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): Promise; 10 | } 11 | -------------------------------------------------------------------------------- /types/routers/item_events/WishlistItemEventRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { WishlistCallbacks } from "@spt/callbacks/WishlistCallbacks"; 2 | import { HandledRoute, ItemEventRouterDefinition } from "@spt/di/Router"; 3 | import { IPmcData } from "@spt/models/eft/common/IPmcData"; 4 | import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; 5 | export declare class WishlistItemEventRouter extends ItemEventRouterDefinition { 6 | protected wishlistCallbacks: WishlistCallbacks; 7 | constructor(wishlistCallbacks: WishlistCallbacks); 8 | getHandledRoutes(): HandledRoute[]; 9 | handleItemEvent(url: string, pmcData: IPmcData, request: any, sessionID: string): Promise; 10 | } 11 | -------------------------------------------------------------------------------- /types/routers/save_load/HealthSaveLoadRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { HandledRoute, SaveLoadRouter } from "@spt/di/Router"; 2 | import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; 3 | export declare class HealthSaveLoadRouter extends SaveLoadRouter { 4 | getHandledRoutes(): HandledRoute[]; 5 | handleLoad(profile: ISptProfile): Promise; 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/save_load/InraidSaveLoadRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { HandledRoute, SaveLoadRouter } from "@spt/di/Router"; 2 | import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; 3 | export declare class InraidSaveLoadRouter extends SaveLoadRouter { 4 | getHandledRoutes(): HandledRoute[]; 5 | handleLoad(profile: ISptProfile): Promise; 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/save_load/InsuranceSaveLoadRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { HandledRoute, SaveLoadRouter } from "@spt/di/Router"; 2 | import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; 3 | export declare class InsuranceSaveLoadRouter extends SaveLoadRouter { 4 | getHandledRoutes(): HandledRoute[]; 5 | handleLoad(profile: ISptProfile): Promise; 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/save_load/ProfileSaveLoadRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { HandledRoute, SaveLoadRouter } from "@spt/di/Router"; 2 | import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; 3 | export declare class ProfileSaveLoadRouter extends SaveLoadRouter { 4 | getHandledRoutes(): HandledRoute[]; 5 | handleLoad(profile: ISptProfile): Promise; 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/serializers/ImageSerializer.d.ts: -------------------------------------------------------------------------------- 1 | import { IncomingMessage, ServerResponse } from "node:http"; 2 | import { Serializer } from "@spt/di/Serializer"; 3 | import { ImageRouter } from "@spt/routers/ImageRouter"; 4 | export declare class ImageSerializer extends Serializer { 5 | protected imageRouter: ImageRouter; 6 | constructor(imageRouter: ImageRouter); 7 | serialize(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: any): Promise; 8 | canHandle(route: string): boolean; 9 | } 10 | -------------------------------------------------------------------------------- /types/routers/static/AchievementStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { AchievementCallbacks } from "@spt/callbacks/AchievementCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class AchievementStaticRouter extends StaticRouter { 4 | protected achievementCallbacks: AchievementCallbacks; 5 | constructor(achievementCallbacks: AchievementCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/BotStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { BotCallbacks } from "@spt/callbacks/BotCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class BotStaticRouter extends StaticRouter { 4 | protected botCallbacks: BotCallbacks; 5 | constructor(botCallbacks: BotCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/BuildStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { BuildsCallbacks } from "@spt/callbacks/BuildsCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class BuildsStaticRouter extends StaticRouter { 4 | protected buildsCallbacks: BuildsCallbacks; 5 | constructor(buildsCallbacks: BuildsCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/BundleStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { BundleCallbacks } from "@spt/callbacks/BundleCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class BundleStaticRouter extends StaticRouter { 4 | protected bundleCallbacks: BundleCallbacks; 5 | constructor(bundleCallbacks: BundleCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/ClientLogStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { ClientLogCallbacks } from "@spt/callbacks/ClientLogCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class ClientLogStaticRouter extends StaticRouter { 4 | protected clientLogCallbacks: ClientLogCallbacks; 5 | constructor(clientLogCallbacks: ClientLogCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/CustomizationStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { CustomizationCallbacks } from "@spt/callbacks/CustomizationCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class CustomizationStaticRouter extends StaticRouter { 4 | protected customizationCallbacks: CustomizationCallbacks; 5 | constructor(customizationCallbacks: CustomizationCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/DataStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { DataCallbacks } from "@spt/callbacks/DataCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class DataStaticRouter extends StaticRouter { 4 | protected dataCallbacks: DataCallbacks; 5 | constructor(dataCallbacks: DataCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/DialogStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { DialogueCallbacks } from "@spt/callbacks/DialogueCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class DialogStaticRouter extends StaticRouter { 4 | protected dialogueCallbacks: DialogueCallbacks; 5 | constructor(dialogueCallbacks: DialogueCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/GameStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { GameCallbacks } from "@spt/callbacks/GameCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil"; 4 | export declare class GameStaticRouter extends StaticRouter { 5 | protected httpResponse: HttpResponseUtil; 6 | protected gameCallbacks: GameCallbacks; 7 | constructor(httpResponse: HttpResponseUtil, gameCallbacks: GameCallbacks); 8 | } 9 | -------------------------------------------------------------------------------- /types/routers/static/HealthStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { HealthCallbacks } from "@spt/callbacks/HealthCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class HealthStaticRouter extends StaticRouter { 4 | protected healthCallbacks: HealthCallbacks; 5 | constructor(healthCallbacks: HealthCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/InraidStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { InraidCallbacks } from "@spt/callbacks/InraidCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class InraidStaticRouter extends StaticRouter { 4 | protected inraidCallbacks: InraidCallbacks; 5 | constructor(inraidCallbacks: InraidCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/InsuranceStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { InsuranceCallbacks } from "@spt/callbacks/InsuranceCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class InsuranceStaticRouter extends StaticRouter { 4 | protected insuranceCallbacks: InsuranceCallbacks; 5 | constructor(insuranceCallbacks: InsuranceCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/ItemEventStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { ItemEventCallbacks } from "@spt/callbacks/ItemEventCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class ItemEventStaticRouter extends StaticRouter { 4 | protected itemEventCallbacks: ItemEventCallbacks; 5 | constructor(itemEventCallbacks: ItemEventCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/LauncherStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { LauncherCallbacks } from "@spt/callbacks/LauncherCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class LauncherStaticRouter extends StaticRouter { 4 | protected launcherCallbacks: LauncherCallbacks; 5 | constructor(launcherCallbacks: LauncherCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/LocationStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { LocationCallbacks } from "@spt/callbacks/LocationCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class LocationStaticRouter extends StaticRouter { 4 | protected locationCallbacks: LocationCallbacks; 5 | constructor(locationCallbacks: LocationCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/MatchStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { MatchCallbacks } from "@spt/callbacks/MatchCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class MatchStaticRouter extends StaticRouter { 4 | protected matchCallbacks: MatchCallbacks; 5 | constructor(matchCallbacks: MatchCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/NotifierStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { NotifierCallbacks } from "@spt/callbacks/NotifierCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class NotifierStaticRouter extends StaticRouter { 4 | protected notifierCallbacks: NotifierCallbacks; 5 | constructor(notifierCallbacks: NotifierCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/PrestigeStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import type { PrestigeCallbacks } from "@spt/callbacks/PrestigeCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class PrestigeStaticRouter extends StaticRouter { 4 | protected prestigeCallbacks: PrestigeCallbacks; 5 | constructor(prestigeCallbacks: PrestigeCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/ProfileStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { ProfileCallbacks } from "@spt/callbacks/ProfileCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class ProfileStaticRouter extends StaticRouter { 4 | protected profileCallbacks: ProfileCallbacks; 5 | constructor(profileCallbacks: ProfileCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/QuestStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { QuestCallbacks } from "@spt/callbacks/QuestCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class QuestStaticRouter extends StaticRouter { 4 | protected questCallbacks: QuestCallbacks; 5 | constructor(questCallbacks: QuestCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/RagfairStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { RagfairCallbacks } from "@spt/callbacks/RagfairCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class RagfairStaticRouter extends StaticRouter { 4 | protected ragfairCallbacks: RagfairCallbacks; 5 | constructor(ragfairCallbacks: RagfairCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/TraderStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { TraderCallbacks } from "@spt/callbacks/TraderCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class TraderStaticRouter extends StaticRouter { 4 | protected traderCallbacks: TraderCallbacks; 5 | constructor(traderCallbacks: TraderCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/routers/static/WeatherStaticRouter.d.ts: -------------------------------------------------------------------------------- 1 | import { WeatherCallbacks } from "@spt/callbacks/WeatherCallbacks"; 2 | import { StaticRouter } from "@spt/di/Router"; 3 | export declare class WeatherStaticRouter extends StaticRouter { 4 | protected weatherCallbacks: WeatherCallbacks; 5 | constructor(weatherCallbacks: WeatherCallbacks); 6 | } 7 | -------------------------------------------------------------------------------- /types/servers/DatabaseServer.d.ts: -------------------------------------------------------------------------------- 1 | import { IDatabaseTables } from "@spt/models/spt/server/IDatabaseTables"; 2 | export declare class DatabaseServer { 3 | protected tableData: IDatabaseTables; 4 | getTables(): IDatabaseTables; 5 | setTables(tableData: IDatabaseTables): void; 6 | } 7 | -------------------------------------------------------------------------------- /types/servers/http/HttpMethods.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum HttpMethods { 2 | OPTIONS = "OPTIONS", 3 | GET = "GET", 4 | POST = "POST", 5 | PUT = "PUT", 6 | PATCH = "PATCH", 7 | DELETE = "DELETE" 8 | } 9 | -------------------------------------------------------------------------------- /types/servers/http/IHttpListener.d.ts: -------------------------------------------------------------------------------- 1 | import { IncomingMessage, ServerResponse } from "node:http"; 2 | export interface IHttpListener { 3 | canHandle(sessionId: string, req: IncomingMessage): boolean; 4 | handle(sessionId: string, req: IncomingMessage, resp: ServerResponse): Promise; 5 | } 6 | -------------------------------------------------------------------------------- /types/servers/ws/IWebSocketConnectionHandler.d.ts: -------------------------------------------------------------------------------- 1 | import { IncomingMessage } from "node:http"; 2 | import { SPTWebSocket } from "./SPTWebsocket"; 3 | export interface IWebSocketConnectionHandler { 4 | getSocketId(): string; 5 | getHookUrl(): string; 6 | onConnection(ws: SPTWebSocket, req: IncomingMessage): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /types/servers/ws/SPTWebsocket.d.ts: -------------------------------------------------------------------------------- 1 | import WebSocket from "ws"; 2 | export declare class SPTWebSocket extends WebSocket { 3 | sendAsync(data: any): Promise; 4 | closeAsync(): Promise; 5 | } 6 | -------------------------------------------------------------------------------- /types/servers/ws/message/DefaultSptWebSocketMessageHandler.d.ts: -------------------------------------------------------------------------------- 1 | import type { ILogger } from "@spt/models/spt/utils/ILogger"; 2 | import { ISptWebSocketMessageHandler } from "@spt/servers/ws/message/ISptWebSocketMessageHandler"; 3 | import { RawData } from "ws"; 4 | import { SPTWebSocket } from "../SPTWebsocket"; 5 | export declare class DefaultSptWebSocketMessageHandler implements ISptWebSocketMessageHandler { 6 | protected logger: ILogger; 7 | constructor(logger: ILogger); 8 | onSptMessage(sessionId: string, client: SPTWebSocket, message: RawData): Promise; 9 | } 10 | -------------------------------------------------------------------------------- /types/servers/ws/message/ISptWebSocketMessageHandler.d.ts: -------------------------------------------------------------------------------- 1 | import { RawData } from "ws"; 2 | import { SPTWebSocket } from "../SPTWebsocket"; 3 | export interface ISptWebSocketMessageHandler { 4 | onSptMessage(sessionID: string, client: SPTWebSocket, message: RawData): Promise; 5 | } 6 | -------------------------------------------------------------------------------- /types/services/MatchLocationService.d.ts: -------------------------------------------------------------------------------- 1 | import { SaveServer } from "@spt/servers/SaveServer"; 2 | import { TimeUtil } from "@spt/utils/TimeUtil"; 3 | export declare class MatchLocationService { 4 | protected timeUtil: TimeUtil; 5 | protected saveServer: SaveServer; 6 | protected locations: {}; 7 | constructor(timeUtil: TimeUtil, saveServer: SaveServer); 8 | deleteGroup(info: any): void; 9 | } 10 | -------------------------------------------------------------------------------- /types/services/TraderAssortService.d.ts: -------------------------------------------------------------------------------- 1 | import { ITraderAssort } from "@spt/models/eft/common/tables/ITrader"; 2 | export declare class TraderAssortService { 3 | protected pristineTraderAssorts: Record; 4 | getPristineTraderAssort(traderId: string): ITraderAssort; 5 | /** 6 | * Store trader assorts inside a class property 7 | * @param traderId Traderid to store assorts against 8 | * @param assort Assorts to store 9 | */ 10 | setPristineTraderAssort(traderId: string, assort: ITraderAssort): void; 11 | } 12 | -------------------------------------------------------------------------------- /types/services/mod/dynamicRouter/DynamicRouterMod.d.ts: -------------------------------------------------------------------------------- 1 | import { DynamicRouter, RouteAction } from "@spt/di/Router"; 2 | export declare class DynamicRouterMod extends DynamicRouter { 3 | private topLevelRoute; 4 | constructor(routes: RouteAction[], topLevelRoute: string); 5 | getTopLevelRoute(): string; 6 | } 7 | -------------------------------------------------------------------------------- /types/services/mod/dynamicRouter/DynamicRouterModService.d.ts: -------------------------------------------------------------------------------- 1 | import { RouteAction } from "@spt/di/Router"; 2 | import { type DependencyContainer } from "tsyringe"; 3 | export declare class DynamicRouterModService { 4 | private container; 5 | constructor(container: DependencyContainer); 6 | registerDynamicRouter(name: string, routes: RouteAction[], topLevelRoute: string): void; 7 | } 8 | -------------------------------------------------------------------------------- /types/services/mod/httpListener/HttpListenerMod.d.ts: -------------------------------------------------------------------------------- 1 | import { IncomingMessage, ServerResponse } from "node:http"; 2 | import { IHttpListener } from "@spt/servers/http/IHttpListener"; 3 | export declare class HttpListenerMod implements IHttpListener { 4 | private canHandleOverride; 5 | private handleOverride; 6 | constructor(canHandleOverride: (sessionId: string, req: IncomingMessage) => boolean, handleOverride: (sessionId: string, req: IncomingMessage, resp: ServerResponse) => void); 7 | canHandle(sessionId: string, req: IncomingMessage): boolean; 8 | handle(sessionId: string, req: IncomingMessage, resp: ServerResponse): Promise; 9 | } 10 | -------------------------------------------------------------------------------- /types/services/mod/httpListener/HttpListenerModService.d.ts: -------------------------------------------------------------------------------- 1 | import { IncomingMessage, ServerResponse } from "node:http"; 2 | import { type DependencyContainer } from "tsyringe"; 3 | export declare class HttpListenerModService { 4 | protected container: DependencyContainer; 5 | constructor(container: DependencyContainer); 6 | registerHttpListener(name: string, canHandleOverride: (sessionId: string, req: IncomingMessage) => boolean, handleOverride: (sessionId: string, req: IncomingMessage, resp: ServerResponse) => void): void; 7 | } 8 | -------------------------------------------------------------------------------- /types/services/mod/image/ImageRouteService.d.ts: -------------------------------------------------------------------------------- 1 | export declare class ImageRouteService { 2 | protected routes: Record; 3 | addRoute(urlKey: string, route: string): void; 4 | getByKey(urlKey: string): string; 5 | existsByKey(urlKey: string): boolean; 6 | } 7 | -------------------------------------------------------------------------------- /types/services/mod/onLoad/OnLoadMod.d.ts: -------------------------------------------------------------------------------- 1 | import { OnLoad } from "@spt/di/OnLoad"; 2 | export declare class OnLoadMod implements OnLoad { 3 | private onLoadOverride; 4 | private getRouteOverride; 5 | constructor(onLoadOverride: () => void, getRouteOverride: () => string); 6 | onLoad(): Promise; 7 | getRoute(): string; 8 | } 9 | -------------------------------------------------------------------------------- /types/services/mod/onLoad/OnLoadModService.d.ts: -------------------------------------------------------------------------------- 1 | import { type DependencyContainer } from "tsyringe"; 2 | export declare class OnLoadModService { 3 | protected container: DependencyContainer; 4 | constructor(container: DependencyContainer); 5 | registerOnLoad(name: string, onLoad: () => void, getRoute: () => string): void; 6 | } 7 | -------------------------------------------------------------------------------- /types/services/mod/onUpdate/OnUpdateMod.d.ts: -------------------------------------------------------------------------------- 1 | import { OnUpdate } from "@spt/di/OnUpdate"; 2 | export declare class OnUpdateMod implements OnUpdate { 3 | private onUpdateOverride; 4 | private getRouteOverride; 5 | constructor(onUpdateOverride: (timeSinceLastRun: number) => boolean, getRouteOverride: () => string); 6 | onUpdate(timeSinceLastRun: number): Promise; 7 | getRoute(): string; 8 | } 9 | -------------------------------------------------------------------------------- /types/services/mod/onUpdate/OnUpdateModService.d.ts: -------------------------------------------------------------------------------- 1 | import { type DependencyContainer } from "tsyringe"; 2 | export declare class OnUpdateModService { 3 | protected container: DependencyContainer; 4 | constructor(container: DependencyContainer); 5 | registerOnUpdate(name: string, onUpdate: (timeSinceLastRun: number) => boolean, getRoute: () => string): void; 6 | } 7 | -------------------------------------------------------------------------------- /types/services/mod/staticRouter/StaticRouterMod.d.ts: -------------------------------------------------------------------------------- 1 | import { RouteAction, StaticRouter } from "@spt/di/Router"; 2 | export declare class StaticRouterMod extends StaticRouter { 3 | private topLevelRoute; 4 | constructor(routes: RouteAction[], topLevelRoute: string); 5 | getTopLevelRoute(): string; 6 | } 7 | -------------------------------------------------------------------------------- /types/services/mod/staticRouter/StaticRouterModService.d.ts: -------------------------------------------------------------------------------- 1 | import { RouteAction } from "@spt/di/Router"; 2 | import { type DependencyContainer } from "tsyringe"; 3 | export declare class StaticRouterModService { 4 | protected container: DependencyContainer; 5 | constructor(container: DependencyContainer); 6 | registerStaticRouter(name: string, routes: RouteAction[], topLevelRoute: string): void; 7 | } 8 | -------------------------------------------------------------------------------- /types/tools/ItemTplGenerator/ItemTplGeneratorProgram.d.ts: -------------------------------------------------------------------------------- 1 | import "reflect-metadata"; 2 | import "source-map-support/register"; 3 | export declare class ItemTplGeneratorProgram { 4 | private errorHandler; 5 | constructor(); 6 | start(): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /types/tools/ProductionQuestsGen/ProductionQuestsGenProgram.d.ts: -------------------------------------------------------------------------------- 1 | import "reflect-metadata"; 2 | import "source-map-support/register"; 3 | export declare class ProductionQuestsGenProgram { 4 | private errorHandler; 5 | constructor(); 6 | start(): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /types/utils/CompareUtil.d.ts: -------------------------------------------------------------------------------- 1 | export declare class CompareUtil { 2 | private static typesToCheckAgainst; 3 | /** 4 | * This function does an object comparison, equivalent to applying reflections 5 | * and scanning for all possible properties including arrays. 6 | * @param v1 value 1 to compare 7 | * @param v2 value 2 to compare 8 | * @returns true if equal, false if not 9 | */ 10 | recursiveCompare(v1: any, v2: any): boolean; 11 | } 12 | -------------------------------------------------------------------------------- /types/utils/EncodingUtil.d.ts: -------------------------------------------------------------------------------- 1 | export declare class EncodingUtil { 2 | encode(value: string, encode: EncodeType): string; 3 | decode(value: string, encode: EncodeType): string; 4 | fromBase64(value: string): string; 5 | toBase64(value: string): string; 6 | fromHex(value: string): string; 7 | toHex(value: string): string; 8 | } 9 | export declare enum EncodeType { 10 | BASE64 = "base64", 11 | HEX = "hex", 12 | ASCII = "ascii", 13 | BINARY = "binary", 14 | UTF8 = "utf8" 15 | } 16 | -------------------------------------------------------------------------------- /types/utils/HttpFileUtil.d.ts: -------------------------------------------------------------------------------- 1 | import { ServerResponse } from "node:http"; 2 | import { HttpServerHelper } from "@spt/helpers/HttpServerHelper"; 3 | export declare class HttpFileUtil { 4 | protected httpServerHelper: HttpServerHelper; 5 | constructor(httpServerHelper: HttpServerHelper); 6 | sendFileAsync(resp: ServerResponse, filePath: string): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /types/utils/ImporterUtil.d.ts: -------------------------------------------------------------------------------- 1 | import { FileSystem } from "@spt/utils/FileSystem"; 2 | import { JsonUtil } from "@spt/utils/JsonUtil"; 3 | export declare class ImporterUtil { 4 | protected fileSystem: FileSystem; 5 | protected jsonUtil: JsonUtil; 6 | constructor(fileSystem: FileSystem, jsonUtil: JsonUtil); 7 | loadAsync(filepath: string, strippablePath?: string, onReadCallback?: (fileWithPath: string, data: string) => Promise, onObjectDeserialized?: (fileWithPath: string, object: any) => Promise): Promise; 8 | protected placeObject(fileDeserialized: any, strippedFilePath: string, result: T, strippablePath: string): void; 9 | } 10 | -------------------------------------------------------------------------------- /types/utils/ObjectId.d.ts: -------------------------------------------------------------------------------- 1 | import { TimeUtil } from "@spt/utils/TimeUtil"; 2 | export declare class ObjectId { 3 | protected timeUtil: TimeUtil; 4 | constructor(timeUtil: TimeUtil); 5 | protected randomBytes: Buffer; 6 | protected constglobalCounter: number; 7 | protected consttime: number; 8 | protected globalCounter: number; 9 | protected time: number; 10 | incGlobalCounter(): number; 11 | toHexString(byteArray: string | any[] | Buffer): string; 12 | generate(): string; 13 | } 14 | -------------------------------------------------------------------------------- /types/utils/ProgressWriter.d.ts: -------------------------------------------------------------------------------- 1 | export declare class ProgressWriter { 2 | private count; 3 | private total?; 4 | private done; 5 | private barFillChar; 6 | private barEmptyChar; 7 | private maxBarLength; 8 | constructor(total: number, maxBarLength?: number, barFillChar?: string, barEmptyChar?: string); 9 | /** 10 | * Increment the progress counter and update the progress bar display. 11 | */ 12 | increment(): void; 13 | } 14 | -------------------------------------------------------------------------------- /types/utils/Timer.d.ts: -------------------------------------------------------------------------------- 1 | export declare class Timer { 2 | private startTime; 3 | /** 4 | * Resets the timer to its initial state. 5 | */ 6 | restart(): void; 7 | /** 8 | * Returns the elapsed time in the specified unit with up to four decimal places of precision for ms and sec. 9 | * 10 | * @param unit The desired unit for the elapsed time ("ns", "ms", "sec"). 11 | * @returns The elapsed time in the specified unit. 12 | */ 13 | getTime(unit: "ns" | "ms" | "sec"): number; 14 | } 15 | -------------------------------------------------------------------------------- /types/utils/cloners/ICloner.d.ts: -------------------------------------------------------------------------------- 1 | export interface ICloner { 2 | clone(obj: T): T; 3 | cloneAsync(obj: T): Promise; 4 | } 5 | -------------------------------------------------------------------------------- /types/utils/cloners/JsonCloner.d.ts: -------------------------------------------------------------------------------- 1 | import type { ICloner } from "@spt/utils/cloners/ICloner"; 2 | export declare class JsonCloner implements ICloner { 3 | clone(obj: T): T; 4 | cloneAsync(obj: T): Promise; 5 | } 6 | -------------------------------------------------------------------------------- /types/utils/cloners/RecursiveCloner.d.ts: -------------------------------------------------------------------------------- 1 | import type { ICloner } from "@spt/utils/cloners/ICloner"; 2 | export declare class RecursiveCloner implements ICloner { 3 | private static primitives; 4 | clone(obj: T): T; 5 | cloneAsync(obj: T): Promise; 6 | } 7 | -------------------------------------------------------------------------------- /types/utils/cloners/StructuredCloner.d.ts: -------------------------------------------------------------------------------- 1 | import type { ICloner } from "@spt/utils/cloners/ICloner"; 2 | export declare class StructuredCloner implements ICloner { 3 | clone(obj: T): T; 4 | cloneAsync(obj: T): Promise; 5 | } 6 | -------------------------------------------------------------------------------- /types/utils/collections/lists/Nodes.d.ts: -------------------------------------------------------------------------------- 1 | export declare class LinkedListNode { 2 | value: T; 3 | prev?: LinkedListNode; 4 | next?: LinkedListNode; 5 | constructor(value: T, prev?: LinkedListNode, next?: LinkedListNode); 6 | } 7 | -------------------------------------------------------------------------------- /types/utils/logging/WinstonMainLogger.d.ts: -------------------------------------------------------------------------------- 1 | import { FileSystem } from "@spt/utils/FileSystem"; 2 | import { FileSystemSync } from "@spt/utils/FileSystemSync"; 3 | import { AbstractWinstonLogger } from "@spt/utils/logging/AbstractWinstonLogger"; 4 | export declare class WinstonMainLogger extends AbstractWinstonLogger { 5 | constructor(fileSystem: FileSystem, fileSystemSync: FileSystemSync); 6 | protected isLogExceptions(): boolean; 7 | protected isLogToFile(): boolean; 8 | protected isLogToConsole(): boolean; 9 | protected getFilePath(): string; 10 | protected getFileName(): string; 11 | } 12 | -------------------------------------------------------------------------------- /types/utils/logging/WinstonRequestLogger.d.ts: -------------------------------------------------------------------------------- 1 | import { FileSystem } from "@spt/utils/FileSystem"; 2 | import { FileSystemSync } from "@spt/utils/FileSystemSync"; 3 | import { AbstractWinstonLogger } from "@spt/utils/logging/AbstractWinstonLogger"; 4 | export declare class WinstonRequestLogger extends AbstractWinstonLogger { 5 | constructor(fileSystem: FileSystem, fileSystemSync: FileSystemSync); 6 | protected isLogExceptions(): boolean; 7 | protected isLogToFile(): boolean; 8 | protected isLogToConsole(): boolean; 9 | protected getFilePath(): string; 10 | protected getFileName(): string; 11 | protected getLogMaxSize(): string; 12 | } 13 | --------------------------------------------------------------------------------