From b651a489bd7f5383f0e0558d64f00db57e21639e Mon Sep 17 00:00:00 2001 From: Platinum Date: Sun, 31 Dec 2023 14:53:08 +1100 Subject: [PATCH] chore: update types for 3.7.6 --- types/TYPES.d.ts | 3 - types/callbacks/BotCallbacks.d.ts | 12 +- types/callbacks/BundleCallbacks.d.ts | 14 +- types/callbacks/ClientLogCallbacks.d.ts | 14 + types/callbacks/CustomizationCallbacks.d.ts | 22 +- types/callbacks/DataCallbacks.d.ts | 30 +-- types/callbacks/DialogueCallbacks.d.ts | 60 ++--- types/callbacks/GameCallbacks.d.ts | 46 ++-- types/callbacks/HandbookCallbacks.d.ts | 4 +- types/callbacks/HealthCallbacks.d.ts | 22 +- types/callbacks/HideoutCallbacks.d.ts | 41 +-- types/callbacks/HttpCallbacks.d.ts | 4 +- types/callbacks/InraidCallbacks.d.ts | 10 +- types/callbacks/InsuranceCallbacks.d.ts | 24 +- types/callbacks/InventoryCallbacks.d.ts | 43 +-- types/callbacks/ItemEventCallbacks.d.ts | 12 +- types/callbacks/LauncherCallbacks.d.ts | 21 +- types/callbacks/LocationCallbacks.d.ts | 14 +- types/callbacks/MatchCallbacks.d.ts | 49 ++-- types/callbacks/ModCallbacks.d.ts | 19 +- types/callbacks/NoteCallbacks.d.ts | 8 +- types/callbacks/NotifierCallbacks.d.ts | 18 +- types/callbacks/PresetBuildCallbacks.d.ts | 18 +- types/callbacks/PresetCallbacks.d.ts | 4 +- types/callbacks/ProfileCallbacks.d.ts | 35 +-- types/callbacks/QuestCallbacks.d.ts | 28 +- types/callbacks/RagfairCallbacks.d.ts | 50 ++-- types/callbacks/RepairCallbacks.d.ts | 10 +- types/callbacks/SaveCallbacks.d.ts | 10 +- types/callbacks/TradeCallbacks.d.ts | 12 +- types/callbacks/TraderCallbacks.d.ts | 14 +- types/callbacks/WeatherCallbacks.d.ts | 10 +- types/callbacks/WishlistCallbacks.d.ts | 8 +- types/context/ApplicationContext.d.ts | 7 +- types/context/ContextVariable.d.ts | 2 +- types/context/ContextVariableType.d.ts | 3 +- types/controllers/BotController.d.ts | 37 ++- types/controllers/ClientLogController.d.ts | 10 + .../controllers/CustomizationController.d.ts | 22 +- types/controllers/DialogueController.d.ts | 48 ++-- types/controllers/GameController.d.ts | 87 ++++--- types/controllers/HandbookController.d.ts | 4 +- types/controllers/HealthController.d.ts | 32 +-- types/controllers/HideoutController.d.ts | 97 +++---- types/controllers/InraidController.d.ts | 79 +++--- types/controllers/InsuranceController.d.ts | 219 ++++++++++------ types/controllers/InventoryController.d.ts | 111 ++++---- types/controllers/LauncherController.d.ts | 38 +-- types/controllers/LocationController.d.ts | 44 ++-- types/controllers/MatchController.d.ts | 83 ++++-- types/controllers/NoteController.d.ts | 8 +- types/controllers/NotifierController.d.ts | 8 +- types/controllers/PresetBuildController.d.ts | 24 +- types/controllers/PresetController.d.ts | 4 +- types/controllers/ProfileController.d.ts | 55 ++-- types/controllers/QuestController.d.ts | 64 ++--- types/controllers/RagfairController.d.ts | 91 ++++--- types/controllers/RepairController.d.ts | 26 +- .../RepeatableQuestController.d.ts | 245 +++--------------- types/controllers/TradeController.d.ts | 49 ++-- types/controllers/TraderController.d.ts | 22 +- types/controllers/WeatherController.d.ts | 10 +- types/controllers/WishlistController.d.ts | 8 +- types/di/Router.d.ts | 8 +- types/di/Serializer.d.ts | 2 +- .../generators/BotEquipmentModGenerator.d.ts | 54 ++-- types/generators/BotGenerator.d.ts | 42 +-- types/generators/BotInventoryGenerator.d.ts | 36 +-- types/generators/BotLevelGenerator.d.ts | 16 +- types/generators/BotLootGenerator.d.ts | 54 ++-- types/generators/BotWeaponGenerator.d.ts | 53 ++-- .../generators/FenceBaseAssortGenerator.d.ts | 18 +- types/generators/LocationGenerator.d.ts | 46 ++-- types/generators/LootGenerator.d.ts | 34 +-- types/generators/PMCLootGenerator.d.ts | 14 +- types/generators/PlayerScavGenerator.d.ts | 40 +-- types/generators/RagfairAssortGenerator.d.ts | 18 +- types/generators/RagfairOfferGenerator.d.ts | 53 ++-- .../generators/RepeatableQuestGenerator.d.ts | 213 +++++++++++++++ types/generators/ScavCaseRewardGenerator.d.ts | 29 +-- types/generators/WeatherGenerator.d.ts | 18 +- .../weapongen/IInventoryMagGen.d.ts | 2 +- .../generators/weapongen/InventoryMagGen.d.ts | 6 +- .../BarrelInventoryMagGen.d.ts | 8 +- .../ExternalInventoryMagGen.d.ts | 23 +- .../InternalMagazineInventoryMagGen.d.ts | 6 +- .../implementations/UbglExternalMagGen.d.ts | 6 +- types/helpers/AssortHelper.d.ts | 16 +- types/helpers/BotDifficultyHelper.d.ts | 18 +- types/helpers/BotGeneratorHelper.d.ts | 28 +- types/helpers/BotHelper.d.ts | 20 +- types/helpers/BotWeaponGeneratorHelper.d.ts | 40 +-- .../Dialogue/Commando/ICommandoCommand.d.ts | 8 + .../Commando/SptCommandoCommands.d.ts | 15 ++ .../Commando/SptCommands/GiveSptCommand.d.ts | 21 ++ .../Commando/SptCommands/ISptCommand.d.ts | 7 + .../Dialogue/CommandoDialogueChatBot.d.ts | 15 ++ types/helpers/Dialogue/IDialogueChatBot.d.ts | 6 + .../helpers/Dialogue/SptDialogueChatBot.d.ts | 25 ++ types/helpers/DialogueHelper.d.ts | 22 +- types/helpers/DurabilityLimitsHelper.d.ts | 10 +- types/helpers/GameEventHelper.d.ts | 6 +- types/helpers/HandbookHelper.d.ts | 8 +- types/helpers/HealthHelper.d.ts | 18 +- types/helpers/HideoutHelper.d.ts | 56 ++-- types/helpers/HttpServerHelper.d.ts | 4 +- types/helpers/InRaidHelper.d.ts | 82 +++--- types/helpers/InventoryHelper.d.ts | 55 ++-- types/helpers/ItemHelper.d.ts | 85 ++++-- types/helpers/NotificationSendHelper.d.ts | 14 +- types/helpers/NotifierHelper.d.ts | 6 +- types/helpers/PaymentHelper.d.ts | 12 +- types/helpers/PresetHelper.d.ts | 6 +- types/helpers/ProbabilityHelper.d.ts | 4 +- types/helpers/ProfileHelper.d.ts | 46 +++- types/helpers/QuestConditionHelper.d.ts | 2 +- types/helpers/QuestHelper.d.ts | 86 +++--- types/helpers/RagfairHelper.d.ts | 44 ++-- types/helpers/RagfairOfferHelper.d.ts | 62 +++-- types/helpers/RagfairSellHelper.d.ts | 23 +- types/helpers/RagfairServerHelper.d.ts | 67 +++-- types/helpers/RagfairSortHelper.d.ts | 8 +- types/helpers/RepairHelper.d.ts | 38 ++- types/helpers/RepeatableQuestHelper.d.ts | 20 ++ types/helpers/SecureContainerHelper.d.ts | 9 +- types/helpers/TradeHelper.d.ts | 38 +-- types/helpers/TraderAssortHelper.d.ts | 39 +-- types/helpers/TraderHelper.d.ts | 49 ++-- types/helpers/WeightedRandomHelper.d.ts | 7 +- types/ide/BleedingEdgeEntry.d.ts | 1 + types/ide/DebugEntry.d.ts | 1 + types/ide/ReleaseEntry.d.ts | 1 + types/ide/TestEntry.d.ts | 1 + types/loaders/BundleLoader.d.ts | 6 +- types/loaders/ModLoadOrder.d.ts | 17 ++ types/loaders/ModTypeCheck.d.ts | 12 +- types/loaders/PostAkiModLoader.d.ts | 14 +- types/loaders/PostDBModLoader.d.ts | 10 +- types/loaders/PreAkiModLoader.d.ts | 88 ++++--- types/models/eft/common/IGlobals.d.ts | 4 +- types/models/eft/common/ILocation.d.ts | 4 +- types/models/eft/common/ILocationBase.d.ts | 4 +- .../ILocationsSourceDestinationBase.d.ts | 2 +- types/models/eft/common/ILooseLoot.d.ts | 4 +- types/models/eft/common/IPmcData.d.ts | 2 +- types/models/eft/common/tables/IBotBase.d.ts | 33 +-- types/models/eft/common/tables/IBotType.d.ts | 5 +- .../eft/common/tables/ICustomizationItem.d.ts | 2 +- types/models/eft/common/tables/ILootBase.d.ts | 4 +- .../eft/common/tables/IProfileTemplate.d.ts | 8 +- types/models/eft/common/tables/IQuest.d.ts | 8 +- .../eft/common/tables/IRepeatableQuests.d.ts | 40 ++- .../eft/common/tables/ITemplateItem.d.ts | 2 +- types/models/eft/common/tables/ITrader.d.ts | 2 +- .../dialog/IGetAllAttachmentsResponse.d.ts | 2 +- .../dialog/IGetFriendListDataResponse.d.ts | 2 +- .../dialog/IGetMailDialogViewRequestData.d.ts | 2 +- .../IGetMailDialogViewResponseData.d.ts | 2 +- .../eft/dialog/ISendMessageRequest.d.ts | 2 +- .../eft/game/ICurrentGroupResponse.d.ts | 4 +- .../models/eft/game/IGetRaidTimeRequest.d.ts | 4 + .../models/eft/game/IGetRaidTimeResponse.d.ts | 12 + .../eft/health/IOffraidEatRequestData.d.ts | 2 +- .../eft/health/IOffraidHealRequestData.d.ts | 2 +- .../IHideoutCancelProductionRequestData.d.ts | 5 + .../models/eft/hideout/IHideoutScavCase.d.ts | 2 +- .../eft/inRaid/ISaveProgressRequestData.d.ts | 8 +- .../eft/insurance/IInsureRequestData.d.ts | 2 +- .../eft/inventory/IAddItemTempObject.d.ts | 2 +- .../inventory/IInventoryAddRequestData.d.ts | 2 +- .../IInventoryBaseActionRequestData.d.ts | 2 +- .../inventory/IInventoryBindRequestData.d.ts | 2 +- .../IInventoryCreateMarkerRequestData.d.ts | 2 +- .../IInventoryDeleteMarkerRequestData.d.ts | 2 +- .../IInventoryEditMarkerRequestData.d.ts | 2 +- .../IInventoryExamineRequestData.d.ts | 4 +- .../inventory/IInventoryFoldRequestData.d.ts | 2 +- .../inventory/IInventoryMergeRequestData.d.ts | 2 +- .../inventory/IInventoryMoveRequestData.d.ts | 2 +- ...IInventoryReadEncyclopediaRequestData.d.ts | 2 +- .../IInventoryRemoveRequestData.d.ts | 2 +- .../inventory/IInventorySortRequestData.d.ts | 4 +- .../inventory/IInventorySplitRequestData.d.ts | 2 +- .../inventory/IInventorySwapRequestData.d.ts | 4 +- .../inventory/IInventoryTagRequestData.d.ts | 2 +- .../IInventoryToggleRequestData.d.ts | 2 +- .../IInventoryTransferRequestData.d.ts | 2 +- .../IOpenRandomLootContainerRequestData.d.ts | 2 +- .../inventory/IRedeemProfileRequestData.d.ts | 9 + .../IEmptyItemEventRouterResponse.d.ts | 2 +- .../eft/itemEvent/IItemEventRouterBase.d.ts | 20 +- .../itemEvent/IItemEventRouterResponse.d.ts | 2 +- .../eft/launcher/IChangeRequestData.d.ts | 2 +- types/models/eft/launcher/IRegisterData.d.ts | 2 +- .../eft/launcher/IRemoveProfileData.d.ts | 2 +- .../eft/location/IAirdropLootResult.d.ts | 2 +- .../eft/match/ICreateGroupRequestData.d.ts | 2 +- .../eft/match/IGetGroupStatusRequestData.d.ts | 2 +- .../eft/match/IGetGroupStatusResponse.d.ts | 19 ++ types/models/eft/notes/INoteActionData.d.ts | 2 +- types/models/eft/notifier/INotifier.d.ts | 2 +- ...IPlayerIncrementSkillLevelRequestData.d.ts | 2 +- .../IPresetBuildActionRequestData.d.ts | 2 +- types/models/eft/profile/IAkiProfile.d.ts | 13 +- .../eft/profile/ICreateProfileResponse.d.ts | 3 + .../eft/ragfair/IGetItemPriceResult.d.ts | 2 +- .../models/eft/ragfair/IGetOffersResult.d.ts | 2 +- .../ragfair/IGetRagfairOfferByIdRequest.d.ts | 3 + types/models/eft/ragfair/IRagfairOffer.d.ts | 4 +- .../eft/ragfair/ISearchRequestData.d.ts | 2 +- .../eft/repair/IRepairActionDataRequest.d.ts | 2 +- .../ITraderRepairActionDataRequest.d.ts | 2 +- .../trade/IProcessBuyTradeRequestData.d.ts | 5 +- .../trade/IProcessSellTradeRequestData.d.ts | 2 +- .../ISellScavItemsToFenceRequestData.d.ts | 2 +- types/models/eft/weather/IWeatherData.d.ts | 2 +- types/models/enums/AmmoTypes.d.ts | 22 +- types/models/enums/BaseClasses.d.ts | 1 + types/models/enums/HideoutEventActions.d.ts | 3 +- types/models/enums/ItemAddedResult.d.ts | 5 +- types/models/enums/ItemEventActions.d.ts | 4 +- types/models/enums/SkillTypes.d.ts | 4 + types/models/external/HttpFramework.d.ts | 2 +- types/models/external/IPostAkiLoadMod.d.ts | 2 +- .../models/external/IPostAkiLoadModAsync.d.ts | 2 +- types/models/external/IPostDBLoadMod.d.ts | 2 +- .../models/external/IPostDBLoadModAsync.d.ts | 2 +- types/models/external/IPreAkiLoadMod.d.ts | 2 +- .../models/external/IPreAkiLoadModAsync.d.ts | 2 +- .../models/spt/bots/GenerateWeaponResult.d.ts | 6 +- types/models/spt/bots/IBotLootCache.d.ts | 2 +- types/models/spt/callbacks/IBotCallbacks.d.ts | 8 +- .../callbacks/ICustomizationCallbacks.d.ts | 12 +- .../models/spt/callbacks/IDataCallbacks.d.ts | 16 +- .../spt/callbacks/IDialogueCallbacks.d.ts | 34 +-- .../models/spt/callbacks/IGameCallbacks.d.ts | 12 +- .../spt/callbacks/IHealthCallbacks.d.ts | 12 +- .../spt/callbacks/IHideoutCallbacks.d.ts | 22 +- .../spt/callbacks/IInraidCallbacks.d.ts | 10 +- .../spt/callbacks/IInsuranceCallbacks.d.ts | 8 +- .../spt/callbacks/IInventoryCallbacks.d.ts | 36 +-- .../spt/callbacks/IItemEventCallbacks.d.ts | 6 +- .../spt/callbacks/ILauncherCallbacks.d.ts | 10 +- .../spt/callbacks/ILocationCallbacks.d.ts | 8 +- .../models/spt/callbacks/INoteCallbacks.d.ts | 6 +- .../spt/callbacks/INotifierCallbacks.d.ts | 8 +- .../spt/callbacks/IPresetBuildCallbacks.d.ts | 10 +- .../spt/callbacks/IProfileCallbacks.d.ts | 18 +- .../models/spt/callbacks/IQuestCallbacks.d.ts | 22 +- .../spt/callbacks/IRagfairCallbacks.d.ts | 20 +- .../spt/callbacks/IRepairCallbacks.d.ts | 8 +- .../models/spt/callbacks/ITradeCallbacks.d.ts | 8 +- .../spt/callbacks/ITraderCallbacks.d.ts | 6 +- .../spt/callbacks/IWeatherCallbacks.d.ts | 4 +- .../spt/callbacks/IWishlistCallbacks.d.ts | 6 +- types/models/spt/config/IAirdropConfig.d.ts | 8 +- types/models/spt/config/IBotConfig.d.ts | 12 +- types/models/spt/config/ICoreConfig.d.ts | 14 +- types/models/spt/config/IGiftsConfig.d.ts | 15 +- types/models/spt/config/IHealthConfig.d.ts | 2 +- types/models/spt/config/IHideoutConfig.d.ts | 2 +- types/models/spt/config/IHttpConfig.d.ts | 2 +- types/models/spt/config/IInRaidConfig.d.ts | 8 +- types/models/spt/config/IInsuranceConfig.d.ts | 2 +- types/models/spt/config/IInventoryConfig.d.ts | 5 +- types/models/spt/config/IItemConfig.d.ts | 5 +- types/models/spt/config/ILocaleConfig.d.ts | 2 +- types/models/spt/config/ILocationConfig.d.ts | 47 +++- types/models/spt/config/ILootConfig.d.ts | 4 +- .../models/spt/config/ILostOnDeathConfig.d.ts | 2 +- types/models/spt/config/IMatchConfig.d.ts | 2 +- .../models/spt/config/IPlayerScavConfig.d.ts | 4 +- types/models/spt/config/IPmChatResponse.d.ts | 2 +- types/models/spt/config/IPmcConfig.d.ts | 6 +- types/models/spt/config/IQuestConfig.d.ts | 46 +++- types/models/spt/config/IRagfairConfig.d.ts | 17 +- types/models/spt/config/IRepairConfig.d.ts | 26 +- types/models/spt/config/IScavCaseConfig.d.ts | 5 +- .../spt/config/ISeasonalEventConfig.d.ts | 4 +- types/models/spt/config/ITraderConfig.d.ts | 11 +- types/models/spt/config/IWeatherConfig.d.ts | 6 +- .../spt/controllers/IBotController.d.ts | 8 +- .../spt/dialog/ISendMessageDetails.d.ts | 18 +- .../models/spt/generators/IBotGenerator.d.ts | 4 +- .../spt/generators/ILocationGenerator.d.ts | 4 +- .../generators/IRagfairAssortGenerator.d.ts | 2 +- .../generators/IRagfairOfferGenerator.d.ts | 6 +- types/models/spt/location/IRaidChanges.d.ts | 8 + .../models/spt/logging/IClientLogRequest.d.ts | 8 + types/models/spt/logging/LogLevel.d.ts | 8 + types/models/spt/mod/IPackageJsonData.d.ts | 5 + types/models/spt/mod/NewItemDetails.d.ts | 2 +- .../models/spt/repeatable/IQuestTypePool.d.ts | 32 +++ types/models/spt/server/IDatabaseTables.d.ts | 46 ++-- types/models/spt/server/ILocations.d.ts | 6 +- types/models/spt/services/CustomPreset.d.ts | 2 +- .../spt/services/CustomTraderAssortData.d.ts | 4 +- types/models/spt/services/LootRequest.d.ts | 3 +- types/models/spt/utils/IAsyncQueue.d.ts | 2 +- types/models/spt/utils/ILogger.d.ts | 6 +- types/routers/EventOutputHolder.d.ts | 20 +- types/routers/HttpRouter.d.ts | 4 +- types/routers/ImageRouter.d.ts | 8 +- types/routers/ItemEventRouter.d.ts | 15 +- types/routers/dynamic/BotDynamicRouter.d.ts | 4 +- .../routers/dynamic/BundleDynamicRouter.d.ts | 4 +- .../dynamic/CustomizationDynamicRouter.d.ts | 4 +- types/routers/dynamic/DataDynamicRouter.d.ts | 4 +- types/routers/dynamic/HttpDynamicRouter.d.ts | 4 +- .../routers/dynamic/InraidDynamicRouter.d.ts | 4 +- .../dynamic/LocationDynamicRouter.d.ts | 4 +- .../dynamic/NotifierDynamicRouter.d.ts | 4 +- .../routers/dynamic/TraderDynamicRouter.d.ts | 4 +- .../CustomizationItemEventRouter.d.ts | 8 +- .../item_events/HealthItemEventRouter.d.ts | 8 +- .../item_events/HideoutItemEventRouter.d.ts | 8 +- .../item_events/InsuranceItemEventRouter.d.ts | 8 +- .../item_events/InventoryItemEventRouter.d.ts | 10 +- .../item_events/NoteItemEventRouter.d.ts | 11 +- .../PresetBuildItemEventRouter.d.ts | 8 +- .../item_events/QuestItemEventRouter.d.ts | 10 +- .../item_events/RagfairItemEventRouter.d.ts | 8 +- .../item_events/RepairItemEventRouter.d.ts | 8 +- .../item_events/TradeItemEventRouter.d.ts | 8 +- .../item_events/WishlistItemEventRouter.d.ts | 8 +- .../save_load/HealthSaveLoadRouter.d.ts | 5 +- .../save_load/InraidSaveLoadRouter.d.ts | 5 +- .../save_load/InsuranceSaveLoadRouter.d.ts | 5 +- .../save_load/ProfileSaveLoadRouter.d.ts | 5 +- .../routers/serializers/BundleSerializer.d.ts | 10 +- .../routers/serializers/ImageSerializer.d.ts | 6 +- .../routers/serializers/NotifySerializer.d.ts | 10 +- types/routers/static/BotStaticRouter.d.ts | 4 +- types/routers/static/BundleStaticRouter.d.ts | 4 +- .../routers/static/ClientLogStaticRouter.d.ts | 6 + .../static/CustomizationStaticRouter.d.ts | 4 +- types/routers/static/DataStaticRouter.d.ts | 4 +- types/routers/static/DialogStaticRouter.d.ts | 4 +- types/routers/static/GameStaticRouter.d.ts | 4 +- types/routers/static/HealthStaticRouter.d.ts | 4 +- types/routers/static/InraidStaticRouter.d.ts | 4 +- .../routers/static/InsuranceStaticRouter.d.ts | 4 +- .../routers/static/ItemEventStaticRouter.d.ts | 4 +- .../routers/static/LauncherStaticRouter.d.ts | 4 +- .../routers/static/LocationStaticRouter.d.ts | 4 +- types/routers/static/MatchStaticRouter.d.ts | 4 +- .../routers/static/NotifierStaticRouter.d.ts | 4 +- types/routers/static/PresetStaticRouter.d.ts | 4 +- types/routers/static/ProfileStaticRouter.d.ts | 4 +- types/routers/static/QuestStaticRouter.d.ts | 4 +- types/routers/static/RagfairStaticRouter.d.ts | 4 +- types/routers/static/TraderStaticRouter.d.ts | 4 +- types/routers/static/WeatherStaticRouter.d.ts | 4 +- types/servers/ConfigServer.d.ts | 8 +- types/servers/DatabaseServer.d.ts | 2 +- types/servers/HttpServer.d.ts | 20 +- types/servers/RagfairServer.d.ts | 28 +- types/servers/SaveServer.d.ts | 18 +- types/servers/WebSocketServer.d.ts | 22 +- types/servers/http/AkiHttpListener.d.ts | 28 +- types/servers/http/HttpBufferHandler.d.ts | 6 - types/servers/http/IHttpListener.d.ts | 2 +- types/services/BotEquipmentFilterService.d.ts | 14 +- .../services/BotEquipmentModPoolService.d.ts | 18 +- types/services/BotGenerationCacheService.d.ts | 12 +- types/services/BotLootCacheService.d.ts | 20 +- types/services/BotWeaponModLimitService.d.ts | 12 +- types/services/CustomLocationWaveService.d.ts | 14 +- types/services/FenceService.d.ts | 38 +-- types/services/GiftService.d.ts | 18 +- types/services/HashCacheService.d.ts | 8 +- types/services/InsuranceService.d.ts | 42 +-- types/services/ItemBaseClassService.d.ts | 8 +- types/services/ItemFilterService.d.ts | 20 +- types/services/LocaleService.d.ts | 8 +- types/services/LocalisationService.d.ts | 10 +- types/services/MailSendService.d.ts | 34 +-- .../services/MatchBotDetailsCacheService.d.ts | 6 +- types/services/MatchLocationService.d.ts | 4 +- types/services/ModCompilerService.d.ts | 10 +- types/services/NotificationService.d.ts | 2 +- types/services/OpenZoneService.d.ts | 14 +- types/services/PaymentService.d.ts | 38 +-- types/services/PlayerService.d.ts | 19 +- types/services/PmcChatResponseService.d.ts | 22 +- types/services/ProfileFixerService.d.ts | 72 +++-- types/services/ProfileSnapshotService.d.ts | 4 +- types/services/RagfairCategoriesService.d.ts | 47 +--- types/services/RagfairLinkedItemService.d.ts | 6 +- types/services/RagfairOfferService.d.ts | 34 ++- types/services/RagfairPriceService.d.ts | 32 +-- .../services/RagfairRequiredItemsService.d.ts | 6 +- types/services/RagfairTaxService.d.ts | 16 +- types/services/RaidTimeAdjustmentService.d.ts | 60 +++++ types/services/RepairService.d.ts | 60 +++-- types/services/SeasonalEventService.d.ts | 44 ++-- types/services/TraderAssortService.d.ts | 2 +- .../TraderPurchasePersisterService.d.ts | 14 +- types/services/mod/CustomItemService.d.ts | 25 +- .../mod/dynamicRouter/DynamicRouterMod.d.ts | 2 +- .../DynamicRouterModService.d.ts | 2 +- .../mod/httpListener/HttpListenerMod.d.ts | 4 +- .../httpListener/HttpListenerModService.d.ts | 2 +- types/services/mod/onLoad/OnLoadMod.d.ts | 2 +- types/services/mod/onUpdate/OnUpdateMod.d.ts | 2 +- .../mod/staticRouter/StaticRouterMod.d.ts | 2 +- .../staticRouter/StaticRouterModService.d.ts | 2 +- types/utils/App.d.ts | 19 +- types/utils/AsyncQueue.d.ts | 4 +- types/utils/DatabaseImporter.d.ts | 24 +- types/utils/HashUtil.d.ts | 4 +- types/utils/HttpFileUtil.d.ts | 4 +- types/utils/HttpResponseUtil.d.ts | 21 +- types/utils/ImporterUtil.d.ts | 4 +- types/utils/JsonUtil.d.ts | 12 +- types/utils/MathUtil.d.ts | 22 +- types/utils/ObjectId.d.ts | 2 +- types/utils/RagfairOfferHolder.d.ts | 2 +- types/utils/RandomUtil.d.ts | 57 ++-- types/utils/UUidGenerator.d.ts | 2 +- types/utils/VFS.d.ts | 6 +- types/utils/Watermark.d.ts | 16 +- .../utils/logging/AbstractWinstonLogger.d.ts | 16 +- types/utils/logging/WinstonMainLogger.d.ts | 6 +- types/utils/logging/WinstonRequestLogger.d.ts | 6 +- 425 files changed, 3954 insertions(+), 3018 deletions(-) delete mode 100644 types/TYPES.d.ts create mode 100644 types/callbacks/ClientLogCallbacks.d.ts create mode 100644 types/controllers/ClientLogController.d.ts create mode 100644 types/generators/RepeatableQuestGenerator.d.ts create mode 100644 types/helpers/Dialogue/Commando/ICommandoCommand.d.ts create mode 100644 types/helpers/Dialogue/Commando/SptCommandoCommands.d.ts create mode 100644 types/helpers/Dialogue/Commando/SptCommands/GiveSptCommand.d.ts create mode 100644 types/helpers/Dialogue/Commando/SptCommands/ISptCommand.d.ts create mode 100644 types/helpers/Dialogue/CommandoDialogueChatBot.d.ts create mode 100644 types/helpers/Dialogue/IDialogueChatBot.d.ts create mode 100644 types/helpers/Dialogue/SptDialogueChatBot.d.ts create mode 100644 types/helpers/RepeatableQuestHelper.d.ts create mode 100644 types/loaders/ModLoadOrder.d.ts create mode 100644 types/models/eft/game/IGetRaidTimeRequest.d.ts create mode 100644 types/models/eft/game/IGetRaidTimeResponse.d.ts create mode 100644 types/models/eft/hideout/IHideoutCancelProductionRequestData.d.ts create mode 100644 types/models/eft/inventory/IRedeemProfileRequestData.d.ts create mode 100644 types/models/eft/match/IGetGroupStatusResponse.d.ts create mode 100644 types/models/eft/profile/ICreateProfileResponse.d.ts create mode 100644 types/models/eft/ragfair/IGetRagfairOfferByIdRequest.d.ts create mode 100644 types/models/spt/location/IRaidChanges.d.ts create mode 100644 types/models/spt/logging/IClientLogRequest.d.ts create mode 100644 types/models/spt/logging/LogLevel.d.ts create mode 100644 types/models/spt/repeatable/IQuestTypePool.d.ts create mode 100644 types/routers/static/ClientLogStaticRouter.d.ts delete mode 100644 types/servers/http/HttpBufferHandler.d.ts create mode 100644 types/services/RaidTimeAdjustmentService.d.ts diff --git a/types/TYPES.d.ts b/types/TYPES.d.ts deleted file mode 100644 index 6407c3a..0000000 --- a/types/TYPES.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare const TYPES: { - [name: string]: symbol; -}; diff --git a/types/callbacks/BotCallbacks.d.ts b/types/callbacks/BotCallbacks.d.ts index 036e545..d406147 100644 --- a/types/callbacks/BotCallbacks.d.ts +++ b/types/callbacks/BotCallbacks.d.ts @@ -1,9 +1,9 @@ -import { BotController } from "../controllers/BotController"; -import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IBotBase } from "../models/eft/common/tables/IBotBase"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { BotController } from "@spt-aki/controllers/BotController"; +import { IGenerateBotsRequestData } from "@spt-aki/models/eft/bot/IGenerateBotsRequestData"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class BotCallbacks { protected botController: BotController; protected httpResponse: HttpResponseUtil; diff --git a/types/callbacks/BundleCallbacks.d.ts b/types/callbacks/BundleCallbacks.d.ts index 729b6cf..a49b8ec 100644 --- a/types/callbacks/BundleCallbacks.d.ts +++ b/types/callbacks/BundleCallbacks.d.ts @@ -1,9 +1,9 @@ -import { BundleLoader } from "../loaders/BundleLoader"; -import { IHttpConfig } from "../models/spt/config/IHttpConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { HttpFileUtil } from "../utils/HttpFileUtil"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { BundleLoader } from "@spt-aki/loaders/BundleLoader"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { HttpFileUtil } from "@spt-aki/utils/HttpFileUtil"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class BundleCallbacks { protected logger: ILogger; protected httpResponse: HttpResponseUtil; @@ -12,7 +12,7 @@ export declare class BundleCallbacks { protected configServer: ConfigServer; protected httpConfig: IHttpConfig; constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpFileUtil: HttpFileUtil, bundleLoader: BundleLoader, configServer: ConfigServer); - sendBundle(sessionID: string, req: any, resp: any, body: any): any; + sendBundle(sessionID: string, req: any, resp: any, body: any): void; /** * Handle singleplayer/bundles */ diff --git a/types/callbacks/ClientLogCallbacks.d.ts b/types/callbacks/ClientLogCallbacks.d.ts new file mode 100644 index 0000000..8414b49 --- /dev/null +++ b/types/callbacks/ClientLogCallbacks.d.ts @@ -0,0 +1,14 @@ +import { ClientLogController } from "@spt-aki/controllers/ClientLogController"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { IClientLogRequest } from "@spt-aki/models/spt/logging/IClientLogRequest"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +/** Handle client logging related events */ +export declare class ClientLogCallbacks { + protected httpResponse: HttpResponseUtil; + protected clientLogController: ClientLogController; + constructor(httpResponse: HttpResponseUtil, clientLogController: ClientLogController); + /** + * Handle /singleplayer/log + */ + clientLog(url: string, info: IClientLogRequest, sessionID: string): INullResponseData; +} diff --git a/types/callbacks/CustomizationCallbacks.d.ts b/types/callbacks/CustomizationCallbacks.d.ts index bb10f64..9ea8faa 100644 --- a/types/callbacks/CustomizationCallbacks.d.ts +++ b/types/callbacks/CustomizationCallbacks.d.ts @@ -1,14 +1,14 @@ -import { CustomizationController } from "../controllers/CustomizationController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { ISuit } from "../models/eft/common/tables/ITrader"; -import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData"; -import { IGetSuitsResponse } from "../models/eft/customization/IGetSuitsResponse"; -import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { SaveServer } from "../servers/SaveServer"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { CustomizationController } from "@spt-aki/controllers/CustomizationController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ISuit } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IBuyClothingRequestData } from "@spt-aki/models/eft/customization/IBuyClothingRequestData"; +import { IGetSuitsResponse } from "@spt-aki/models/eft/customization/IGetSuitsResponse"; +import { IWearClothingRequestData } from "@spt-aki/models/eft/customization/IWearClothingRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class CustomizationCallbacks { protected customizationController: CustomizationController; protected saveServer: SaveServer; diff --git a/types/callbacks/DataCallbacks.d.ts b/types/callbacks/DataCallbacks.d.ts index fb92560..fbac60b 100644 --- a/types/callbacks/DataCallbacks.d.ts +++ b/types/callbacks/DataCallbacks.d.ts @@ -1,18 +1,18 @@ -import { HideoutController } from "../controllers/HideoutController"; -import { RagfairController } from "../controllers/RagfairController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IGlobals } from "../models/eft/common/IGlobals"; -import { ICustomizationItem } from "../models/eft/common/tables/ICustomizationItem"; -import { IHandbookBase } from "../models/eft/common/tables/IHandbookBase"; -import { IGetItemPricesResponse } from "../models/eft/game/IGetItemPricesResponse"; -import { IHideoutArea } from "../models/eft/hideout/IHideoutArea"; -import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; -import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; -import { IHideoutSettingsBase } from "../models/eft/hideout/IHideoutSettingsBase"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { ISettingsBase } from "../models/spt/server/ISettingsBase"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { HideoutController } from "@spt-aki/controllers/HideoutController"; +import { RagfairController } from "@spt-aki/controllers/RagfairController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGlobals } from "@spt-aki/models/eft/common/IGlobals"; +import { ICustomizationItem } from "@spt-aki/models/eft/common/tables/ICustomizationItem"; +import { IHandbookBase } from "@spt-aki/models/eft/common/tables/IHandbookBase"; +import { IGetItemPricesResponse } from "@spt-aki/models/eft/game/IGetItemPricesResponse"; +import { IHideoutArea } from "@spt-aki/models/eft/hideout/IHideoutArea"; +import { IHideoutProduction } from "@spt-aki/models/eft/hideout/IHideoutProduction"; +import { IHideoutScavCase } from "@spt-aki/models/eft/hideout/IHideoutScavCase"; +import { IHideoutSettingsBase } from "@spt-aki/models/eft/hideout/IHideoutSettingsBase"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { ISettingsBase } from "@spt-aki/models/spt/server/ISettingsBase"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; /** * Handle client requests */ diff --git a/types/callbacks/DialogueCallbacks.d.ts b/types/callbacks/DialogueCallbacks.d.ts index 23cb707..7ed60b9 100644 --- a/types/callbacks/DialogueCallbacks.d.ts +++ b/types/callbacks/DialogueCallbacks.d.ts @@ -1,31 +1,31 @@ -import { DialogueController } from "../controllers/DialogueController"; -import { OnUpdate } from "../di/OnUpdate"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IAcceptFriendRequestData, ICancelFriendRequestData } from "../models/eft/dialog/IAcceptFriendRequestData"; -import { IChatServer } from "../models/eft/dialog/IChatServer"; -import { IClearMailMessageRequest } from "../models/eft/dialog/IClearMailMessageRequest"; -import { IDeleteFriendRequest } from "../models/eft/dialog/IDeleteFriendRequest"; -import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData"; -import { IFriendRequestSendResponse } from "../models/eft/dialog/IFriendRequestSendResponse"; -import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData"; -import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse"; -import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData"; -import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; -import { IGetMailDialogInfoRequestData } from "../models/eft/dialog/IGetMailDialogInfoRequestData"; -import { IGetMailDialogListRequestData } from "../models/eft/dialog/IGetMailDialogListRequestData"; -import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDialogViewRequestData"; -import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; -import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData"; -import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData"; -import { IRemoveMailMessageRequest } from "../models/eft/dialog/IRemoveMailMessageRequest"; -import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest"; -import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; -import { DialogueInfo } from "../models/eft/profile/IAkiProfile"; -import { HashUtil } from "../utils/HashUtil"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { DialogueController } from "@spt-aki/controllers/DialogueController"; +import { OnUpdate } from "@spt-aki/di/OnUpdate"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IAcceptFriendRequestData, ICancelFriendRequestData } from "@spt-aki/models/eft/dialog/IAcceptFriendRequestData"; +import { IChatServer } from "@spt-aki/models/eft/dialog/IChatServer"; +import { IClearMailMessageRequest } from "@spt-aki/models/eft/dialog/IClearMailMessageRequest"; +import { IDeleteFriendRequest } from "@spt-aki/models/eft/dialog/IDeleteFriendRequest"; +import { IFriendRequestData } from "@spt-aki/models/eft/dialog/IFriendRequestData"; +import { IFriendRequestSendResponse } from "@spt-aki/models/eft/dialog/IFriendRequestSendResponse"; +import { IGetAllAttachmentsRequestData } from "@spt-aki/models/eft/dialog/IGetAllAttachmentsRequestData"; +import { IGetAllAttachmentsResponse } from "@spt-aki/models/eft/dialog/IGetAllAttachmentsResponse"; +import { IGetChatServerListRequestData } from "@spt-aki/models/eft/dialog/IGetChatServerListRequestData"; +import { IGetFriendListDataResponse } from "@spt-aki/models/eft/dialog/IGetFriendListDataResponse"; +import { IGetMailDialogInfoRequestData } from "@spt-aki/models/eft/dialog/IGetMailDialogInfoRequestData"; +import { IGetMailDialogListRequestData } from "@spt-aki/models/eft/dialog/IGetMailDialogListRequestData"; +import { IGetMailDialogViewRequestData } from "@spt-aki/models/eft/dialog/IGetMailDialogViewRequestData"; +import { IGetMailDialogViewResponseData } from "@spt-aki/models/eft/dialog/IGetMailDialogViewResponseData"; +import { IPinDialogRequestData } from "@spt-aki/models/eft/dialog/IPinDialogRequestData"; +import { IRemoveDialogRequestData } from "@spt-aki/models/eft/dialog/IRemoveDialogRequestData"; +import { IRemoveMailMessageRequest } from "@spt-aki/models/eft/dialog/IRemoveMailMessageRequest"; +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { ISetDialogReadRequestData } from "@spt-aki/models/eft/dialog/ISetDialogReadRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { DialogueInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class DialogueCallbacks implements OnUpdate { protected hashUtil: HashUtil; protected timeUtil: TimeUtil; @@ -86,11 +86,11 @@ export declare class DialogueCallbacks implements OnUpdate { /** Handle client/friend/ignore/set */ ignoreFriend(url: string, request: { uid: string; - }, sessionID: string): any; + }, sessionID: string): INullResponseData; /** Handle client/friend/ignore/remove */ unIgnoreFriend(url: string, request: { uid: string; - }, sessionID: string): any; + }, sessionID: string): INullResponseData; clearMail(url: string, request: IClearMailMessageRequest, sessionID: string): IGetBodyResponseData; removeMail(url: string, request: IRemoveMailMessageRequest, sessionID: string): IGetBodyResponseData; onUpdate(timeSinceLastRun: number): Promise; diff --git a/types/callbacks/GameCallbacks.d.ts b/types/callbacks/GameCallbacks.d.ts index 46f79f9..09124c6 100644 --- a/types/callbacks/GameCallbacks.d.ts +++ b/types/callbacks/GameCallbacks.d.ts @@ -1,22 +1,24 @@ -import { GameController } from "../controllers/GameController"; -import { OnLoad } from "../di/OnLoad"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { ICheckVersionResponse } from "../models/eft/game/ICheckVersionResponse"; -import { ICurrentGroupResponse } from "../models/eft/game/ICurrentGroupResponse"; -import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; -import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData"; -import { IGameKeepAliveResponse } from "../models/eft/game/IGameKeepAliveResponse"; -import { IGameLogoutResponseData } from "../models/eft/game/IGameLogoutResponseData"; -import { IGameStartResponse } from "../models/eft/game/IGameStartResponse"; -import { IReportNicknameRequestData } from "../models/eft/game/IReportNicknameRequestData"; -import { IServerDetails } from "../models/eft/game/IServerDetails"; -import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; -import { SaveServer } from "../servers/SaveServer"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { Watermark } from "../utils/Watermark"; -declare class GameCallbacks implements OnLoad { +import { GameController } from "@spt-aki/controllers/GameController"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { ICheckVersionResponse } from "@spt-aki/models/eft/game/ICheckVersionResponse"; +import { ICurrentGroupResponse } from "@spt-aki/models/eft/game/ICurrentGroupResponse"; +import { IGameConfigResponse } from "@spt-aki/models/eft/game/IGameConfigResponse"; +import { IGameEmptyCrcRequestData } from "@spt-aki/models/eft/game/IGameEmptyCrcRequestData"; +import { IGameKeepAliveResponse } from "@spt-aki/models/eft/game/IGameKeepAliveResponse"; +import { IGameLogoutResponseData } from "@spt-aki/models/eft/game/IGameLogoutResponseData"; +import { IGameStartResponse } from "@spt-aki/models/eft/game/IGameStartResponse"; +import { IGetRaidTimeRequest } from "@spt-aki/models/eft/game/IGetRaidTimeRequest"; +import { IGetRaidTimeResponse } from "@spt-aki/models/eft/game/IGetRaidTimeResponse"; +import { IReportNicknameRequestData } from "@spt-aki/models/eft/game/IReportNicknameRequestData"; +import { IServerDetails } from "@spt-aki/models/eft/game/IServerDetails"; +import { IVersionValidateRequestData } from "@spt-aki/models/eft/game/IVersionValidateRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { Watermark } from "@spt-aki/utils/Watermark"; +export declare class GameCallbacks implements OnLoad { protected httpResponse: HttpResponseUtil; protected watermark: Watermark; protected saveServer: SaveServer; @@ -68,5 +70,9 @@ declare class GameCallbacks implements OnLoad { */ getVersion(url: string, info: IEmptyRequestData, sessionID: string): string; reportNickname(url: string, info: IReportNicknameRequestData, sessionID: string): INullResponseData; + /** + * Handle singleplayer/settings/getRaidTime + * @returns string + */ + getRaidTime(url: string, request: IGetRaidTimeRequest, sessionID: string): IGetRaidTimeResponse; } -export { GameCallbacks }; diff --git a/types/callbacks/HandbookCallbacks.d.ts b/types/callbacks/HandbookCallbacks.d.ts index 6bd3909..0a099e9 100644 --- a/types/callbacks/HandbookCallbacks.d.ts +++ b/types/callbacks/HandbookCallbacks.d.ts @@ -1,5 +1,5 @@ -import { HandbookController } from "../controllers/HandbookController"; -import { OnLoad } from "../di/OnLoad"; +import { HandbookController } from "@spt-aki/controllers/HandbookController"; +import { OnLoad } from "@spt-aki/di/OnLoad"; export declare class HandbookCallbacks implements OnLoad { protected handbookController: HandbookController; constructor(handbookController: HandbookController); diff --git a/types/callbacks/HealthCallbacks.d.ts b/types/callbacks/HealthCallbacks.d.ts index bd3e507..24b633b 100644 --- a/types/callbacks/HealthCallbacks.d.ts +++ b/types/callbacks/HealthCallbacks.d.ts @@ -1,14 +1,14 @@ -import { HealthController } from "../controllers/HealthController"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData"; -import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData"; -import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData"; -import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IWorkoutData } from "../models/eft/health/IWorkoutData"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { HealthController } from "@spt-aki/controllers/HealthController"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IHealthTreatmentRequestData } from "@spt-aki/models/eft/health/IHealthTreatmentRequestData"; +import { IOffraidEatRequestData } from "@spt-aki/models/eft/health/IOffraidEatRequestData"; +import { IOffraidHealRequestData } from "@spt-aki/models/eft/health/IOffraidHealRequestData"; +import { ISyncHealthRequestData } from "@spt-aki/models/eft/health/ISyncHealthRequestData"; +import { IWorkoutData } from "@spt-aki/models/eft/health/IWorkoutData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class HealthCallbacks { protected httpResponse: HttpResponseUtil; protected profileHelper: ProfileHelper; diff --git a/types/callbacks/HideoutCallbacks.d.ts b/types/callbacks/HideoutCallbacks.d.ts index efd0444..65c989a 100644 --- a/types/callbacks/HideoutCallbacks.d.ts +++ b/types/callbacks/HideoutCallbacks.d.ts @@ -1,21 +1,22 @@ -import { HideoutController } from "../controllers/HideoutController"; -import { OnUpdate } from "../di/OnUpdate"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IHandleQTEEventRequestData } from "../models/eft/hideout/IHandleQTEEventRequestData"; -import { IHideoutContinuousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinuousProductionStartRequestData"; -import { IHideoutImproveAreaRequestData } from "../models/eft/hideout/IHideoutImproveAreaRequestData"; -import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; -import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; -import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; -import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; -import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; -import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; -import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData"; -import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; -import { IRecordShootingRangePoints } from "../models/eft/hideout/IRecordShootingRangePoints"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; -import { ConfigServer } from "../servers/ConfigServer"; +import { HideoutController } from "@spt-aki/controllers/HideoutController"; +import { OnUpdate } from "@spt-aki/di/OnUpdate"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IHandleQTEEventRequestData } from "@spt-aki/models/eft/hideout/IHandleQTEEventRequestData"; +import { IHideoutCancelProductionRequestData } from "@spt-aki/models/eft/hideout/IHideoutCancelProductionRequestData"; +import { IHideoutContinuousProductionStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutContinuousProductionStartRequestData"; +import { IHideoutImproveAreaRequestData } from "@spt-aki/models/eft/hideout/IHideoutImproveAreaRequestData"; +import { IHideoutPutItemInRequestData } from "@spt-aki/models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutScavCaseStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutScavCaseStartRequestData"; +import { IHideoutSingleProductionStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutTakeItemOutRequestData } from "@spt-aki/models/eft/hideout/IHideoutTakeItemOutRequestData"; +import { IHideoutTakeProductionRequestData } from "@spt-aki/models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IHideoutToggleAreaRequestData } from "@spt-aki/models/eft/hideout/IHideoutToggleAreaRequestData"; +import { IHideoutUpgradeCompleteRequestData } from "@spt-aki/models/eft/hideout/IHideoutUpgradeCompleteRequestData"; +import { IHideoutUpgradeRequestData } from "@spt-aki/models/eft/hideout/IHideoutUpgradeRequestData"; +import { IRecordShootingRangePoints } from "@spt-aki/models/eft/hideout/IRecordShootingRangePoints"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; export declare class HideoutCallbacks implements OnUpdate { protected hideoutController: HideoutController; protected configServer: ConfigServer; @@ -70,6 +71,10 @@ export declare class HideoutCallbacks implements OnUpdate { * Handle client/game/profile/items/moving - RecordShootingRangePoints */ improveArea(pmcData: IPmcData, request: IHideoutImproveAreaRequestData, sessionId: string): IItemEventRouterResponse; + /** + * Handle client/game/profile/items/moving - HideoutCancelProductionCommand + */ + cancelProduction(pmcData: IPmcData, request: IHideoutCancelProductionRequestData, sessionId: string): IItemEventRouterResponse; onUpdate(timeSinceLastRun: number): Promise; getRoute(): string; } diff --git a/types/callbacks/HttpCallbacks.d.ts b/types/callbacks/HttpCallbacks.d.ts index 10794fa..060301a 100644 --- a/types/callbacks/HttpCallbacks.d.ts +++ b/types/callbacks/HttpCallbacks.d.ts @@ -1,5 +1,5 @@ -import { OnLoad } from "../di/OnLoad"; -import { HttpServer } from "../servers/HttpServer"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { HttpServer } from "@spt-aki/servers/HttpServer"; export declare class HttpCallbacks implements OnLoad { protected httpServer: HttpServer; constructor(httpServer: HttpServer); diff --git a/types/callbacks/InraidCallbacks.d.ts b/types/callbacks/InraidCallbacks.d.ts index d341956..ea77d62 100644 --- a/types/callbacks/InraidCallbacks.d.ts +++ b/types/callbacks/InraidCallbacks.d.ts @@ -1,8 +1,8 @@ -import { InraidController } from "../controllers/InraidController"; -import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; -import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; -import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { InraidController } from "@spt-aki/controllers/InraidController"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { IRegisterPlayerRequestData } from "@spt-aki/models/eft/inRaid/IRegisterPlayerRequestData"; +import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; /** * Handle client requests */ diff --git a/types/callbacks/InsuranceCallbacks.d.ts b/types/callbacks/InsuranceCallbacks.d.ts index 450a2fa..1c57629 100644 --- a/types/callbacks/InsuranceCallbacks.d.ts +++ b/types/callbacks/InsuranceCallbacks.d.ts @@ -1,15 +1,15 @@ -import { InsuranceController } from "../controllers/InsuranceController"; -import { OnUpdate } from "../di/OnUpdate"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; -import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData"; -import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; -import { ConfigServer } from "../servers/ConfigServer"; -import { InsuranceService } from "../services/InsuranceService"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { InsuranceController } from "@spt-aki/controllers/InsuranceController"; +import { OnUpdate } from "@spt-aki/di/OnUpdate"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IGetInsuranceCostRequestData } from "@spt-aki/models/eft/insurance/IGetInsuranceCostRequestData"; +import { IGetInsuranceCostResponseData } from "@spt-aki/models/eft/insurance/IGetInsuranceCostResponseData"; +import { IInsureRequestData } from "@spt-aki/models/eft/insurance/IInsureRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { InsuranceService } from "@spt-aki/services/InsuranceService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class InsuranceCallbacks implements OnUpdate { protected insuranceController: InsuranceController; protected insuranceService: InsuranceService; diff --git a/types/callbacks/InventoryCallbacks.d.ts b/types/callbacks/InventoryCallbacks.d.ts index 5d4b51d..ddbb070 100644 --- a/types/callbacks/InventoryCallbacks.d.ts +++ b/types/callbacks/InventoryCallbacks.d.ts @@ -1,23 +1,24 @@ -import { InventoryController } from "../controllers/InventoryController"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData"; -import { IInventoryCreateMarkerRequestData } from "../models/eft/inventory/IInventoryCreateMarkerRequestData"; -import { IInventoryDeleteMarkerRequestData } from "../models/eft/inventory/IInventoryDeleteMarkerRequestData"; -import { IInventoryEditMarkerRequestData } from "../models/eft/inventory/IInventoryEditMarkerRequestData"; -import { IInventoryExamineRequestData } from "../models/eft/inventory/IInventoryExamineRequestData"; -import { IInventoryFoldRequestData } from "../models/eft/inventory/IInventoryFoldRequestData"; -import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; -import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; -import { IInventoryReadEncyclopediaRequestData } from "../models/eft/inventory/IInventoryReadEncyclopediaRequestData"; -import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData"; -import { IInventorySortRequestData } from "../models/eft/inventory/IInventorySortRequestData"; -import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; -import { IInventorySwapRequestData } from "../models/eft/inventory/IInventorySwapRequestData"; -import { IInventoryTagRequestData } from "../models/eft/inventory/IInventoryTagRequestData"; -import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryToggleRequestData"; -import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; -import { IOpenRandomLootContainerRequestData } from "../models/eft/inventory/IOpenRandomLootContainerRequestData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { InventoryController } from "@spt-aki/controllers/InventoryController"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IInventoryBindRequestData } from "@spt-aki/models/eft/inventory/IInventoryBindRequestData"; +import { IInventoryCreateMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryCreateMarkerRequestData"; +import { IInventoryDeleteMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryDeleteMarkerRequestData"; +import { IInventoryEditMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryEditMarkerRequestData"; +import { IInventoryExamineRequestData } from "@spt-aki/models/eft/inventory/IInventoryExamineRequestData"; +import { IInventoryFoldRequestData } from "@spt-aki/models/eft/inventory/IInventoryFoldRequestData"; +import { IInventoryMergeRequestData } from "@spt-aki/models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryMoveRequestData } from "@spt-aki/models/eft/inventory/IInventoryMoveRequestData"; +import { IInventoryReadEncyclopediaRequestData } from "@spt-aki/models/eft/inventory/IInventoryReadEncyclopediaRequestData"; +import { IInventoryRemoveRequestData } from "@spt-aki/models/eft/inventory/IInventoryRemoveRequestData"; +import { IInventorySortRequestData } from "@spt-aki/models/eft/inventory/IInventorySortRequestData"; +import { IInventorySplitRequestData } from "@spt-aki/models/eft/inventory/IInventorySplitRequestData"; +import { IInventorySwapRequestData } from "@spt-aki/models/eft/inventory/IInventorySwapRequestData"; +import { IInventoryTagRequestData } from "@spt-aki/models/eft/inventory/IInventoryTagRequestData"; +import { IInventoryToggleRequestData } from "@spt-aki/models/eft/inventory/IInventoryToggleRequestData"; +import { IInventoryTransferRequestData } from "@spt-aki/models/eft/inventory/IInventoryTransferRequestData"; +import { IOpenRandomLootContainerRequestData } from "@spt-aki/models/eft/inventory/IOpenRandomLootContainerRequestData"; +import { IRedeemProfileRequestData } from "@spt-aki/models/eft/inventory/IRedeemProfileRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class InventoryCallbacks { protected inventoryController: InventoryController; constructor(inventoryController: InventoryController); @@ -35,6 +36,7 @@ export declare class InventoryCallbacks { toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse; tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; + unbindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; /** Handle ReadEncyclopedia */ readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; @@ -45,4 +47,5 @@ export declare class InventoryCallbacks { editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse; /** Handle OpenRandomLootContainer */ openRandomLootContainer(pmcData: IPmcData, body: IOpenRandomLootContainerRequestData, sessionID: string): IItemEventRouterResponse; + redeemProfileReward(pmcData: IPmcData, body: IRedeemProfileRequestData, sessionId: string): IItemEventRouterResponse; } diff --git a/types/callbacks/ItemEventCallbacks.d.ts b/types/callbacks/ItemEventCallbacks.d.ts index fbb0b5f..b040607 100644 --- a/types/callbacks/ItemEventCallbacks.d.ts +++ b/types/callbacks/ItemEventCallbacks.d.ts @@ -1,9 +1,9 @@ -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { Warning } from "../models/eft/itemEvent/IItemEventRouterBase"; -import { IItemEventRouterRequest } from "../models/eft/itemEvent/IItemEventRouterRequest"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { ItemEventRouter } from "../routers/ItemEventRouter"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { Warning } from "@spt-aki/models/eft/itemEvent/IItemEventRouterBase"; +import { IItemEventRouterRequest } from "@spt-aki/models/eft/itemEvent/IItemEventRouterRequest"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { ItemEventRouter } from "@spt-aki/routers/ItemEventRouter"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class ItemEventCallbacks { protected httpResponse: HttpResponseUtil; protected itemEventRouter: ItemEventRouter; diff --git a/types/callbacks/LauncherCallbacks.d.ts b/types/callbacks/LauncherCallbacks.d.ts index 20d99de..b452291 100644 --- a/types/callbacks/LauncherCallbacks.d.ts +++ b/types/callbacks/LauncherCallbacks.d.ts @@ -1,13 +1,13 @@ -import { LauncherController } from "../controllers/LauncherController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; -import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; -import { IRegisterData } from "../models/eft/launcher/IRegisterData"; -import { IRemoveProfileData } from "../models/eft/launcher/IRemoveProfileData"; -import { SaveServer } from "../servers/SaveServer"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { Watermark } from "../utils/Watermark"; -declare class LauncherCallbacks { +import { LauncherController } from "@spt-aki/controllers/LauncherController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IChangeRequestData } from "@spt-aki/models/eft/launcher/IChangeRequestData"; +import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestData"; +import { IRegisterData } from "@spt-aki/models/eft/launcher/IRegisterData"; +import { IRemoveProfileData } from "@spt-aki/models/eft/launcher/IRemoveProfileData"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { Watermark } from "@spt-aki/utils/Watermark"; +export declare class LauncherCallbacks { protected httpResponse: HttpResponseUtil; protected launcherController: LauncherController; protected saveServer: SaveServer; @@ -27,4 +27,3 @@ declare class LauncherCallbacks { getLoadedServerMods(): string; getServerModsProfileUsed(url: string, info: IEmptyRequestData, sessionId: string): string; } -export { LauncherCallbacks }; diff --git a/types/callbacks/LocationCallbacks.d.ts b/types/callbacks/LocationCallbacks.d.ts index da0d7cc..a370219 100644 --- a/types/callbacks/LocationCallbacks.d.ts +++ b/types/callbacks/LocationCallbacks.d.ts @@ -1,10 +1,10 @@ -import { LocationController } from "../controllers/LocationController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { ILocationBase } from "../models/eft/common/ILocationBase"; -import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { LocationController } from "@spt-aki/controllers/LocationController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { ILocationsGenerateAllResponse } from "@spt-aki/models/eft/common/ILocationsSourceDestinationBase"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IGetLocationRequestData } from "@spt-aki/models/eft/location/IGetLocationRequestData"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class LocationCallbacks { protected httpResponse: HttpResponseUtil; protected locationController: LocationController; diff --git a/types/callbacks/MatchCallbacks.d.ts b/types/callbacks/MatchCallbacks.d.ts index 0ed7d37..a6f2ccf 100644 --- a/types/callbacks/MatchCallbacks.d.ts +++ b/types/callbacks/MatchCallbacks.d.ts @@ -1,26 +1,27 @@ -import { MatchController } from "../controllers/MatchController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; -import { IAcceptGroupInviteRequest } from "../models/eft/match/IAcceptGroupInviteRequest"; -import { IAcceptGroupInviteResponse } from "../models/eft/match/IAcceptGroupInviteResponse"; -import { ICancelGroupInviteRequest } from "../models/eft/match/ICancelGroupInviteRequest"; -import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; -import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; -import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; -import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; -import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidConfigurationRequestData"; -import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; -import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; -import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData"; -import { IRemovePlayerFromGroupRequest } from "../models/eft/match/IRemovePlayerFromGroupRequest"; -import { ISendGroupInviteRequest } from "../models/eft/match/ISendGroupInviteRequest"; -import { ITransferGroupRequest } from "../models/eft/match/ITransferGroupRequest"; -import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; +import { MatchController } from "@spt-aki/controllers/MatchController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { IAcceptGroupInviteRequest } from "@spt-aki/models/eft/match/IAcceptGroupInviteRequest"; +import { IAcceptGroupInviteResponse } from "@spt-aki/models/eft/match/IAcceptGroupInviteResponse"; +import { ICancelGroupInviteRequest } from "@spt-aki/models/eft/match/ICancelGroupInviteRequest"; +import { ICreateGroupRequestData } from "@spt-aki/models/eft/match/ICreateGroupRequestData"; +import { IEndOfflineRaidRequestData } from "@spt-aki/models/eft/match/IEndOfflineRaidRequestData"; +import { IGetGroupStatusRequestData } from "@spt-aki/models/eft/match/IGetGroupStatusRequestData"; +import { IGetGroupStatusResponse } from "@spt-aki/models/eft/match/IGetGroupStatusResponse"; +import { IGetProfileRequestData } from "@spt-aki/models/eft/match/IGetProfileRequestData"; +import { IGetRaidConfigurationRequestData } from "@spt-aki/models/eft/match/IGetRaidConfigurationRequestData"; +import { IJoinMatchRequestData } from "@spt-aki/models/eft/match/IJoinMatchRequestData"; +import { IJoinMatchResult } from "@spt-aki/models/eft/match/IJoinMatchResult"; +import { IPutMetricsRequestData } from "@spt-aki/models/eft/match/IPutMetricsRequestData"; +import { IRemovePlayerFromGroupRequest } from "@spt-aki/models/eft/match/IRemovePlayerFromGroupRequest"; +import { ISendGroupInviteRequest } from "@spt-aki/models/eft/match/ISendGroupInviteRequest"; +import { ITransferGroupRequest } from "@spt-aki/models/eft/match/ITransferGroupRequest"; +import { IUpdatePingRequestData } from "@spt-aki/models/eft/match/IUpdatePingRequestData"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class MatchCallbacks { protected httpResponse: HttpResponseUtil; protected jsonUtil: JsonUtil; @@ -58,7 +59,7 @@ export declare class MatchCallbacks { * Handle client/match/group/status * @returns */ - getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData; + getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData; /** Handle client/match/group/create */ createGroup(url: string, info: ICreateGroupRequestData, sessionID: string): IGetBodyResponseData; /** Handle client/match/group/delete */ diff --git a/types/callbacks/ModCallbacks.d.ts b/types/callbacks/ModCallbacks.d.ts index d1ec7f7..6af1e68 100644 --- a/types/callbacks/ModCallbacks.d.ts +++ b/types/callbacks/ModCallbacks.d.ts @@ -1,12 +1,12 @@ -import { OnLoad } from "../di/OnLoad"; -import { PostAkiModLoader } from "../loaders/PostAkiModLoader"; -import { IHttpConfig } from "../models/spt/config/IHttpConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { HttpFileUtil } from "../utils/HttpFileUtil"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -declare class ModCallbacks implements OnLoad { +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { PostAkiModLoader } from "@spt-aki/loaders/PostAkiModLoader"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HttpFileUtil } from "@spt-aki/utils/HttpFileUtil"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +export declare class ModCallbacks implements OnLoad { protected logger: ILogger; protected httpResponse: HttpResponseUtil; protected httpFileUtil: HttpFileUtil; @@ -18,4 +18,3 @@ declare class ModCallbacks implements OnLoad { onLoad(): Promise; getRoute(): string; } -export { ModCallbacks }; diff --git a/types/callbacks/NoteCallbacks.d.ts b/types/callbacks/NoteCallbacks.d.ts index cb1cbc8..a60d3bb 100644 --- a/types/callbacks/NoteCallbacks.d.ts +++ b/types/callbacks/NoteCallbacks.d.ts @@ -1,7 +1,7 @@ -import { NoteController } from "../controllers/NoteController"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { INoteActionData } from "../models/eft/notes/INoteActionData"; +import { NoteController } from "@spt-aki/controllers/NoteController"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { INoteActionData } from "@spt-aki/models/eft/notes/INoteActionData"; export declare class NoteCallbacks { protected noteController: NoteController; constructor(noteController: NoteController); diff --git a/types/callbacks/NotifierCallbacks.d.ts b/types/callbacks/NotifierCallbacks.d.ts index eb1ead9..59faade 100644 --- a/types/callbacks/NotifierCallbacks.d.ts +++ b/types/callbacks/NotifierCallbacks.d.ts @@ -1,12 +1,12 @@ -import { NotifierController } from "../controllers/NotifierController"; -import { HttpServerHelper } from "../helpers/HttpServerHelper"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { INotifierChannel } from "../models/eft/notifier/INotifier"; -import { ISelectProfileRequestData } from "../models/eft/notifier/ISelectProfileRequestData"; -import { ISelectProfileResponse } from "../models/eft/notifier/ISelectProfileResponse"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; +import { NotifierController } from "@spt-aki/controllers/NotifierController"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INotifierChannel } from "@spt-aki/models/eft/notifier/INotifier"; +import { ISelectProfileRequestData } from "@spt-aki/models/eft/notifier/ISelectProfileRequestData"; +import { ISelectProfileResponse } from "@spt-aki/models/eft/notifier/ISelectProfileResponse"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class NotifierCallbacks { protected httpServerHelper: HttpServerHelper; protected httpResponse: HttpResponseUtil; diff --git a/types/callbacks/PresetBuildCallbacks.d.ts b/types/callbacks/PresetBuildCallbacks.d.ts index e5973a9..f5a4c49 100644 --- a/types/callbacks/PresetBuildCallbacks.d.ts +++ b/types/callbacks/PresetBuildCallbacks.d.ts @@ -1,12 +1,12 @@ -import { PresetBuildController } from "../controllers/PresetBuildController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData"; -import { IRemoveBuildRequestData } from "../models/eft/presetBuild/IRemoveBuildRequestData"; -import { IUserBuilds } from "../models/eft/profile/IAkiProfile"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { PresetBuildController } from "@spt-aki/controllers/PresetBuildController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IPresetBuildActionRequestData } from "@spt-aki/models/eft/presetBuild/IPresetBuildActionRequestData"; +import { IRemoveBuildRequestData } from "@spt-aki/models/eft/presetBuild/IRemoveBuildRequestData"; +import { IUserBuilds } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class PresetBuildCallbacks { protected httpResponse: HttpResponseUtil; protected presetBuildController: PresetBuildController; diff --git a/types/callbacks/PresetCallbacks.d.ts b/types/callbacks/PresetCallbacks.d.ts index 37bf4e8..2741094 100644 --- a/types/callbacks/PresetCallbacks.d.ts +++ b/types/callbacks/PresetCallbacks.d.ts @@ -1,5 +1,5 @@ -import { PresetController } from "../controllers/PresetController"; -import { OnLoad } from "../di/OnLoad"; +import { PresetController } from "@spt-aki/controllers/PresetController"; +import { OnLoad } from "@spt-aki/di/OnLoad"; export declare class PresetCallbacks implements OnLoad { protected presetController: PresetController; constructor(presetController: PresetController); diff --git a/types/callbacks/ProfileCallbacks.d.ts b/types/callbacks/ProfileCallbacks.d.ts index 77f6a27..2e1db38 100644 --- a/types/callbacks/ProfileCallbacks.d.ts +++ b/types/callbacks/ProfileCallbacks.d.ts @@ -1,19 +1,20 @@ -import { ProfileController } from "../controllers/ProfileController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; -import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData"; -import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData"; -import { IGetProfileSettingsRequest } from "../models/eft/profile/IGetProfileSettingsRequest"; -import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; -import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; -import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; -import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData"; -import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse"; -import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { ProfileController } from "@spt-aki/controllers/ProfileController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { IGetMiniProfileRequestData } from "@spt-aki/models/eft/launcher/IGetMiniProfileRequestData"; +import { GetProfileStatusResponseData } from "@spt-aki/models/eft/profile/GetProfileStatusResponseData"; +import { ICreateProfileResponse } from "@spt-aki/models/eft/profile/ICreateProfileResponse"; +import { IGetProfileSettingsRequest } from "@spt-aki/models/eft/profile/IGetProfileSettingsRequest"; +import { IProfileChangeNicknameRequestData } from "@spt-aki/models/eft/profile/IProfileChangeNicknameRequestData"; +import { IProfileChangeVoiceRequestData } from "@spt-aki/models/eft/profile/IProfileChangeVoiceRequestData"; +import { IProfileCreateRequestData } from "@spt-aki/models/eft/profile/IProfileCreateRequestData"; +import { ISearchFriendRequestData } from "@spt-aki/models/eft/profile/ISearchFriendRequestData"; +import { ISearchFriendResponse } from "@spt-aki/models/eft/profile/ISearchFriendResponse"; +import { IValidateNicknameRequestData } from "@spt-aki/models/eft/profile/IValidateNicknameRequestData"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; /** Handle profile related client events */ export declare class ProfileCallbacks { protected httpResponse: HttpResponseUtil; @@ -23,7 +24,7 @@ export declare class ProfileCallbacks { /** * Handle client/game/profile/create */ - createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; + createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; /** * Handle client/game/profile/list * Get the complete player profile (scav + pmc character) diff --git a/types/callbacks/QuestCallbacks.d.ts b/types/callbacks/QuestCallbacks.d.ts index b3b37dd..b5c5275 100644 --- a/types/callbacks/QuestCallbacks.d.ts +++ b/types/callbacks/QuestCallbacks.d.ts @@ -1,17 +1,17 @@ -import { QuestController } from "../controllers/QuestController"; -import { RepeatableQuestController } from "../controllers/RepeatableQuestController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IQuest } from "../models/eft/common/tables/IQuest"; -import { IPmcDataRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; -import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; -import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; -import { IListQuestsRequestData } from "../models/eft/quests/IListQuestsRequestData"; -import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { QuestController } from "@spt-aki/controllers/QuestController"; +import { RepeatableQuestController } from "@spt-aki/controllers/RepeatableQuestController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IQuest } from "@spt-aki/models/eft/common/tables/IQuest"; +import { IPmcDataRepeatableQuest } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAcceptQuestRequestData } from "@spt-aki/models/eft/quests/IAcceptQuestRequestData"; +import { ICompleteQuestRequestData } from "@spt-aki/models/eft/quests/ICompleteQuestRequestData"; +import { IHandoverQuestRequestData } from "@spt-aki/models/eft/quests/IHandoverQuestRequestData"; +import { IListQuestsRequestData } from "@spt-aki/models/eft/quests/IListQuestsRequestData"; +import { IRepeatableQuestChangeRequest } from "@spt-aki/models/eft/quests/IRepeatableQuestChangeRequest"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class QuestCallbacks { protected httpResponse: HttpResponseUtil; protected questController: QuestController; diff --git a/types/callbacks/RagfairCallbacks.d.ts b/types/callbacks/RagfairCallbacks.d.ts index 5ba1176..bad2ce0 100644 --- a/types/callbacks/RagfairCallbacks.d.ts +++ b/types/callbacks/RagfairCallbacks.d.ts @@ -1,26 +1,28 @@ -import { OnLoad } from "../di/OnLoad"; -import { OnUpdate } from "../di/OnUpdate"; -import { RagfairController } from "../controllers/RagfairController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData"; -import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; -import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; -import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; -import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; -import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; -import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; -import { ISendRagfairReportRequestData } from "../models/eft/ragfair/ISendRagfairReportRequestData"; -import { IStorePlayerOfferTaxAmountRequestData } from "../models/eft/ragfair/IStorePlayerOfferTaxAmountRequestData"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ConfigServer } from "../servers/ConfigServer"; -import { RagfairServer } from "../servers/RagfairServer"; -import { RagfairTaxService } from "../services/RagfairTaxService"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; +import { RagfairController } from "@spt-aki/controllers/RagfairController"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { OnUpdate } from "@spt-aki/di/OnUpdate"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAddOfferRequestData } from "@spt-aki/models/eft/ragfair/IAddOfferRequestData"; +import { IExtendOfferRequestData } from "@spt-aki/models/eft/ragfair/IExtendOfferRequestData"; +import { IGetItemPriceResult } from "@spt-aki/models/eft/ragfair/IGetItemPriceResult"; +import { IGetMarketPriceRequestData } from "@spt-aki/models/eft/ragfair/IGetMarketPriceRequestData"; +import { IGetOffersResult } from "@spt-aki/models/eft/ragfair/IGetOffersResult"; +import { IGetRagfairOfferByIdRequest } from "@spt-aki/models/eft/ragfair/IGetRagfairOfferByIdRequest"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { IRemoveOfferRequestData } from "@spt-aki/models/eft/ragfair/IRemoveOfferRequestData"; +import { ISearchRequestData } from "@spt-aki/models/eft/ragfair/ISearchRequestData"; +import { ISendRagfairReportRequestData } from "@spt-aki/models/eft/ragfair/ISendRagfairReportRequestData"; +import { IStorePlayerOfferTaxAmountRequestData } from "@spt-aki/models/eft/ragfair/IStorePlayerOfferTaxAmountRequestData"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { RagfairServer } from "@spt-aki/servers/RagfairServer"; +import { RagfairTaxService } from "@spt-aki/services/RagfairTaxService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; /** * Handle ragfair related callback events */ @@ -57,4 +59,6 @@ export declare class RagfairCallbacks implements OnLoad, OnUpdate { /** Handle client/reports/ragfair/send */ sendReport(url: string, info: ISendRagfairReportRequestData, sessionID: string): INullResponseData; storePlayerOfferTaxAmount(url: string, request: IStorePlayerOfferTaxAmountRequestData, sessionId: string): INullResponseData; + /** Handle client/ragfair/offer/findbyid */ + getFleaOfferById(url: string, request: IGetRagfairOfferByIdRequest, sessionID: string): IGetBodyResponseData; } diff --git a/types/callbacks/RepairCallbacks.d.ts b/types/callbacks/RepairCallbacks.d.ts index 283e0a3..c8587dc 100644 --- a/types/callbacks/RepairCallbacks.d.ts +++ b/types/callbacks/RepairCallbacks.d.ts @@ -1,8 +1,8 @@ -import { RepairController } from "../controllers/RepairController"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; -import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; +import { RepairController } from "@spt-aki/controllers/RepairController"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IRepairActionDataRequest } from "@spt-aki/models/eft/repair/IRepairActionDataRequest"; +import { ITraderRepairActionDataRequest } from "@spt-aki/models/eft/repair/ITraderRepairActionDataRequest"; export declare class RepairCallbacks { protected repairController: RepairController; constructor(repairController: RepairController); diff --git a/types/callbacks/SaveCallbacks.d.ts b/types/callbacks/SaveCallbacks.d.ts index 1997f46..74d463f 100644 --- a/types/callbacks/SaveCallbacks.d.ts +++ b/types/callbacks/SaveCallbacks.d.ts @@ -1,8 +1,8 @@ -import { OnLoad } from "../di/OnLoad"; -import { OnUpdate } from "../di/OnUpdate"; -import { ICoreConfig } from "../models/spt/config/ICoreConfig"; -import { ConfigServer } from "../servers/ConfigServer"; -import { SaveServer } from "../servers/SaveServer"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { OnUpdate } from "@spt-aki/di/OnUpdate"; +import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; export declare class SaveCallbacks implements OnLoad, OnUpdate { protected saveServer: SaveServer; protected configServer: ConfigServer; diff --git a/types/callbacks/TradeCallbacks.d.ts b/types/callbacks/TradeCallbacks.d.ts index 1c0cb32..bfa72b0 100644 --- a/types/callbacks/TradeCallbacks.d.ts +++ b/types/callbacks/TradeCallbacks.d.ts @@ -1,9 +1,9 @@ -import { TradeController } from "../controllers/TradeController"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; -import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; -import { ISellScavItemsToFenceRequestData } from "../models/eft/trade/ISellScavItemsToFenceRequestData"; +import { TradeController } from "@spt-aki/controllers/TradeController"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBaseTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBaseTradeRequestData"; +import { IProcessRagfairTradeRequestData } from "@spt-aki/models/eft/trade/IProcessRagfairTradeRequestData"; +import { ISellScavItemsToFenceRequestData } from "@spt-aki/models/eft/trade/ISellScavItemsToFenceRequestData"; export declare class TradeCallbacks { protected tradeController: TradeController; constructor(tradeController: TradeController); diff --git a/types/callbacks/TraderCallbacks.d.ts b/types/callbacks/TraderCallbacks.d.ts index 4097e00..3002b62 100644 --- a/types/callbacks/TraderCallbacks.d.ts +++ b/types/callbacks/TraderCallbacks.d.ts @@ -1,10 +1,10 @@ -import { OnLoad } from "../di/OnLoad"; -import { OnUpdate } from "../di/OnUpdate"; -import { TraderController } from "../controllers/TraderController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { TraderController } from "@spt-aki/controllers/TraderController"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { OnUpdate } from "@spt-aki/di/OnUpdate"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { ITraderAssort, ITraderBase } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class TraderCallbacks implements OnLoad, OnUpdate { protected httpResponse: HttpResponseUtil; protected traderController: TraderController; diff --git a/types/callbacks/WeatherCallbacks.d.ts b/types/callbacks/WeatherCallbacks.d.ts index f9d2002..2c6fdf6 100644 --- a/types/callbacks/WeatherCallbacks.d.ts +++ b/types/callbacks/WeatherCallbacks.d.ts @@ -1,8 +1,8 @@ -import { WeatherController } from "../controllers/WeatherController"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { IWeatherData } from "../models/eft/weather/IWeatherData"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { WeatherController } from "@spt-aki/controllers/WeatherController"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IWeatherData } from "@spt-aki/models/eft/weather/IWeatherData"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class WeatherCallbacks { protected httpResponse: HttpResponseUtil; protected weatherController: WeatherController; diff --git a/types/callbacks/WishlistCallbacks.d.ts b/types/callbacks/WishlistCallbacks.d.ts index a118cc8..29c3e44 100644 --- a/types/callbacks/WishlistCallbacks.d.ts +++ b/types/callbacks/WishlistCallbacks.d.ts @@ -1,7 +1,7 @@ -import { WishlistController } from "../controllers/WishlistController"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; +import { WishlistController } from "@spt-aki/controllers/WishlistController"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IWishlistActionData } from "@spt-aki/models/eft/wishlist/IWishlistActionData"; export declare class WishlistCallbacks { protected wishlistController: WishlistController; constructor(wishlistController: WishlistController); diff --git a/types/context/ApplicationContext.d.ts b/types/context/ApplicationContext.d.ts index 0a81be0..5eea16e 100644 --- a/types/context/ApplicationContext.d.ts +++ b/types/context/ApplicationContext.d.ts @@ -1,5 +1,5 @@ -import { ContextVariable } from "./ContextVariable"; -import { ContextVariableType } from "./ContextVariableType"; +import { ContextVariable } from "@spt-aki/context/ContextVariable"; +import { ContextVariableType } from "@spt-aki/context/ContextVariableType"; export declare class ApplicationContext { private variables; private static holderMaxSize; @@ -10,11 +10,12 @@ export declare class ApplicationContext { * * const activePlayerSessionId = this.applicationContext.getLatestValue(ContextVariableType.SESSION_ID).getValue(); * - * const matchInfo = this.applicationContext.getLatestValue(ContextVariableType.MATCH_INFO).getValue(); + * const matchInfo = this.applicationContext.getLatestValue(ContextVariableType.RAID_CONFIGURATION).getValue(); * @param type * @returns */ getLatestValue(type: ContextVariableType): ContextVariable; getValues(type: ContextVariableType): ContextVariable[]; addValue(type: ContextVariableType, value: any): void; + clearValues(type: ContextVariableType): void; } diff --git a/types/context/ContextVariable.d.ts b/types/context/ContextVariable.d.ts index 0fe0a63..21bf7ef 100644 --- a/types/context/ContextVariable.d.ts +++ b/types/context/ContextVariable.d.ts @@ -1,4 +1,4 @@ -import { ContextVariableType } from "./ContextVariableType"; +import { ContextVariableType } from "@spt-aki/context/ContextVariableType"; export declare class ContextVariable { private value; private timestamp; diff --git a/types/context/ContextVariableType.d.ts b/types/context/ContextVariableType.d.ts index 49f3267..0722a98 100644 --- a/types/context/ContextVariableType.d.ts +++ b/types/context/ContextVariableType.d.ts @@ -6,5 +6,6 @@ export declare enum ContextVariableType { /** Timestamp when client first connected */ CLIENT_START_TIMESTAMP = 2, /** When player is loading into map and loot is requested */ - REGISTER_PLAYER_REQUEST = 3 + REGISTER_PLAYER_REQUEST = 3, + RAID_ADJUSTMENTS = 4 } diff --git a/types/controllers/BotController.d.ts b/types/controllers/BotController.d.ts index c343f95..f7ba1aa 100644 --- a/types/controllers/BotController.d.ts +++ b/types/controllers/BotController.d.ts @@ -1,21 +1,21 @@ -import { ApplicationContext } from "../context/ApplicationContext"; -import { BotGenerator } from "../generators/BotGenerator"; -import { BotDifficultyHelper } from "../helpers/BotDifficultyHelper"; -import { BotHelper } from "../helpers/BotHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; -import { IBotBase } from "../models/eft/common/tables/IBotBase"; -import { IBotCore } from "../models/eft/common/tables/IBotCore"; -import { Difficulty } from "../models/eft/common/tables/IBotType"; -import { IBotConfig } from "../models/spt/config/IBotConfig"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { BotGenerationCacheService } from "../services/BotGenerationCacheService"; -import { LocalisationService } from "../services/LocalisationService"; -import { MatchBotDetailsCacheService } from "../services/MatchBotDetailsCacheService"; -import { JsonUtil } from "../utils/JsonUtil"; +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { BotGenerator } from "@spt-aki/generators/BotGenerator"; +import { BotDifficultyHelper } from "@spt-aki/helpers/BotDifficultyHelper"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IGenerateBotsRequestData } from "@spt-aki/models/eft/bot/IGenerateBotsRequestData"; +import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IBotCore } from "@spt-aki/models/eft/common/tables/IBotCore"; +import { Difficulty } from "@spt-aki/models/eft/common/tables/IBotType"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { BotGenerationCacheService } from "@spt-aki/services/BotGenerationCacheService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { MatchBotDetailsCacheService } from "@spt-aki/services/MatchBotDetailsCacheService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class BotController { protected logger: ILogger; protected databaseServer: DatabaseServer; @@ -31,7 +31,6 @@ export declare class BotController { protected jsonUtil: JsonUtil; protected botConfig: IBotConfig; protected pmcConfig: IPmcConfig; - static readonly pmcTypeLabel = "PMC"; constructor(logger: ILogger, databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, botDifficultyHelper: BotDifficultyHelper, botGenerationCacheService: BotGenerationCacheService, matchBotDetailsCacheService: MatchBotDetailsCacheService, localisationService: LocalisationService, profileHelper: ProfileHelper, configServer: ConfigServer, applicationContext: ApplicationContext, jsonUtil: JsonUtil); /** * Return the number of bot loadout varieties to be generated diff --git a/types/controllers/ClientLogController.d.ts b/types/controllers/ClientLogController.d.ts new file mode 100644 index 0000000..5d70ba4 --- /dev/null +++ b/types/controllers/ClientLogController.d.ts @@ -0,0 +1,10 @@ +import { IClientLogRequest } from "@spt-aki/models/spt/logging/IClientLogRequest"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +export declare class ClientLogController { + protected logger: ILogger; + constructor(logger: ILogger); + /** + * Handle /singleplayer/log + */ + clientLog(logRequest: IClientLogRequest): void; +} diff --git a/types/controllers/CustomizationController.d.ts b/types/controllers/CustomizationController.d.ts index f38feae..27de49a 100644 --- a/types/controllers/CustomizationController.d.ts +++ b/types/controllers/CustomizationController.d.ts @@ -1,14 +1,14 @@ -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { ISuit } from "../models/eft/common/tables/ITrader"; -import { ClothingItem, IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData"; -import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { LocalisationService } from "../services/LocalisationService"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ISuit } from "@spt-aki/models/eft/common/tables/ITrader"; +import { ClothingItem, IBuyClothingRequestData } from "@spt-aki/models/eft/customization/IBuyClothingRequestData"; +import { IWearClothingRequestData } from "@spt-aki/models/eft/customization/IWearClothingRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; export declare class CustomizationController { protected logger: ILogger; protected eventOutputHolder: EventOutputHolder; diff --git a/types/controllers/DialogueController.d.ts b/types/controllers/DialogueController.d.ts index d673159..8d47886 100644 --- a/types/controllers/DialogueController.d.ts +++ b/types/controllers/DialogueController.d.ts @@ -1,34 +1,27 @@ -import { DialogueHelper } from "../helpers/DialogueHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse"; -import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; -import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDialogViewRequestData"; -import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; -import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest"; -import { Dialogue, DialogueInfo, IAkiProfile, IUserDialogInfo, Message } from "../models/eft/profile/IAkiProfile"; -import { MessageType } from "../models/enums/MessageType"; -import { ICoreConfig } from "../models/spt/config/ICoreConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { SaveServer } from "../servers/SaveServer"; -import { GiftService } from "../services/GiftService"; -import { MailSendService } from "../services/MailSendService"; -import { HashUtil } from "../utils/HashUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { IDialogueChatBot } from "@spt-aki/helpers/Dialogue/IDialogueChatBot"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { IGetAllAttachmentsResponse } from "@spt-aki/models/eft/dialog/IGetAllAttachmentsResponse"; +import { IGetFriendListDataResponse } from "@spt-aki/models/eft/dialog/IGetFriendListDataResponse"; +import { IGetMailDialogViewRequestData } from "@spt-aki/models/eft/dialog/IGetMailDialogViewRequestData"; +import { IGetMailDialogViewResponseData } from "@spt-aki/models/eft/dialog/IGetMailDialogViewResponseData"; +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { Dialogue, DialogueInfo, IAkiProfile, IUserDialogInfo, Message } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class DialogueController { protected logger: ILogger; protected saveServer: SaveServer; protected timeUtil: TimeUtil; protected dialogueHelper: DialogueHelper; - protected profileHelper: ProfileHelper; - protected randomUtil: RandomUtil; protected mailSendService: MailSendService; - protected giftService: GiftService; - protected hashUtil: HashUtil; protected configServer: ConfigServer; - protected coreConfig: ICoreConfig; - constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, randomUtil: RandomUtil, mailSendService: MailSendService, giftService: GiftService, hashUtil: HashUtil, configServer: ConfigServer); + protected dialogueChatBots: IDialogueChatBot[]; + constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, dialogueHelper: DialogueHelper, mailSendService: MailSendService, configServer: ConfigServer, dialogueChatBots: IDialogueChatBot[]); + registerChatBot(chatBot: IDialogueChatBot): void; /** Handle onUpdate spt event */ update(): void; /** @@ -122,13 +115,6 @@ export declare class DialogueController { getAllAttachments(dialogueId: string, sessionId: string): IGetAllAttachmentsResponse; /** client/mail/msg/send */ sendMessage(sessionId: string, request: ISendMessageRequest): string; - /** - * Send responses back to player when they communicate with SPT friend on friends list - * @param sessionId Session Id - * @param request send message request - */ - protected handleChatWithSPTFriend(sessionId: string, request: ISendMessageRequest): void; - protected getSptFriendData(friendId?: string): IUserDialogInfo; /** * Get messages from a specific dialog that have items not expired * @param sessionId Session id diff --git a/types/controllers/GameController.d.ts b/types/controllers/GameController.d.ts index b6903b7..d2a978b 100644 --- a/types/controllers/GameController.d.ts +++ b/types/controllers/GameController.d.ts @@ -1,36 +1,39 @@ -import { ApplicationContext } from "../context/ApplicationContext"; -import { HideoutHelper } from "../helpers/HideoutHelper"; -import { HttpServerHelper } from "../helpers/HttpServerHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { PreAkiModLoader } from "../loaders/PreAkiModLoader"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { ICheckVersionResponse } from "../models/eft/game/ICheckVersionResponse"; -import { ICurrentGroupResponse } from "../models/eft/game/ICurrentGroupResponse"; -import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; -import { IGameKeepAliveResponse } from "../models/eft/game/IGameKeepAliveResponse"; -import { IServerDetails } from "../models/eft/game/IServerDetails"; -import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; -import { ICoreConfig } from "../models/spt/config/ICoreConfig"; -import { IHttpConfig } from "../models/spt/config/IHttpConfig"; -import { ILocationConfig } from "../models/spt/config/ILocationConfig"; -import { ILootConfig } from "../models/spt/config/ILootConfig"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { CustomLocationWaveService } from "../services/CustomLocationWaveService"; -import { GiftService } from "../services/GiftService"; -import { ItemBaseClassService } from "../services/ItemBaseClassService"; -import { LocalisationService } from "../services/LocalisationService"; -import { OpenZoneService } from "../services/OpenZoneService"; -import { ProfileFixerService } from "../services/ProfileFixerService"; -import { SeasonalEventService } from "../services/SeasonalEventService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { HideoutHelper } from "@spt-aki/helpers/HideoutHelper"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { PreAkiModLoader } from "@spt-aki/loaders/PreAkiModLoader"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ICheckVersionResponse } from "@spt-aki/models/eft/game/ICheckVersionResponse"; +import { ICurrentGroupResponse } from "@spt-aki/models/eft/game/ICurrentGroupResponse"; +import { IGameConfigResponse } from "@spt-aki/models/eft/game/IGameConfigResponse"; +import { IGameKeepAliveResponse } from "@spt-aki/models/eft/game/IGameKeepAliveResponse"; +import { IGetRaidTimeRequest } from "@spt-aki/models/eft/game/IGetRaidTimeRequest"; +import { IGetRaidTimeResponse } from "@spt-aki/models/eft/game/IGetRaidTimeResponse"; +import { IServerDetails } from "@spt-aki/models/eft/game/IServerDetails"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { ILootConfig } from "@spt-aki/models/spt/config/ILootConfig"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { CustomLocationWaveService } from "@spt-aki/services/CustomLocationWaveService"; +import { GiftService } from "@spt-aki/services/GiftService"; +import { ItemBaseClassService } from "@spt-aki/services/ItemBaseClassService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { OpenZoneService } from "@spt-aki/services/OpenZoneService"; +import { ProfileFixerService } from "@spt-aki/services/ProfileFixerService"; +import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; +import { SeasonalEventService } from "@spt-aki/services/SeasonalEventService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class GameController { protected logger: ILogger; protected databaseServer: DatabaseServer; @@ -49,30 +52,28 @@ export declare class GameController { protected seasonalEventService: SeasonalEventService; protected itemBaseClassService: ItemBaseClassService; protected giftService: GiftService; + protected raidTimeAdjustmentService: RaidTimeAdjustmentService; protected applicationContext: ApplicationContext; protected configServer: ConfigServer; - protected os: any; protected httpConfig: IHttpConfig; protected coreConfig: ICoreConfig; protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected pmcConfig: IPmcConfig; protected lootConfig: ILootConfig; - constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer); + constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, raidTimeAdjustmentService: RaidTimeAdjustmentService, applicationContext: ApplicationContext, configServer: ConfigServer); load(): void; /** * Handle client/game/start */ gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void; + /** + * Out of date/incorrectly made trader mods forget this data + */ + protected checkTraderRepairValuesExist(): void; protected addCustomLooseLootPositions(): void; protected adjustLooseLootSpawnProbabilities(): void; protected setHideoutAreasAndCraftsTo40Secs(): void; - /** - * 3.7.0 moved AIDs to be numeric, old profiles need to be migrated - * We store the old AID value in new field `sessionId` - * @param fullProfile Profile to update - */ - protected fixIncorrectAidValue(fullProfile: IAkiProfile): void; /** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */ protected adjustMapBotLimits(): void; /** @@ -95,6 +96,10 @@ export declare class GameController { * Handle client/game/keepalive */ getKeepAlive(sessionId: string): IGameKeepAliveResponse; + /** + * Handle singleplayer/settings/getRaidTime + */ + getRaidTime(sessionId: string, request: IGetRaidTimeRequest): IGetRaidTimeResponse; /** * BSG have two values for shotgun dispersion, we make sure both have the same value */ diff --git a/types/controllers/HandbookController.d.ts b/types/controllers/HandbookController.d.ts index 52d2dd8..4820f21 100644 --- a/types/controllers/HandbookController.d.ts +++ b/types/controllers/HandbookController.d.ts @@ -1,5 +1,5 @@ -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { DatabaseServer } from "../servers/DatabaseServer"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; export declare class HandbookController { protected databaseServer: DatabaseServer; protected handbookHelper: HandbookHelper; diff --git a/types/controllers/HealthController.d.ts b/types/controllers/HealthController.d.ts index 2d7ff09..5206cba 100644 --- a/types/controllers/HealthController.d.ts +++ b/types/controllers/HealthController.d.ts @@ -1,19 +1,19 @@ -import { HealthHelper } from "../helpers/HealthHelper"; -import { InventoryHelper } from "../helpers/InventoryHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData"; -import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData"; -import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData"; -import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; -import { IWorkoutData } from "../models/eft/health/IWorkoutData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { LocalisationService } from "../services/LocalisationService"; -import { PaymentService } from "../services/PaymentService"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; +import { HealthHelper } from "@spt-aki/helpers/HealthHelper"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IHealthTreatmentRequestData } from "@spt-aki/models/eft/health/IHealthTreatmentRequestData"; +import { IOffraidEatRequestData } from "@spt-aki/models/eft/health/IOffraidEatRequestData"; +import { IOffraidHealRequestData } from "@spt-aki/models/eft/health/IOffraidHealRequestData"; +import { ISyncHealthRequestData } from "@spt-aki/models/eft/health/ISyncHealthRequestData"; +import { IWorkoutData } from "@spt-aki/models/eft/health/IWorkoutData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { PaymentService } from "@spt-aki/services/PaymentService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class HealthController { protected logger: ILogger; protected jsonUtil: JsonUtil; diff --git a/types/controllers/HideoutController.d.ts b/types/controllers/HideoutController.d.ts index a90a16d..5595648 100644 --- a/types/controllers/HideoutController.d.ts +++ b/types/controllers/HideoutController.d.ts @@ -1,42 +1,43 @@ -import { ScavCaseRewardGenerator } from "../generators/ScavCaseRewardGenerator"; -import { HideoutHelper } from "../helpers/HideoutHelper"; -import { InventoryHelper } from "../helpers/InventoryHelper"; -import { PaymentHelper } from "../helpers/PaymentHelper"; -import { PresetHelper } from "../helpers/PresetHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { HideoutArea, Product } from "../models/eft/common/tables/IBotBase"; -import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData"; -import { IHandleQTEEventRequestData } from "../models/eft/hideout/IHandleQTEEventRequestData"; -import { IHideoutArea, Stage } from "../models/eft/hideout/IHideoutArea"; -import { IHideoutContinuousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinuousProductionStartRequestData"; -import { IHideoutImproveAreaRequestData } from "../models/eft/hideout/IHideoutImproveAreaRequestData"; -import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; -import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; -import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; -import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; -import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; -import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; -import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; -import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; -import { IQteData } from "../models/eft/hideout/IQteData"; -import { IRecordShootingRangePoints } from "../models/eft/hideout/IRecordShootingRangePoints"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { HideoutAreas } from "../models/enums/HideoutAreas"; -import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { FenceService } from "../services/FenceService"; -import { LocalisationService } from "../services/LocalisationService"; -import { PlayerService } from "../services/PlayerService"; -import { HashUtil } from "../utils/HashUtil"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { ScavCaseRewardGenerator } from "@spt-aki/generators/ScavCaseRewardGenerator"; +import { HideoutHelper } from "@spt-aki/helpers/HideoutHelper"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { HideoutArea, Product } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { HideoutUpgradeCompleteRequestData } from "@spt-aki/models/eft/hideout/HideoutUpgradeCompleteRequestData"; +import { IHandleQTEEventRequestData } from "@spt-aki/models/eft/hideout/IHandleQTEEventRequestData"; +import { IHideoutArea, Stage } from "@spt-aki/models/eft/hideout/IHideoutArea"; +import { IHideoutCancelProductionRequestData } from "@spt-aki/models/eft/hideout/IHideoutCancelProductionRequestData"; +import { IHideoutContinuousProductionStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutContinuousProductionStartRequestData"; +import { IHideoutImproveAreaRequestData } from "@spt-aki/models/eft/hideout/IHideoutImproveAreaRequestData"; +import { IHideoutProduction } from "@spt-aki/models/eft/hideout/IHideoutProduction"; +import { IHideoutPutItemInRequestData } from "@spt-aki/models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutScavCaseStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutScavCaseStartRequestData"; +import { IHideoutSingleProductionStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutTakeItemOutRequestData } from "@spt-aki/models/eft/hideout/IHideoutTakeItemOutRequestData"; +import { IHideoutTakeProductionRequestData } from "@spt-aki/models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IHideoutToggleAreaRequestData } from "@spt-aki/models/eft/hideout/IHideoutToggleAreaRequestData"; +import { IHideoutUpgradeRequestData } from "@spt-aki/models/eft/hideout/IHideoutUpgradeRequestData"; +import { IQteData } from "@spt-aki/models/eft/hideout/IQteData"; +import { IRecordShootingRangePoints } from "@spt-aki/models/eft/hideout/IRecordShootingRangePoints"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { HideoutAreas } from "@spt-aki/models/enums/HideoutAreas"; +import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { PlayerService } from "@spt-aki/services/PlayerService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class HideoutController { protected logger: ILogger; protected hashUtil: HashUtil; @@ -84,7 +85,6 @@ export declare class HideoutController { */ protected checkAndUpgradeWall(pmcData: IPmcData): void; /** - * * @param pmcData Profile to edit * @param output Object to send back to client * @param sessionID Session/player id @@ -101,8 +101,7 @@ export declare class HideoutController { */ protected addUpdateInventoryItemToProfile(pmcData: IPmcData, dbHideoutData: IHideoutArea, hideoutStage: Stage): void; /** - * - * @param output Objet to send to client + * @param output Object to send to client * @param sessionID Session/player id * @param areaType Hideout area that had stash added * @param hideoutDbData Hideout area that caused addition of stash @@ -228,7 +227,7 @@ export declare class HideoutController { * // TODO - implement this * @param sessionId Session id * @returns IQteData array - */ + */ getQteList(sessionId: string): IQteData[]; /** * Handle HideoutQuickTimeEvent on client/game/profile/items/moving @@ -249,10 +248,18 @@ export declare class HideoutController { /** * Handle client/game/profile/items/moving - HideoutImproveArea * @param sessionId Session id - * @param pmcData profile to improve area in - * @param request improve area request data + * @param pmcData Profile to improve area in + * @param request Improve area request data */ improveArea(sessionId: string, pmcData: IPmcData, request: IHideoutImproveAreaRequestData): IItemEventRouterResponse; + /** + * Handle client/game/profile/items/moving HideoutCancelProductionCommand + * @param sessionId Session id + * @param pmcData Profile with craft to cancel + * @param request Cancel production request data + * @returns IItemEventRouterResponse + */ + cancelProduction(sessionId: string, pmcData: IPmcData, request: IHideoutCancelProductionRequestData): IItemEventRouterResponse; /** * Function called every x seconds as part of onUpdate event */ diff --git a/types/controllers/InraidController.d.ts b/types/controllers/InraidController.d.ts index 6e86c63..8ec13ba 100644 --- a/types/controllers/InraidController.d.ts +++ b/types/controllers/InraidController.d.ts @@ -1,27 +1,26 @@ -import { ApplicationContext } from "../context/ApplicationContext"; -import { PlayerScavGenerator } from "../generators/PlayerScavGenerator"; -import { HealthHelper } from "../helpers/HealthHelper"; -import { InRaidHelper } from "../helpers/InRaidHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { QuestHelper } from "../helpers/QuestHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; -import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; -import { PlayerRaidEndState } from "../models/enums/PlayerRaidEndState"; -import { IAirdropConfig } from "../models/spt/config/IAirdropConfig"; -import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { InsuranceService } from "../services/InsuranceService"; -import { MatchBotDetailsCacheService } from "../services/MatchBotDetailsCacheService"; -import { PmcChatResponseService } from "../services/PmcChatResponseService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { PlayerScavGenerator } from "@spt-aki/generators/PlayerScavGenerator"; +import { HealthHelper } from "@spt-aki/helpers/HealthHelper"; +import { InRaidHelper } from "@spt-aki/helpers/InRaidHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IRegisterPlayerRequestData } from "@spt-aki/models/eft/inRaid/IRegisterPlayerRequestData"; +import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; +import { PlayerRaidEndState } from "@spt-aki/models/enums/PlayerRaidEndState"; +import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig"; +import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { InsuranceService } from "@spt-aki/services/InsuranceService"; +import { MatchBotDetailsCacheService } from "@spt-aki/services/MatchBotDetailsCacheService"; +import { PmcChatResponseService } from "@spt-aki/services/PmcChatResponseService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; /** * Logic for handling In Raid callbacks */ @@ -62,21 +61,19 @@ export declare class InraidController { savePostRaidProgress(offraidData: ISaveProgressRequestData, sessionID: string): void; /** * Handle updating player profile post-pmc raid - * @param sessionID session id - * @param offraidData post-raid data + * @param sessionID Session id + * @param postRaidRequest Post-raid data */ - protected savePmcProgress(sessionID: string, offraidData: ISaveProgressRequestData): void; + protected savePmcProgress(sessionID: string, postRaidRequest: ISaveProgressRequestData): void; /** * Make changes to pmc profile after they've died in raid, * Alter bodypart hp, handle insurance, delete inventory items, remove carried quest items * @param postRaidSaveRequest Post-raid save request * @param pmcData Pmc profile - * @param insuranceEnabled Is insurance enabled - * @param preRaidGear Gear player had before raid * @param sessionID Session id * @returns Updated profile object */ - protected performPostRaidActionsWhenDead(postRaidSaveRequest: ISaveProgressRequestData, pmcData: IPmcData, insuranceEnabled: boolean, preRaidGear: Item[], sessionID: string): IPmcData; + protected performPostRaidActionsWhenDead(postRaidSaveRequest: ISaveProgressRequestData, pmcData: IPmcData, sessionID: string): IPmcData; /** * Adjust player characters bodypart hp post-raid * @param postRaidSaveRequest post raid data @@ -91,10 +88,22 @@ export declare class InraidController { protected reducePmcHealthToPercent(pmcData: IPmcData, multipler: number): void; /** * Handle updating the profile post-pscav raid - * @param sessionID session id - * @param offraidData post-raid data of raid + * @param sessionID Session id + * @param postRaidRequest Post-raid data of raid */ - protected savePlayerScavProgress(sessionID: string, offraidData: ISaveProgressRequestData): void; + protected savePlayerScavProgress(sessionID: string, postRaidRequest: ISaveProgressRequestData): void; + /** + * Does provided profile contain any condition counters + * @param profile Profile to check for condition counters + * @returns Profile has condition counters + */ + protected profileHasConditionCounters(profile: IPmcData): boolean; + /** + * Scav quest progress isnt transferred automatically from scav to pmc, we do this manually + * @param scavProfile Scav profile with quest progress post-raid + * @param pmcProfile Server pmc profile to copy scav quest progress into + */ + protected migrateScavQuestProgressToPmcProfile(scavProfile: IPmcData, pmcProfile: IPmcData): void; /** * Is the player dead after a raid - dead is anything other than "survived" / "runner" * @param statusOnExit exit value from offraidData object @@ -119,10 +128,8 @@ export declare class InraidController { * Update profile with scav karma values based on in-raid actions * @param pmcData Pmc profile * @param offraidData Post-raid save request - * @param scavData Scav profile - * @param sessionID Session id */ - protected handlePostRaidPlayerScavKarmaChanges(pmcData: IPmcData, offraidData: ISaveProgressRequestData, scavData: IPmcData, sessionID: string): void; + protected handlePostRaidPlayerScavKarmaChanges(pmcData: IPmcData, offraidData: ISaveProgressRequestData): void; /** * Get the inraid config from configs/inraid.json * @returns InRaid Config diff --git a/types/controllers/InsuranceController.d.ts b/types/controllers/InsuranceController.d.ts index 061d0c9..64c2ae8 100644 --- a/types/controllers/InsuranceController.d.ts +++ b/types/controllers/InsuranceController.d.ts @@ -1,26 +1,25 @@ -import { DialogueHelper } from "../helpers/DialogueHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; -import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData"; -import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { Insurance } from "../models/eft/profile/IAkiProfile"; -import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { InsuranceService } from "../services/InsuranceService"; -import { MailSendService } from "../services/MailSendService"; -import { PaymentService } from "../services/PaymentService"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { IGetInsuranceCostRequestData } from "@spt-aki/models/eft/insurance/IGetInsuranceCostRequestData"; +import { IGetInsuranceCostResponseData } from "@spt-aki/models/eft/insurance/IGetInsuranceCostResponseData"; +import { IInsureRequestData } from "@spt-aki/models/eft/insurance/IInsureRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { ISystemData, Insurance } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { InsuranceService } from "@spt-aki/services/InsuranceService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { PaymentService } from "@spt-aki/services/PaymentService"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class InsuranceController { protected logger: ILogger; protected randomUtil: RandomUtil; @@ -37,18 +36,19 @@ export declare class InsuranceController { protected mailSendService: MailSendService; protected configServer: ConfigServer; protected insuranceConfig: IInsuranceConfig; + protected roubleTpl: string; constructor(logger: ILogger, randomUtil: RandomUtil, eventOutputHolder: EventOutputHolder, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, traderHelper: TraderHelper, paymentService: PaymentService, insuranceService: InsuranceService, mailSendService: MailSendService, configServer: ConfigServer); /** * Process insurance items of all profiles prior to being given back to the player through the mail service. * * @returns void - */ + */ processReturn(): void; /** * Process insurance items of a single profile prior to being given back to the player through the mail service. * * @returns void - */ + */ processReturnByProfile(sessionID: string): void; /** * Get all insured items that are ready to be processed in a specific profile. @@ -67,67 +67,100 @@ export declare class InsuranceController { */ protected processInsuredItems(insuranceDetails: Insurance[], sessionID: string): void; /** - * Build an array of items to delete from the insured items. + * Remove an insurance package from a profile using the package's system data information. * - * This method orchestrates several steps: - * - Filters items based on their presence in the database and their raid moddability. - * - Sorts base and independent child items to consider for deletion. - * - Groups child items by their parent for later evaluation. - * - Evaluates grouped child items to decide which should be deleted, based on their value and a random roll. - * - * @param insured - The insured items to build a removal array from. - * @returns An array of IDs representing items that should be deleted. - */ - protected findItemsToDelete(insured: Insurance): string[]; - /** - * Filters an item based on its existence in the database, raid moddability, and slot requirements. - * - * @param item The item to be filtered. - * @param parentItemDbDetails The database details of the parent item, or null if the item has no parent. - * @param itemDbDetails A tuple where the first element is a boolean indicating if the item exists in the database, - * and the second element is the item details if it does. - * @returns true if the item exists in the database and neither of the following conditions are met: - * - The item has the RaidModdable property set to false. - * - The item is attached to a required slot in its parent item. - * Otherwise, returns false. - */ - protected filterByRaidModdability(item: Item, parentItemDbDetails: ITemplateItem | null, itemDbDetails: [boolean, ITemplateItem]): boolean; - /** - * Determines if an item is either a base item or a child item that is not equipped to its parent. - * - * @param item The item to check. - * @returns true if the item is a base or an independent child item, otherwise false. - */ - protected isBaseOrIndependentChild(item: Item): boolean; - /** - * Makes a roll to determine if a given item should be deleted. If the roll is successful, the item's ID is added - * to the `toDelete` array. - * - * @param item The item for which the roll is made. - * @param traderId The ID of the trader to consider in the rollForItemDelete method. - * @param toDelete The array accumulating the IDs of items to be deleted. - * @returns true if the item is marked for deletion, otherwise false. - */ - protected makeRollAndMarkForDeletion(item: Item, traderId: string, toDelete: string[]): boolean; - /** - * Groups child items by their parent IDs in a Map data structure. - * - * @param item The child item to be grouped by its parent. - * @param childrenGroupedByParent The Map that holds arrays of children items grouped by their parent IDs. + * @param sessionID The session ID of the profile to remove the package from. + * @param index The array index of the insurance package to remove. * @returns void */ - protected groupChildrenByParent(item: Item, childrenGroupedByParent: Map): void; + protected removeInsurancePackageFromProfile(sessionID: string, packageInfo: ISystemData): void; /** - * Sorts the array of children items in descending order by their maximum price. For each child, a roll is made to - * determine if it should be deleted. The method then deletes the most valuable children based on the number of - * successful rolls made. + * Finds the items that should be deleted based on the given Insurance object. * - * @param children The array of children items to sort and filter. - * @param traderId The ID of the trader to consider in the rollForItemDelete method. + * @param insured The insurance object containing the items to evaluate for deletion. + * @returns A Set containing the IDs of items that should be deleted. + */ + protected findItemsToDelete(insured: Insurance): Set; + /** + * Populate a Map object of items for quick lookup by their ID. + * + * @param insured The insurance object containing the items to populate the map with. + * @returns A Map where the keys are the item IDs and the values are the corresponding Item objects. + */ + protected populateItemsMap(insured: Insurance): Map; + /** + * Initialize a Map object that holds main-parents to all of their attachments. Note that "main-parent" in this + * context refers to the parent item that an attachment is attached to. For example, a suppressor attached to a gun, + * not the backpack that the gun is located in (the gun's parent). + * + * @param insured - The insurance object containing the items to evaluate. + * @param itemsMap - A Map object for quick item look-up by item ID. + * @returns A Map object containing parent item IDs to arrays of their attachment items. + */ + protected populateParentAttachmentsMap(insured: Insurance, itemsMap: Map): Map; + /** + * Process "regular" insurance items. Any insured item that is not an attached, attachment is considered a "regular" + * item. This method iterates over them, preforming item deletion rolls to see if they should be deleted. If so, + * they (and their attached, attachments, if any) are marked for deletion in the toDelete Set. + * + * @param insured The insurance object containing the items to evaluate. + * @param toDelete A Set to keep track of items marked for deletion. + * @returns void + */ + protected processRegularItems(insured: Insurance, toDelete: Set): void; + /** + * Process parent items and their attachments, updating the toDelete Set accordingly. + * + * This method iterates over a map of parent items to their attachments and performs evaluations on each. + * It marks items for deletion based on certain conditions and updates the toDelete Set accordingly. + * + * @param mainParentToAttachmentsMap A Map object containing parent item IDs to arrays of their attachment items. + * @param itemsMap A Map object for quick item look-up by item ID. + * @param traderId The trader ID from the Insurance object. + * @param toDelete A Set object to keep track of items marked for deletion. + */ + protected processAttachments(mainParentToAttachmentsMap: Map, itemsMap: Map, traderId: string, toDelete: Set): void; + /** + * Takes an array of attachment items that belong to the same main-parent item, sorts them in descending order by + * their maximum price. For each attachment, a roll is made to determine if a deletion should be made. Once the + * number of deletions has been counted, the attachments are added to the toDelete Set, starting with the most + * valuable attachments first. + * + * @param attachments The array of attachment items to sort, filter, and roll. + * @param traderId The ID of the trader to that has ensured these items. * @param toDelete The array that accumulates the IDs of the items to be deleted. * @returns void */ - protected sortAndFilterChildren(children: Item[], traderId: string, toDelete: string[]): void; + protected processAttachmentByParent(attachments: Item[], traderId: string, toDelete: Set): void; + /** + * Sorts the attachment items by their max price in descending order. + * + * @param attachments The array of attachments items. + * @returns An array of items enriched with their max price and common locale-name. + */ + protected sortAttachmentsByPrice(attachments: Item[]): EnrichedItem[]; + /** + * Logs the details of each attachment item. + * + * @param attachments The array of attachment items. + */ + protected logAttachmentsDetails(attachments: EnrichedItem[]): void; + /** + * Counts the number of successful rolls for the attachment items. + * + * @param attachments The array of attachment items. + * @param traderId The ID of the trader that has insured these attachments. + * @returns The number of successful rolls. + */ + protected countSuccessfulRolls(attachments: Item[], traderId: string): number; + /** + * Marks the most valuable attachments for deletion based on the number of successful rolls made. + * + * @param attachments The array of attachment items. + * @param successfulRolls The number of successful rolls. + * @param toDelete The array that accumulates the IDs of the items to be deleted. + */ + protected attachmentDeletionByValue(attachments: EnrichedItem[], successfulRolls: number, toDelete: Set): void; /** * Remove items from the insured items that should not be returned to the player. * @@ -135,7 +168,23 @@ export declare class InsuranceController { * @param toDelete The items that should be deleted. * @returns void */ - protected removeItemsFromInsurance(insured: Insurance, toDelete: string[]): void; + protected removeItemsFromInsurance(insured: Insurance, toDelete: Set): void; + /** + * Adopts orphaned items by resetting them as base-level items. Helpful in situations where a parent has been + * deleted from insurance, but any insured items within the parent should remain. This method will remove the + * reference from the children to the parent and set item properties to main-level values. + * + * @param insured Insurance object containing items. + */ + protected adoptOrphanedItems(insured: Insurance): void; + /** + * Fetches the parentId property of an item with a slotId "hideout". Not sure if this is actually dynamic, but this + * method should be a reliable way to fetch it, if it ever does change. + * + * @param items Array of items to search through. + * @returns The parentId of an item with slotId 'hideout'. Empty string if not found. + */ + protected fetchHideoutItemParent(items: Item[]): string; /** * Handle sending the insurance message to the user that potentially contains the valid insurance items. * @@ -146,15 +195,14 @@ export declare class InsuranceController { */ protected sendMail(sessionID: string, insurance: Insurance, noItems: boolean): void; /** - * Determines whether a valid insured item should be removed from the player's inventory based on a random roll and + * Determines whether a insured item should be removed from the player's inventory based on a random roll and * trader-specific return chance. * - * @param insuredItem The insured item being evaluated for removal. * @param traderId The ID of the trader who insured the item. - * @param itemsBeingDeleted List of items that are already slated for removal. + * @param insuredItem Optional. The item to roll for. Only used for logging. * @returns true if the insured item should be removed from inventory, false otherwise. */ - protected rollForItemDelete(insuredItem: Item, traderId: string, itemsBeingDeleted: string[]): boolean; + protected rollForDelete(traderId: string, insuredItem?: Item): boolean; /** * Handle Insure event * Add insurance to an item @@ -175,3 +223,8 @@ export declare class InsuranceController { */ cost(request: IGetInsuranceCostRequestData, sessionID: string): IGetInsuranceCostResponseData; } +interface EnrichedItem extends Item { + name: string; + maxPrice: number; +} +export {}; diff --git a/types/controllers/InventoryController.d.ts b/types/controllers/InventoryController.d.ts index 5e7d19a..02e2127 100644 --- a/types/controllers/InventoryController.d.ts +++ b/types/controllers/InventoryController.d.ts @@ -1,39 +1,41 @@ -import { LootGenerator } from "../generators/LootGenerator"; -import { InventoryHelper } from "../helpers/InventoryHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PaymentHelper } from "../helpers/PaymentHelper"; -import { PresetHelper } from "../helpers/PresetHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { QuestHelper } from "../helpers/QuestHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData"; -import { IInventoryCreateMarkerRequestData } from "../models/eft/inventory/IInventoryCreateMarkerRequestData"; -import { IInventoryDeleteMarkerRequestData } from "../models/eft/inventory/IInventoryDeleteMarkerRequestData"; -import { IInventoryEditMarkerRequestData } from "../models/eft/inventory/IInventoryEditMarkerRequestData"; -import { IInventoryExamineRequestData } from "../models/eft/inventory/IInventoryExamineRequestData"; -import { IInventoryFoldRequestData } from "../models/eft/inventory/IInventoryFoldRequestData"; -import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; -import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; -import { IInventoryReadEncyclopediaRequestData } from "../models/eft/inventory/IInventoryReadEncyclopediaRequestData"; -import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData"; -import { IInventorySortRequestData } from "../models/eft/inventory/IInventorySortRequestData"; -import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; -import { IInventorySwapRequestData } from "../models/eft/inventory/IInventorySwapRequestData"; -import { IInventoryTagRequestData } from "../models/eft/inventory/IInventoryTagRequestData"; -import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryToggleRequestData"; -import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; -import { IOpenRandomLootContainerRequestData } from "../models/eft/inventory/IOpenRandomLootContainerRequestData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { FenceService } from "../services/FenceService"; -import { LocalisationService } from "../services/LocalisationService"; -import { RagfairOfferService } from "../services/RagfairOfferService"; -import { HashUtil } from "../utils/HashUtil"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; +import { LootGenerator } from "@spt-aki/generators/LootGenerator"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IInventoryBindRequestData } from "@spt-aki/models/eft/inventory/IInventoryBindRequestData"; +import { IInventoryCreateMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryCreateMarkerRequestData"; +import { IInventoryDeleteMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryDeleteMarkerRequestData"; +import { IInventoryEditMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryEditMarkerRequestData"; +import { IInventoryExamineRequestData } from "@spt-aki/models/eft/inventory/IInventoryExamineRequestData"; +import { IInventoryFoldRequestData } from "@spt-aki/models/eft/inventory/IInventoryFoldRequestData"; +import { IInventoryMergeRequestData } from "@spt-aki/models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryMoveRequestData } from "@spt-aki/models/eft/inventory/IInventoryMoveRequestData"; +import { IInventoryReadEncyclopediaRequestData } from "@spt-aki/models/eft/inventory/IInventoryReadEncyclopediaRequestData"; +import { IInventoryRemoveRequestData } from "@spt-aki/models/eft/inventory/IInventoryRemoveRequestData"; +import { IInventorySortRequestData } from "@spt-aki/models/eft/inventory/IInventorySortRequestData"; +import { IInventorySplitRequestData } from "@spt-aki/models/eft/inventory/IInventorySplitRequestData"; +import { IInventorySwapRequestData } from "@spt-aki/models/eft/inventory/IInventorySwapRequestData"; +import { IInventoryTagRequestData } from "@spt-aki/models/eft/inventory/IInventoryTagRequestData"; +import { IInventoryToggleRequestData } from "@spt-aki/models/eft/inventory/IInventoryToggleRequestData"; +import { IInventoryTransferRequestData } from "@spt-aki/models/eft/inventory/IInventoryTransferRequestData"; +import { IOpenRandomLootContainerRequestData } from "@spt-aki/models/eft/inventory/IOpenRandomLootContainerRequestData"; +import { IRedeemProfileRequestData } from "@spt-aki/models/eft/inventory/IRedeemProfileRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { PlayerService } from "@spt-aki/services/PlayerService"; +import { RagfairOfferService } from "@spt-aki/services/RagfairOfferService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class InventoryController { protected logger: ILogger; protected hashUtil: HashUtil; @@ -49,15 +51,16 @@ export declare class InventoryController { protected profileHelper: ProfileHelper; protected paymentHelper: PaymentHelper; protected localisationService: LocalisationService; + protected playerService: PlayerService; protected lootGenerator: LootGenerator; protected eventOutputHolder: EventOutputHolder; protected httpResponseUtil: HttpResponseUtil; - constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, itemHelper: ItemHelper, randomUtil: RandomUtil, databaseServer: DatabaseServer, fenceService: FenceService, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, questHelper: QuestHelper, ragfairOfferService: RagfairOfferService, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, lootGenerator: LootGenerator, eventOutputHolder: EventOutputHolder, httpResponseUtil: HttpResponseUtil); + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, itemHelper: ItemHelper, randomUtil: RandomUtil, databaseServer: DatabaseServer, fenceService: FenceService, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, questHelper: QuestHelper, ragfairOfferService: RagfairOfferService, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, playerService: PlayerService, lootGenerator: LootGenerator, eventOutputHolder: EventOutputHolder, httpResponseUtil: HttpResponseUtil); /** - * Move Item - * change location of item with parentId and slotId - * transfers items from one profile to another if fromOwner/toOwner is set in the body. - * otherwise, move is contained within the same profile_f. + * Move Item + * change location of item with parentId and slotId + * transfers items from one profile to another if fromOwner/toOwner is set in the body. + * otherwise, move is contained within the same profile_f. * @param pmcData Profile * @param moveRequest Move request data * @param sessionID Session id @@ -71,9 +74,9 @@ export declare class InventoryController { */ protected getTraderExploitErrorResponse(output: IItemEventRouterResponse): IItemEventRouterResponse; /** - * Remove Item from Profile - * Deep tree item deletion, also removes items from insurance list - */ + * Remove Item from Profile + * Deep tree item deletion, also removes items from insurance list + */ removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; /** * Handle Remove event @@ -111,10 +114,10 @@ export declare class InventoryController { */ transferItem(pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string): IItemEventRouterResponse; /** - * Swap Item - * its used for "reload" if you have weapon in hands and magazine is somewhere else in rig or backpack in equipment - * Also used to swap items using quick selection on character screen - */ + * Swap Item + * its used for "reload" if you have weapon in hands and magazine is somewhere else in rig or backpack in equipment + * Also used to swap items using quick selection on character screen + */ swapItem(pmcData: IPmcData, request: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse; /** * Handles folding of Weapons @@ -138,12 +141,22 @@ export declare class InventoryController { tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; /** * Bind an inventory item to the quick access menu at bottom of player screen + * Handle bind event * @param pmcData Player profile * @param bindRequest Reqeust object * @param sessionID Session id * @returns IItemEventRouterResponse */ bindItem(pmcData: IPmcData, bindRequest: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Unbind an inventory item from quick access menu at bottom of player screen + * Handle unbind event + * @param pmcData Player profile + * @param bindRequest Request object + * @param sessionID Session id + * @returns IItemEventRouterResponse + */ + unbindItem(pmcData: IPmcData, request: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; /** * Handles examining an item * @param pmcData player profile @@ -152,6 +165,7 @@ export declare class InventoryController { * @returns response */ examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + protected flagItemsAsInspectedAndRewardXp(itemTpls: string[], pmcProfile: IPmcData): void; /** * Get the tplid of an item from the examine request object * @param body response request @@ -207,4 +221,5 @@ export declare class InventoryController { * @returns IItemEventRouterResponse */ openRandomLootContainer(pmcData: IPmcData, body: IOpenRandomLootContainerRequestData, sessionID: string): IItemEventRouterResponse; + redeemProfileReward(pmcData: IPmcData, request: IRedeemProfileRequestData, sessionId: string): IItemEventRouterResponse; } diff --git a/types/controllers/LauncherController.d.ts b/types/controllers/LauncherController.d.ts index 66d1f7b..5de2416 100644 --- a/types/controllers/LauncherController.d.ts +++ b/types/controllers/LauncherController.d.ts @@ -1,19 +1,21 @@ -import { HttpServerHelper } from "../helpers/HttpServerHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { PreAkiModLoader } from "../loaders/PreAkiModLoader"; -import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; -import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; -import { IRegisterData } from "../models/eft/launcher/IRegisterData"; -import { Info, ModDetails } from "../models/eft/profile/IAkiProfile"; -import { IConnectResponse } from "../models/eft/profile/IConnectResponse"; -import { ICoreConfig } from "../models/spt/config/ICoreConfig"; -import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { PreAkiModLoader } from "@spt-aki/loaders/PreAkiModLoader"; +import { IChangeRequestData } from "@spt-aki/models/eft/launcher/IChangeRequestData"; +import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestData"; +import { IRegisterData } from "@spt-aki/models/eft/launcher/IRegisterData"; +import { Info, ModDetails } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { IConnectResponse } from "@spt-aki/models/eft/profile/IConnectResponse"; +import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig"; +import { IPackageJsonData } from "@spt-aki/models/spt/mod/IPackageJsonData"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; export declare class LauncherController { + protected logger: ILogger; protected hashUtil: HashUtil; protected saveServer: SaveServer; protected httpServerHelper: HttpServerHelper; @@ -23,11 +25,11 @@ export declare class LauncherController { protected preAkiModLoader: PreAkiModLoader; protected configServer: ConfigServer; protected coreConfig: ICoreConfig; - constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, databaseServer: DatabaseServer, localisationService: LocalisationService, preAkiModLoader: PreAkiModLoader, configServer: ConfigServer); + constructor(logger: ILogger, hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, databaseServer: DatabaseServer, localisationService: LocalisationService, preAkiModLoader: PreAkiModLoader, configServer: ConfigServer); connect(): IConnectResponse; /** - * Get descriptive text for each of the profile edtions a player can choose - * @returns + * Get descriptive text for each of the profile edtions a player can choose, keyed by profile.json profile type e.g. "Edge Of Darkness" + * @returns Dictionary of profile types with related descriptive text */ protected getProfileDescriptions(): Record; find(sessionIdKey: string): Info; diff --git a/types/controllers/LocationController.d.ts b/types/controllers/LocationController.d.ts index 94f5fce..eb4144a 100644 --- a/types/controllers/LocationController.d.ts +++ b/types/controllers/LocationController.d.ts @@ -1,22 +1,24 @@ -import { LocationGenerator } from "../generators/LocationGenerator"; -import { LootGenerator } from "../generators/LootGenerator"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { ILocationBase } from "../models/eft/common/ILocationBase"; -import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase"; -import { IAirdropLootResult } from "../models/eft/location/IAirdropLootResult"; -import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData"; -import { AirdropTypeEnum } from "../models/enums/AirdropType"; -import { IAirdropConfig } from "../models/spt/config/IAirdropConfig"; -import { ILocationConfig } from "../models/spt/config/ILocationConfig"; -import { LootRequest } from "../models/spt/services/LootRequest"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { LocationGenerator } from "@spt-aki/generators/LocationGenerator"; +import { LootGenerator } from "@spt-aki/generators/LootGenerator"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { ILocationsGenerateAllResponse } from "@spt-aki/models/eft/common/ILocationsSourceDestinationBase"; +import { IAirdropLootResult } from "@spt-aki/models/eft/location/IAirdropLootResult"; +import { IGetLocationRequestData } from "@spt-aki/models/eft/location/IGetLocationRequestData"; +import { AirdropTypeEnum } from "@spt-aki/models/enums/AirdropType"; +import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class LocationController { protected jsonUtil: JsonUtil; protected hashUtil: HashUtil; @@ -25,13 +27,15 @@ export declare class LocationController { protected logger: ILogger; protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; + protected raidTimeAdjustmentService: RaidTimeAdjustmentService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; protected configServer: ConfigServer; + protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/types/controllers/MatchController.d.ts b/types/controllers/MatchController.d.ts index ce9bc7f..ca950b1 100644 --- a/types/controllers/MatchController.d.ts +++ b/types/controllers/MatchController.d.ts @@ -1,27 +1,37 @@ -import { ApplicationContext } from "../context/ApplicationContext"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; -import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; -import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; -import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; -import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidConfigurationRequestData"; -import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; -import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; -import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; -import { IMatchConfig } from "../models/spt/config/IMatchConfig"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { SaveServer } from "../servers/SaveServer"; -import { BotGenerationCacheService } from "../services/BotGenerationCacheService"; -import { BotLootCacheService } from "../services/BotLootCacheService"; -import { MatchLocationService } from "../services/MatchLocationService"; -import { ProfileSnapshotService } from "../services/ProfileSnapshotService"; +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { LootGenerator } from "@spt-aki/generators/LootGenerator"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ICreateGroupRequestData } from "@spt-aki/models/eft/match/ICreateGroupRequestData"; +import { IEndOfflineRaidRequestData } from "@spt-aki/models/eft/match/IEndOfflineRaidRequestData"; +import { IGetGroupStatusRequestData } from "@spt-aki/models/eft/match/IGetGroupStatusRequestData"; +import { IGetGroupStatusResponse } from "@spt-aki/models/eft/match/IGetGroupStatusResponse"; +import { IGetProfileRequestData } from "@spt-aki/models/eft/match/IGetProfileRequestData"; +import { IGetRaidConfigurationRequestData } from "@spt-aki/models/eft/match/IGetRaidConfigurationRequestData"; +import { IJoinMatchRequestData } from "@spt-aki/models/eft/match/IJoinMatchRequestData"; +import { IJoinMatchResult } from "@spt-aki/models/eft/match/IJoinMatchResult"; +import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; +import { IMatchConfig } from "@spt-aki/models/spt/config/IMatchConfig"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { BotGenerationCacheService } from "@spt-aki/services/BotGenerationCacheService"; +import { BotLootCacheService } from "@spt-aki/services/BotLootCacheService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { MatchLocationService } from "@spt-aki/services/MatchLocationService"; +import { ProfileSnapshotService } from "@spt-aki/services/ProfileSnapshotService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class MatchController { protected logger: ILogger; protected saveServer: SaveServer; + protected timeUtil: TimeUtil; + protected randomUtil: RandomUtil; + protected hashUtil: HashUtil; protected profileHelper: ProfileHelper; protected matchLocationService: MatchLocationService; protected traderHelper: TraderHelper; @@ -29,11 +39,14 @@ export declare class MatchController { protected configServer: ConfigServer; protected profileSnapshotService: ProfileSnapshotService; protected botGenerationCacheService: BotGenerationCacheService; + protected mailSendService: MailSendService; + protected lootGenerator: LootGenerator; protected applicationContext: ApplicationContext; protected matchConfig: IMatchConfig; protected inraidConfig: IInRaidConfig; + protected traderConfig: ITraderConfig; protected pmcConfig: IPmcConfig; - constructor(logger: ILogger, saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer, profileSnapshotService: ProfileSnapshotService, botGenerationCacheService: BotGenerationCacheService, applicationContext: ApplicationContext); + constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, randomUtil: RandomUtil, hashUtil: HashUtil, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer, profileSnapshotService: ProfileSnapshotService, botGenerationCacheService: BotGenerationCacheService, mailSendService: MailSendService, lootGenerator: LootGenerator, applicationContext: ApplicationContext); getEnabled(): boolean; /** Handle raid/profile/list */ getProfile(info: IGetProfileRequestData): IPmcData[]; @@ -44,7 +57,7 @@ export declare class MatchController { /** Handle match/group/start_game */ joinMatch(info: IJoinMatchRequestData, sessionId: string): IJoinMatchResult; /** Handle client/match/group/status */ - getGroupStatus(info: IGetGroupStatusRequestData): any; + getGroupStatus(info: IGetGroupStatusRequestData): IGetGroupStatusResponse; /** * Handle /client/raid/configuration * @param request Raid config request @@ -59,6 +72,19 @@ export declare class MatchController { protected convertDifficultyDropdownIntoBotDifficulty(botDifficulty: string): string; /** Handle client/match/offline/end */ endOfflineRaid(info: IEndOfflineRaidRequestData, sessionId: string): void; + /** + * Did player take a COOP extract + * @param extractName Name of extract player took + * @returns True if coop extract + */ + protected extractWasViaCoop(extractName: string): boolean; + protected sendCoopTakenFenceMessage(sessionId: string): void; + /** + * Handle when a player extracts using a coop extract - add rep to fence + * @param pmcData Profile + * @param extractName Name of extract taken + */ + protected handleCoopExtract(pmcData: IPmcData, extractName: string): void; /** * Was extract by car * @param extractName name of extract @@ -73,10 +99,11 @@ export declare class MatchController { */ protected handleCarExtract(extractName: string, pmcData: IPmcData, sessionId: string): void; /** - * Update players fence trader standing value in profile - * @param pmcData Player profile - * @param fenceId Id of fence trader - * @param extractName Name of extract used + * Get the fence rep gain from using a car or coop extract + * @param pmcData Profile + * @param baseGain amount gained for the first extract + * @param extractCount Number of times extract was taken + * @returns Fence standing after taking extract */ - protected updateFenceStandingInProfile(pmcData: IPmcData, fenceId: string, extractName: string): void; + protected getFenceStandingAfterExtract(pmcData: IPmcData, baseGain: number, extractCount: number): number; } diff --git a/types/controllers/NoteController.d.ts b/types/controllers/NoteController.d.ts index 9e2e250..ef07d6d 100644 --- a/types/controllers/NoteController.d.ts +++ b/types/controllers/NoteController.d.ts @@ -1,7 +1,7 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { INoteActionData } from "../models/eft/notes/INoteActionData"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { INoteActionData } from "@spt-aki/models/eft/notes/INoteActionData"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; export declare class NoteController { protected eventOutputHolder: EventOutputHolder; constructor(eventOutputHolder: EventOutputHolder); diff --git a/types/controllers/NotifierController.d.ts b/types/controllers/NotifierController.d.ts index de354ec..ad3d025 100644 --- a/types/controllers/NotifierController.d.ts +++ b/types/controllers/NotifierController.d.ts @@ -1,7 +1,7 @@ -import { NotifierHelper } from "../helpers/NotifierHelper"; -import { NotificationService } from "../services/NotificationService"; -import { INotifierChannel } from "../models/eft/notifier/INotifier"; -import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { NotifierHelper } from "@spt-aki/helpers/NotifierHelper"; +import { INotifierChannel } from "@spt-aki/models/eft/notifier/INotifier"; +import { NotificationService } from "@spt-aki/services/NotificationService"; export declare class NotifierController { protected notifierHelper: NotifierHelper; protected httpServerHelper: HttpServerHelper; diff --git a/types/controllers/PresetBuildController.d.ts b/types/controllers/PresetBuildController.d.ts index d7bd3f3..7aa10e1 100644 --- a/types/controllers/PresetBuildController.d.ts +++ b/types/controllers/PresetBuildController.d.ts @@ -1,15 +1,15 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData"; -import { IRemoveBuildRequestData } from "../models/eft/presetBuild/IRemoveBuildRequestData"; -import { IUserBuilds } from "../models/eft/profile/IAkiProfile"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IPresetBuildActionRequestData } from "@spt-aki/models/eft/presetBuild/IPresetBuildActionRequestData"; +import { IRemoveBuildRequestData } from "@spt-aki/models/eft/presetBuild/IRemoveBuildRequestData"; +import { IUserBuilds } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class PresetBuildController { protected logger: ILogger; protected hashUtil: HashUtil; diff --git a/types/controllers/PresetController.d.ts b/types/controllers/PresetController.d.ts index ca1af1a..c1ae523 100644 --- a/types/controllers/PresetController.d.ts +++ b/types/controllers/PresetController.d.ts @@ -1,5 +1,5 @@ -import { PresetHelper } from "../helpers/PresetHelper"; -import { DatabaseServer } from "../servers/DatabaseServer"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; export declare class PresetController { protected presetHelper: PresetHelper; protected databaseServer: DatabaseServer; diff --git a/types/controllers/ProfileController.d.ts b/types/controllers/ProfileController.d.ts index ffccdaf..b1b7b8b 100644 --- a/types/controllers/ProfileController.d.ts +++ b/types/controllers/ProfileController.d.ts @@ -1,28 +1,28 @@ -import { PlayerScavGenerator } from "../generators/PlayerScavGenerator"; -import { DialogueHelper } from "../helpers/DialogueHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { QuestHelper } from "../helpers/QuestHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IMiniProfile } from "../models/eft/launcher/IMiniProfile"; -import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; -import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; -import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; -import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; -import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData"; -import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse"; -import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { MailSendService } from "../services/MailSendService"; -import { ProfileFixerService } from "../services/ProfileFixerService"; -import { HashUtil } from "../utils/HashUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { PlayerScavGenerator } from "@spt-aki/generators/PlayerScavGenerator"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IMiniProfile } from "@spt-aki/models/eft/launcher/IMiniProfile"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { IProfileChangeNicknameRequestData } from "@spt-aki/models/eft/profile/IProfileChangeNicknameRequestData"; +import { IProfileChangeVoiceRequestData } from "@spt-aki/models/eft/profile/IProfileChangeVoiceRequestData"; +import { IProfileCreateRequestData } from "@spt-aki/models/eft/profile/IProfileCreateRequestData"; +import { ISearchFriendRequestData } from "@spt-aki/models/eft/profile/ISearchFriendRequestData"; +import { ISearchFriendResponse } from "@spt-aki/models/eft/profile/ISearchFriendResponse"; +import { IValidateNicknameRequestData } from "@spt-aki/models/eft/profile/IValidateNicknameRequestData"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { ProfileFixerService } from "@spt-aki/services/ProfileFixerService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class ProfileController { protected logger: ILogger; protected hashUtil: HashUtil; @@ -54,8 +54,11 @@ export declare class ProfileController { getCompleteProfile(sessionID: string): IPmcData[]; /** * Handle client/game/profile/create + * @param info Client reqeust object + * @param sessionID Player id + * @returns Profiles _id value */ - createProfile(info: IProfileCreateRequestData, sessionID: string): void; + createProfile(info: IProfileCreateRequestData, sessionID: string): string; /** * Delete a profile * @param sessionID Id of profile to delete diff --git a/types/controllers/QuestController.d.ts b/types/controllers/QuestController.d.ts index bd8a70f..140573b 100644 --- a/types/controllers/QuestController.d.ts +++ b/types/controllers/QuestController.d.ts @@ -1,31 +1,31 @@ -import { DialogueHelper } from "../helpers/DialogueHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { QuestConditionHelper } from "../helpers/QuestConditionHelper"; -import { QuestHelper } from "../helpers/QuestHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IQuestStatus } from "../models/eft/common/tables/IBotBase"; -import { Item } from "../models/eft/common/tables/IItem"; -import { AvailableForConditions, IQuest, Reward } from "../models/eft/common/tables/IQuest"; -import { IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; -import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; -import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; -import { IQuestConfig } from "../models/spt/config/IQuestConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocaleService } from "../services/LocaleService"; -import { LocalisationService } from "../services/LocalisationService"; -import { MailSendService } from "../services/MailSendService"; -import { PlayerService } from "../services/PlayerService"; -import { SeasonalEventService } from "../services/SeasonalEventService"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { QuestConditionHelper } from "@spt-aki/helpers/QuestConditionHelper"; +import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IQuestStatus } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { AvailableForConditions, IQuest, Reward } from "@spt-aki/models/eft/common/tables/IQuest"; +import { IRepeatableQuest } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAcceptQuestRequestData } from "@spt-aki/models/eft/quests/IAcceptQuestRequestData"; +import { ICompleteQuestRequestData } from "@spt-aki/models/eft/quests/ICompleteQuestRequestData"; +import { IHandoverQuestRequestData } from "@spt-aki/models/eft/quests/IHandoverQuestRequestData"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocaleService } from "@spt-aki/services/LocaleService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { PlayerService } from "@spt-aki/services/PlayerService"; +import { SeasonalEventService } from "@spt-aki/services/SeasonalEventService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class QuestController { protected logger: ILogger; protected timeUtil: TimeUtil; @@ -82,7 +82,7 @@ export declare class QuestController { * @param pmcData Profile to update * @param acceptedQuest Quest accepted * @param sessionID Session id - * @returns client response + * @returns Client response */ acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; /** @@ -113,6 +113,12 @@ export declare class QuestController { * @returns ItemEvent client response */ completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Remove a quest entirely from a profile + * @param sessionId Player id + * @param questIdToRemove Qid of quest to remove + */ + protected removeQuestFromScavProfile(sessionId: string, questIdToRemove: string): void; /** * Return quests that have different statuses * @param preQuestStatusus Quests before diff --git a/types/controllers/RagfairController.d.ts b/types/controllers/RagfairController.d.ts index bda37cd..71cbbbc 100644 --- a/types/controllers/RagfairController.d.ts +++ b/types/controllers/RagfairController.d.ts @@ -1,42 +1,43 @@ -import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { InventoryHelper } from "../helpers/InventoryHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PaymentHelper } from "../helpers/PaymentHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { RagfairHelper } from "../helpers/RagfairHelper"; -import { RagfairOfferHelper } from "../helpers/RagfairOfferHelper"; -import { RagfairSellHelper } from "../helpers/RagfairSellHelper"; -import { RagfairSortHelper } from "../helpers/RagfairSortHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; -import { IAddOfferRequestData, Requirement } from "../models/eft/ragfair/IAddOfferRequestData"; -import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; -import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; -import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; -import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; -import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; -import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; -import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { RagfairServer } from "../servers/RagfairServer"; -import { SaveServer } from "../servers/SaveServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { PaymentService } from "../services/PaymentService"; -import { RagfairOfferService } from "../services/RagfairOfferService"; -import { RagfairPriceService } from "../services/RagfairPriceService"; -import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; -import { RagfairTaxService } from "../services/RagfairTaxService"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { RagfairOfferGenerator } from "@spt-aki/generators/RagfairOfferGenerator"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { RagfairHelper } from "@spt-aki/helpers/RagfairHelper"; +import { RagfairOfferHelper } from "@spt-aki/helpers/RagfairOfferHelper"; +import { RagfairSellHelper } from "@spt-aki/helpers/RagfairSellHelper"; +import { RagfairSortHelper } from "@spt-aki/helpers/RagfairSortHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { IAddOfferRequestData, Requirement } from "@spt-aki/models/eft/ragfair/IAddOfferRequestData"; +import { IExtendOfferRequestData } from "@spt-aki/models/eft/ragfair/IExtendOfferRequestData"; +import { IGetItemPriceResult } from "@spt-aki/models/eft/ragfair/IGetItemPriceResult"; +import { IGetMarketPriceRequestData } from "@spt-aki/models/eft/ragfair/IGetMarketPriceRequestData"; +import { IGetOffersResult } from "@spt-aki/models/eft/ragfair/IGetOffersResult"; +import { IGetRagfairOfferByIdRequest } from "@spt-aki/models/eft/ragfair/IGetRagfairOfferByIdRequest"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { ISearchRequestData } from "@spt-aki/models/eft/ragfair/ISearchRequestData"; +import { IProcessBuyTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBuyTradeRequestData"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { RagfairServer } from "@spt-aki/servers/RagfairServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { PaymentService } from "@spt-aki/services/PaymentService"; +import { RagfairOfferService } from "@spt-aki/services/RagfairOfferService"; +import { RagfairPriceService } from "@spt-aki/services/RagfairPriceService"; +import { RagfairRequiredItemsService } from "@spt-aki/services/RagfairRequiredItemsService"; +import { RagfairTaxService } from "@spt-aki/services/RagfairTaxService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; /** * Handle RagfairCallback events */ @@ -69,6 +70,13 @@ export declare class RagfairController { protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, eventOutputHolder: EventOutputHolder, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxService: RagfairTaxService, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, localisationService: LocalisationService, configServer: ConfigServer); getOffers(sessionID: string, searchRequest: ISearchRequestData): IGetOffersResult; + /** + * Handle client/ragfair/offer/findbyid + * @param sessionId Player id + * @param request Request data + * @returns IRagfairOffer + */ + getOfferById(sessionId: string, request: IGetRagfairOfferByIdRequest): IRagfairOffer; /** * Get offers for the client based on type of search being performed * @param searchRequest Client search request data @@ -84,7 +92,7 @@ export declare class RagfairController { * @param offers ragfair offers to get categories for * @returns record with tpls + counts */ - protected getSpecificCategories(searchRequest: ISearchRequestData, offers: IRagfairOffer[]): Record; + protected getSpecificCategories(pmcProfile: IPmcData, searchRequest: ISearchRequestData, offers: IRagfairOffer[]): Record; /** * Add Required offers to offers result * @param searchRequest Client search request data @@ -111,6 +119,9 @@ export declare class RagfairController { protected setTraderOfferStackSize(offer: IRagfairOffer): void; protected isLinkedSearch(info: ISearchRequestData): boolean; protected isRequiredSearch(info: ISearchRequestData): boolean; + /** + * Check all profiles and sell player offers / send player money for listing if it sold + */ update(): void; /** * Called when creating an offer on flea, fills values in top right corner diff --git a/types/controllers/RepairController.d.ts b/types/controllers/RepairController.d.ts index b19b1b7..070f348 100644 --- a/types/controllers/RepairController.d.ts +++ b/types/controllers/RepairController.d.ts @@ -1,16 +1,16 @@ -import { QuestHelper } from "../helpers/QuestHelper"; -import { RepairHelper } from "../helpers/RepairHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; -import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; -import { IRepairConfig } from "../models/spt/config/IRepairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { PaymentService } from "../services/PaymentService"; -import { RepairService } from "../services/RepairService"; +import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; +import { RepairHelper } from "@spt-aki/helpers/RepairHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IRepairActionDataRequest } from "@spt-aki/models/eft/repair/IRepairActionDataRequest"; +import { ITraderRepairActionDataRequest } from "@spt-aki/models/eft/repair/ITraderRepairActionDataRequest"; +import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { PaymentService } from "@spt-aki/services/PaymentService"; +import { RepairService } from "@spt-aki/services/RepairService"; export declare class RepairController { protected logger: ILogger; protected eventOutputHolder: EventOutputHolder; diff --git a/types/controllers/RepeatableQuestController.d.ts b/types/controllers/RepeatableQuestController.d.ts index e9d2e56..7068128 100644 --- a/types/controllers/RepeatableQuestController.d.ts +++ b/types/controllers/RepeatableQuestController.d.ts @@ -1,81 +1,45 @@ -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PresetHelper } from "../helpers/PresetHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; -import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { Exit } from "../models/eft/common/ILocationBase"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { TraderInfo } from "../models/eft/common/tables/IBotBase"; -import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationCondition, IExploration, IExplorationCondition, IPmcDataRepeatableQuest, IRepeatableQuest, IReward, IRewards } from "../models/eft/common/tables/IRepeatableQuests"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; -import { ELocationName } from "../models/enums/ELocationName"; -import { IEliminationConfig, IQuestConfig, IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ItemFilterService } from "../services/ItemFilterService"; -import { LocalisationService } from "../services/LocalisationService"; -import { PaymentService } from "../services/PaymentService"; -import { ProfileFixerService } from "../services/ProfileFixerService"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { MathUtil } from "../utils/MathUtil"; -import { ObjectId } from "../utils/ObjectId"; -import { ProbabilityObject, ProbabilityObjectArray, RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -export interface IQuestTypePool { - types: string[]; - pool: IQuestPool; -} -export interface IQuestPool { - Exploration: IExplorationPool; - Elimination: IEliminationPool; -} -export interface IExplorationPool { - locations: Partial>; -} -export interface IEliminationPool { - targets: IEliminationTargetPool; -} -export interface IEliminationTargetPool { - Savage?: ITargetLocation; - AnyPmc?: ITargetLocation; - bossBully?: ITargetLocation; - bossGluhar?: ITargetLocation; - bossKilla?: ITargetLocation; - bossSanitar?: ITargetLocation; - bossTagilla?: ITargetLocation; - bossKojaniy?: ITargetLocation; -} -export interface ITargetLocation { - locations: string[]; -} +import { RepeatableQuestGenerator } from "@spt-aki/generators/RepeatableQuestGenerator"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; +import { RagfairServerHelper } from "@spt-aki/helpers/RagfairServerHelper"; +import { RepeatableQuestHelper } from "@spt-aki/helpers/RepeatableQuestHelper"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IRepeatableQuestChangeRequest } from "@spt-aki/models/eft/quests/IRepeatableQuestChangeRequest"; +import { IQuestConfig, IRepeatableQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { IQuestTypePool } from "@spt-aki/models/spt/repeatable/IQuestTypePool"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { PaymentService } from "@spt-aki/services/PaymentService"; +import { ProfileFixerService } from "@spt-aki/services/ProfileFixerService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { ObjectId } from "@spt-aki/utils/ObjectId"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class RepeatableQuestController { - protected timeUtil: TimeUtil; protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected timeUtil: TimeUtil; protected randomUtil: RandomUtil; protected httpResponse: HttpResponseUtil; - protected mathUtil: MathUtil; protected jsonUtil: JsonUtil; - protected databaseServer: DatabaseServer; - protected itemHelper: ItemHelper; - protected presetHelper: PresetHelper; protected profileHelper: ProfileHelper; protected profileFixerService: ProfileFixerService; - protected handbookHelper: HandbookHelper; protected ragfairServerHelper: RagfairServerHelper; protected eventOutputHolder: EventOutputHolder; - protected localisationService: LocalisationService; protected paymentService: PaymentService; protected objectId: ObjectId; - protected itemFilterService: ItemFilterService; + protected repeatableQuestGenerator: RepeatableQuestGenerator; + protected repeatableQuestHelper: RepeatableQuestHelper; + protected questHelper: QuestHelper; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, httpResponse: HttpResponseUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, handbookHelper: HandbookHelper, ragfairServerHelper: RagfairServerHelper, eventOutputHolder: EventOutputHolder, localisationService: LocalisationService, paymentService: PaymentService, objectId: ObjectId, itemFilterService: ItemFilterService, configServer: ConfigServer); + constructor(logger: ILogger, databaseServer: DatabaseServer, timeUtil: TimeUtil, randomUtil: RandomUtil, httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, ragfairServerHelper: RagfairServerHelper, eventOutputHolder: EventOutputHolder, paymentService: PaymentService, objectId: ObjectId, repeatableQuestGenerator: RepeatableQuestGenerator, repeatableQuestHelper: RepeatableQuestHelper, questHelper: QuestHelper, configServer: ConfigServer); /** * Handle client/repeatalbeQuests/activityPeriods * Returns an array of objects in the format of repeatable quests to the client. @@ -97,11 +61,19 @@ export declare class RepeatableQuestController { * (if the are on "Succeed" but not "Completed" we keep them, to allow the player to complete them and get the rewards) * The new quests generated are again persisted in profile.RepeatableQuests * + * @param {string} _info Request from client + * @param {string} sessionID Player's session id * - * @param {string} sessionId Player's session id * @returns {array} array of "repeatableQuestObjects" as descibed above */ getClientRepeatableQuests(_info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[]; + /** + * Get the number of quests to generate - takes into account charisma state of player + * @param repeatableConfig Config + * @param pmcData Player profile + * @returns Quest count + */ + protected getQuestCount(repeatableConfig: IRepeatableQuestConfig, pmcData: IPmcData): number; /** * Get repeatable quest data from profile from name (daily/weekly), creates base repeatable quest object if none exists * @param repeatableConfig daily/weekly config @@ -109,103 +81,10 @@ export declare class RepeatableQuestController { * @returns IPmcDataRepeatableQuest */ protected getRepeatableQuestSubTypeFromProfile(repeatableConfig: IRepeatableQuestConfig, pmcData: IPmcData): IPmcDataRepeatableQuest; - /** - * This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json). - * It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest - */ - protected generateRepeatableQuest(pmcLevel: number, pmcTraderInfo: Record, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Just for debug reasons. Draws dailies a random assort of dailies extracted from dumps */ generateDebugDailies(dailiesPool: any, factory: any, number: number): any; - /** - * Generates the base object of quest type format given as templates in assets/database/templates/repeatableQuests.json - * The templates include Elimination, Completion and Extraction quest types - * - * @param {string} type quest type: "Elimination", "Completion" or "Extraction" - * @param {string} traderId trader from which the quest will be provided - * @param {string} side scav daily or pmc daily/weekly quest - * @returns {object} a object which contains the base elements for repeatable quests of the requests type - * (needs to be filled with reward and conditions by called to make a valid quest) - */ - protected generateRepeatableTemplate(type: string, traderId: string, side: string): IRepeatableQuest; - /** - * Generates a valid Exploration quest - * - * @param {integer} pmcLevel player's level for reward generation - * @param {string} traderId trader from which the quest will be provided - * @param {object} questTypePool Pools for quests (used to avoid redundant quests) - * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest - * @returns {object} object of quest type format for "Exploration" (see assets/database/templates/repeatableQuests.json) - */ - protected generateExplorationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IExploration; - /** - * Generates a valid Completion quest - * - * @param {integer} pmcLevel player's level for requested items and reward generation - * @param {string} traderId trader from which the quest will be provided - * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest - * @returns {object} object of quest type format for "Completion" (see assets/database/templates/repeatableQuests.json) - */ - protected generateCompletionQuest(pmcLevel: number, traderId: string, repeatableConfig: IRepeatableQuestConfig): ICompletion; - /** - * Generates a valid Elimination quest - * - * @param {integer} pmcLevel player's level for requested items and reward generation - * @param {string} traderId trader from which the quest will be provided - * @param {object} questTypePool Pools for quests (used to avoid redundant quests) - * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest - * @returns {object} object of quest type format for "Elimination" (see assets/database/templates/repeatableQuests.json) - */ - protected generateEliminationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IElimination; - /** - * Get the relevant elimination config based on the current players PMC level - * @param pmcLevel Level of PMC character - * @param repeatableConfig Main repeatable config - * @returns IEliminationConfig - */ - protected getEliminationConfigByPmcLevel(pmcLevel: number, repeatableConfig: IRepeatableQuestConfig): IEliminationConfig; - /** - * Convert a location into an quest code can read (e.g. factory4_day into 55f2d3fd4bdc2d5f408b4567) - * @param locationKey e.g factory4_day - * @returns guid - */ - protected getQuestLocationByMapId(locationKey: string): string; - /** - * Exploration repeatable quests can specify a required extraction point. - * This method creates the according object which will be appended to the conditions array - * - * @param {string} exit The exit name to generate the condition for - * @returns {object} Exit condition - */ - protected generateExplorationExitCondition(exit: Exit): IExplorationCondition; - /** - * A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json) - * This is a helper method for GenerateCompletionQuest to create a completion condition (of which a completion quest theoretically can have many) - * - * @param {string} targetItemId id of the item to request - * @param {integer} value amount of items of this specific type to request - * @returns {object} object of "Completion"-condition - */ - protected generateCompletionAvailableForFinish(targetItemId: string, value: number): ICompletionAvailableFor; - /** - * A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json) - * This is a helper method for GenerateEliminationQuest to create a location condition. - * - * @param {string} location the location on which to fulfill the elimination quest - * @returns {object} object of "Elimination"-location-subcondition - */ - protected generateEliminationLocation(location: string[]): IEliminationCondition; - /** - * A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json) - * This is a helper method for GenerateEliminationQuest to create a kill condition. - * - * @param {string} target array of target npcs e.g. "AnyPmc", "Savage" - * @param {array} bodyParts array of body parts with which to kill e.g. ["stomach", "thorax"] - * @param {number} distance distance from which to kill (currently only >= supported) - * @returns {object} object of "Elimination"-kill-subcondition - */ - protected generateEliminationCondition(target: string, bodyPart: string[], distance: number): IEliminationCondition; /** * Used to create a quest pool during each cycle of repeatable quest generation. The pool will be subsequently * narrowed down during quest generation to avoid duplicate quests. Like duplicate extractions or elimination quests @@ -215,53 +94,11 @@ export declare class RepeatableQuestController { * @returns IQuestTypePool */ protected generateQuestPool(repeatableConfig: IRepeatableQuestConfig, pmcLevel: number): IQuestTypePool; - /** - * Generate the reward for a mission. A reward can consist of - * - Experience - * - Money - * - Items - * - Trader Reputation - * - * The reward is dependent on the player level as given by the wiki. The exact mapping of pmcLevel to - * experience / money / items / trader reputation can be defined in QuestConfig.js - * - * There's also a random variation of the reward the spread of which can be also defined in the config. - * - * Additonaly, a scaling factor w.r.t. quest difficulty going from 0.2...1 can be used - * - * @param {integer} pmcLevel player's level - * @param {number} difficulty a reward scaling factor goint from 0.2 to 1 - * @param {string} traderId the trader for reputation gain (and possible in the future filtering of reward item type based on trader) - * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest - * @returns {object} object of "Reward"-type that can be given for a repeatable mission - */ - protected generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig): IRewards; - /** - * Helper to create a reward item structured as required by the client - * - * @param {string} tpl itemId of the rewarded item - * @param {integer} value amount of items to give - * @param {integer} index all rewards will be appended to a list, for unkown reasons the client wants the index - * @returns {object} object of "Reward"-item-type - */ - protected generateRewardItem(tpl: string, value: number, index: number, preset?: any): IReward; + protected createBaseQuestPool(repeatableConfig: IRepeatableQuestConfig): IQuestTypePool; debugLogRepeatableQuestIds(pmcData: IPmcData): void; - protected probabilityObjectArray(configArrayInput: ProbabilityObject[]): ProbabilityObjectArray; /** * Handle RepeatableQuestChange event */ - changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; - /** - * Picks rewardable items from items.json. This means they need to fit into the inventory and they shouldn't be keys (debatable) - * @param repeatableQuestConfig config file - * @returns a list of rewardable items [[_tpl, itemTemplate],...] - */ - protected getRewardableItems(repeatableQuestConfig: IRepeatableQuestConfig): [string, ITemplateItem][]; - /** - * Checks if an id is a valid item. Valid meaning that it's an item that may be a reward - * or content of bot loot. Items that are tested as valid may be in a player backpack or stash. - * @param {string} tpl template id of item to check - * @returns boolean: true if item is valid reward - */ - protected isValidRewardItem(tpl: string, repeatableQuestConfig: IRepeatableQuestConfig): boolean; + changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; } diff --git a/types/controllers/TradeController.d.ts b/types/controllers/TradeController.d.ts index 38e9c01..3824e2b 100644 --- a/types/controllers/TradeController.d.ts +++ b/types/controllers/TradeController.d.ts @@ -1,26 +1,26 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { TradeHelper } from "../helpers/TradeHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item, Upd } from "../models/eft/common/tables/IItem"; -import { ITraderBase } from "../models/eft/common/tables/ITrader"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; -import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; -import { ISellScavItemsToFenceRequestData } from "../models/eft/trade/ISellScavItemsToFenceRequestData"; -import { Traders } from "../models/enums/Traders"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ITraderConfig } from "../models/spt/config/ITraderConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { RagfairServer } from "../servers/RagfairServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { RagfairPriceService } from "../services/RagfairPriceService"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -declare class TradeController { +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TradeHelper } from "@spt-aki/helpers/TradeHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item, Upd } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITraderBase } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBaseTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBaseTradeRequestData"; +import { IProcessRagfairTradeRequestData } from "@spt-aki/models/eft/trade/IProcessRagfairTradeRequestData"; +import { ISellScavItemsToFenceRequestData } from "@spt-aki/models/eft/trade/ISellScavItemsToFenceRequestData"; +import { Traders } from "@spt-aki/models/enums/Traders"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { RagfairServer } from "@spt-aki/servers/RagfairServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RagfairPriceService } from "@spt-aki/services/RagfairPriceService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +export declare class TradeController { protected logger: ILogger; protected eventOutputHolder: EventOutputHolder; protected tradeHelper: TradeHelper; @@ -41,7 +41,7 @@ declare class TradeController { /** Handle RagFairBuyOffer event */ confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; /** Handle SellAllFromSavage event */ - sellScavItemsToFence(pmcData: IPmcData, body: ISellScavItemsToFenceRequestData, sessionId: string): IItemEventRouterResponse; + sellScavItemsToFence(pmcData: IPmcData, request: ISellScavItemsToFenceRequestData, sessionId: string): IItemEventRouterResponse; /** * Sell all sellable items to a trader from inventory * WILL DELETE ITEMS FROM INVENTORY + CHILDREN OF ITEMS SOLD @@ -63,4 +63,3 @@ declare class TradeController { protected getPriceOfItemAndChildren(parentItemId: string, items: Item[], handbookPrices: Record, traderDetails: ITraderBase): number; protected confirmTradingInternal(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse; } -export { TradeController }; diff --git a/types/controllers/TraderController.d.ts b/types/controllers/TraderController.d.ts index 5e31c43..d85977f 100644 --- a/types/controllers/TraderController.d.ts +++ b/types/controllers/TraderController.d.ts @@ -1,14 +1,14 @@ -import { FenceBaseAssortGenerator } from "../generators/FenceBaseAssortGenerator"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { TraderAssortHelper } from "../helpers/TraderAssortHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { FenceService } from "../services/FenceService"; -import { TraderAssortService } from "../services/TraderAssortService"; -import { TraderPurchasePersisterService } from "../services/TraderPurchasePersisterService"; -import { JsonUtil } from "../utils/JsonUtil"; +import { FenceBaseAssortGenerator } from "@spt-aki/generators/FenceBaseAssortGenerator"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TraderAssortHelper } from "@spt-aki/helpers/TraderAssortHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { ITraderAssort, ITraderBase } from "@spt-aki/models/eft/common/tables/ITrader"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { TraderAssortService } from "@spt-aki/services/TraderAssortService"; +import { TraderPurchasePersisterService } from "@spt-aki/services/TraderPurchasePersisterService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class TraderController { protected logger: ILogger; protected databaseServer: DatabaseServer; diff --git a/types/controllers/WeatherController.d.ts b/types/controllers/WeatherController.d.ts index eeace8c..e25dc16 100644 --- a/types/controllers/WeatherController.d.ts +++ b/types/controllers/WeatherController.d.ts @@ -1,8 +1,8 @@ -import { WeatherGenerator } from "../generators/WeatherGenerator"; -import { IWeatherData } from "../models/eft/weather/IWeatherData"; -import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; +import { WeatherGenerator } from "@spt-aki/generators/WeatherGenerator"; +import { IWeatherData } from "@spt-aki/models/eft/weather/IWeatherData"; +import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; export declare class WeatherController { protected weatherGenerator: WeatherGenerator; protected logger: ILogger; diff --git a/types/controllers/WishlistController.d.ts b/types/controllers/WishlistController.d.ts index 53a240f..01c4465 100644 --- a/types/controllers/WishlistController.d.ts +++ b/types/controllers/WishlistController.d.ts @@ -1,7 +1,7 @@ -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IWishlistActionData } from "@spt-aki/models/eft/wishlist/IWishlistActionData"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; export declare class WishlistController { protected eventOutputHolder: EventOutputHolder; constructor(eventOutputHolder: EventOutputHolder); diff --git a/types/di/Router.d.ts b/types/di/Router.d.ts index d2b4209..b77dece 100644 --- a/types/di/Router.d.ts +++ b/types/di/Router.d.ts @@ -1,6 +1,6 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; export declare class Router { protected handledRoutes: HandledRoute[]; getTopLevelRoute(): string; @@ -21,11 +21,9 @@ export declare class DynamicRouter extends Router { getHandledRoutes(): HandledRoute[]; } export declare class ItemEventRouterDefinition extends Router { - constructor(); handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; } export declare class SaveLoadRouter extends Router { - constructor(); handleLoad(profile: IAkiProfile): IAkiProfile; } export declare class HandledRoute { diff --git a/types/di/Serializer.d.ts b/types/di/Serializer.d.ts index 2617007..b760b8b 100644 --- a/types/di/Serializer.d.ts +++ b/types/di/Serializer.d.ts @@ -1,5 +1,5 @@ /// -import { IncomingMessage, ServerResponse } from "http"; +import { IncomingMessage, ServerResponse } from "node:http"; export declare class Serializer { serialize(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: any): void; canHandle(something: string): boolean; diff --git a/types/generators/BotEquipmentModGenerator.d.ts b/types/generators/BotEquipmentModGenerator.d.ts index f7abb84..2e73798 100644 --- a/types/generators/BotEquipmentModGenerator.d.ts +++ b/types/generators/BotEquipmentModGenerator.d.ts @@ -1,24 +1,24 @@ -import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; -import { BotHelper } from "../helpers/BotHelper"; -import { BotWeaponGeneratorHelper } from "../helpers/BotWeaponGeneratorHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { ProbabilityHelper } from "../helpers/ProbabilityHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { Mods, ModsChances } from "../models/eft/common/tables/IBotType"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem, Slot } from "../models/eft/common/tables/ITemplateItem"; -import { EquipmentFilterDetails, IBotConfig } from "../models/spt/config/IBotConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { BotEquipmentFilterService } from "../services/BotEquipmentFilterService"; -import { BotEquipmentModPoolService } from "../services/BotEquipmentModPoolService"; -import { BotModLimits, BotWeaponModLimitService } from "../services/BotWeaponModLimitService"; -import { ItemFilterService } from "../services/ItemFilterService"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; +import { BotGeneratorHelper } from "@spt-aki/helpers/BotGeneratorHelper"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { BotWeaponGeneratorHelper } from "@spt-aki/helpers/BotWeaponGeneratorHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProbabilityHelper } from "@spt-aki/helpers/ProbabilityHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { Mods, ModsChances } from "@spt-aki/models/eft/common/tables/IBotType"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem, Slot } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { EquipmentFilterDetails, IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { BotEquipmentFilterService } from "@spt-aki/services/BotEquipmentFilterService"; +import { BotEquipmentModPoolService } from "@spt-aki/services/BotEquipmentModPoolService"; +import { BotModLimits, BotWeaponModLimitService } from "@spt-aki/services/BotWeaponModLimitService"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotEquipmentModGenerator { protected logger: ILogger; protected jsonUtil: JsonUtil; @@ -72,7 +72,7 @@ export declare class BotEquipmentModGenerator { * @param modSlot Slot to check * @returns true if it's a front/rear sight */ - protected modIsFrontOrRearSight(modSlot: string): boolean; + protected modIsFrontOrRearSight(modSlot: string, tpl: string): boolean; /** * Does the provided mod details show the mod can hold a scope * @param modSlot e.g. mod_scope, mod_mount @@ -104,7 +104,6 @@ export declare class BotEquipmentModGenerator { */ protected shouldModBeSpawned(itemSlot: Slot, modSlot: string, modSpawnChances: ModsChances): boolean; /** - * * @param modSlot Slot mod will fit into * @param isRandomisableSlot Will generate a randomised mod pool if true * @param modsParent Parent slot the item will be a part of @@ -116,6 +115,13 @@ export declare class BotEquipmentModGenerator { * @returns ITemplateItem */ protected chooseModToPutIntoSlot(modSlot: string, isRandomisableSlot: boolean, botWeaponSightWhitelist: Record, botEquipBlacklist: EquipmentFilterDetails, itemModPool: Record, weapon: Item[], ammoTpl: string, parentTemplate: ITemplateItem): [boolean, ITemplateItem]; + /** + * Temp fix to prevent certain combinations of weapons with mods that are known to be incompatible + * @param weapon Weapon + * @param modTpl Mod to check compatibility with weapon + * @returns True if incompatible + */ + protected weaponModComboIsIncompatible(weapon: Item[], modTpl: string): boolean; /** * Create a mod item with parameters as properties * @param modId _id @@ -179,7 +185,7 @@ export declare class BotEquipmentModGenerator { * Ammo is not put into the magazine directly but assigned to the magazine's slots: The "camora_xxx" slots. * This function is a helper called by generateModsForItem for mods with parent type "CylinderMagazine" * @param items The items where the CylinderMagazine's camora are appended to - * @param modPool modPool which should include available cartrigdes + * @param modPool modPool which should include available cartridges * @param parentId The CylinderMagazine's UID * @param parentTemplate The CylinderMagazine's template */ diff --git a/types/generators/BotGenerator.d.ts b/types/generators/BotGenerator.d.ts index 270e4af..8144f70 100644 --- a/types/generators/BotGenerator.d.ts +++ b/types/generators/BotGenerator.d.ts @@ -1,24 +1,24 @@ -import { BotDifficultyHelper } from "../helpers/BotDifficultyHelper"; -import { BotHelper } from "../helpers/BotHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { IBaseJsonSkills, IBaseSkill, IBotBase, Info, Health as PmcHealth, Skills as botSkills } from "../models/eft/common/tables/IBotBase"; -import { Appearance, Health, IBotType } from "../models/eft/common/tables/IBotType"; -import { BotGenerationDetails } from "../models/spt/bots/BotGenerationDetails"; -import { IBotConfig } from "../models/spt/config/IBotConfig"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { BotEquipmentFilterService } from "../services/BotEquipmentFilterService"; -import { LocalisationService } from "../services/LocalisationService"; -import { SeasonalEventService } from "../services/SeasonalEventService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { BotInventoryGenerator } from "./BotInventoryGenerator"; -import { BotLevelGenerator } from "./BotLevelGenerator"; +import { BotInventoryGenerator } from "@spt-aki/generators/BotInventoryGenerator"; +import { BotLevelGenerator } from "@spt-aki/generators/BotLevelGenerator"; +import { BotDifficultyHelper } from "@spt-aki/helpers/BotDifficultyHelper"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { Health as PmcHealth, IBaseJsonSkills, IBaseSkill, IBotBase, Info, Skills as botSkills } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Appearance, Health, IBotType } from "@spt-aki/models/eft/common/tables/IBotType"; +import { BotGenerationDetails } from "@spt-aki/models/spt/bots/BotGenerationDetails"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { BotEquipmentFilterService } from "@spt-aki/services/BotEquipmentFilterService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { SeasonalEventService } from "@spt-aki/services/SeasonalEventService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class BotGenerator { protected logger: ILogger; protected hashUtil: HashUtil; diff --git a/types/generators/BotInventoryGenerator.d.ts b/types/generators/BotInventoryGenerator.d.ts index e660390..cd3609f 100644 --- a/types/generators/BotInventoryGenerator.d.ts +++ b/types/generators/BotInventoryGenerator.d.ts @@ -1,21 +1,21 @@ -import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; -import { BotHelper } from "../helpers/BotHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase"; -import { Chances, Generation, IBotType, Inventory, Mods } from "../models/eft/common/tables/IBotType"; -import { EquipmentSlots } from "../models/enums/EquipmentSlots"; -import { EquipmentFilterDetails, IBotConfig, RandomisationDetails } from "../models/spt/config/IBotConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { BotEquipmentModPoolService } from "../services/BotEquipmentModPoolService"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { BotEquipmentModGenerator } from "./BotEquipmentModGenerator"; -import { BotLootGenerator } from "./BotLootGenerator"; -import { BotWeaponGenerator } from "./BotWeaponGenerator"; +import { BotEquipmentModGenerator } from "@spt-aki/generators/BotEquipmentModGenerator"; +import { BotLootGenerator } from "@spt-aki/generators/BotLootGenerator"; +import { BotWeaponGenerator } from "@spt-aki/generators/BotWeaponGenerator"; +import { BotGeneratorHelper } from "@spt-aki/helpers/BotGeneratorHelper"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { Inventory as PmcInventory } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Chances, Generation, IBotType, Inventory, Mods } from "@spt-aki/models/eft/common/tables/IBotType"; +import { EquipmentSlots } from "@spt-aki/models/enums/EquipmentSlots"; +import { EquipmentFilterDetails, IBotConfig, RandomisationDetails } from "@spt-aki/models/spt/config/IBotConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { BotEquipmentModPoolService } from "@spt-aki/services/BotEquipmentModPoolService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotInventoryGenerator { protected logger: ILogger; protected hashUtil: HashUtil; diff --git a/types/generators/BotLevelGenerator.d.ts b/types/generators/BotLevelGenerator.d.ts index 56005a5..c8b590f 100644 --- a/types/generators/BotLevelGenerator.d.ts +++ b/types/generators/BotLevelGenerator.d.ts @@ -1,11 +1,11 @@ -import { MinMax } from "../models/common/MinMax"; -import { IRandomisedBotLevelResult } from "../models/eft/bot/IRandomisedBotLevelResult"; -import { IExpTable } from "../models/eft/common/IGlobals"; -import { IBotBase } from "../models/eft/common/tables/IBotBase"; -import { BotGenerationDetails } from "../models/spt/bots/BotGenerationDetails"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { RandomUtil } from "../utils/RandomUtil"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { IRandomisedBotLevelResult } from "@spt-aki/models/eft/bot/IRandomisedBotLevelResult"; +import { IExpTable } from "@spt-aki/models/eft/common/IGlobals"; +import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { BotGenerationDetails } from "@spt-aki/models/spt/bots/BotGenerationDetails"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotLevelGenerator { protected logger: ILogger; protected randomUtil: RandomUtil; diff --git a/types/generators/BotLootGenerator.d.ts b/types/generators/BotLootGenerator.d.ts index d0e8758..7a4c521 100644 --- a/types/generators/BotLootGenerator.d.ts +++ b/types/generators/BotLootGenerator.d.ts @@ -1,23 +1,23 @@ -import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; -import { BotWeaponGeneratorHelper } from "../helpers/BotWeaponGeneratorHelper"; -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase"; -import { IBotType, Inventory, ModsChances } from "../models/eft/common/tables/IBotType"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { EquipmentSlots } from "../models/enums/EquipmentSlots"; -import { IBotConfig } from "../models/spt/config/IBotConfig"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { BotLootCacheService } from "../services/BotLootCacheService"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { BotWeaponGenerator } from "./BotWeaponGenerator"; +import { BotWeaponGenerator } from "@spt-aki/generators/BotWeaponGenerator"; +import { BotGeneratorHelper } from "@spt-aki/helpers/BotGeneratorHelper"; +import { BotWeaponGeneratorHelper } from "@spt-aki/helpers/BotWeaponGeneratorHelper"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { Inventory as PmcInventory } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IBotType, Inventory, ModsChances } from "@spt-aki/models/eft/common/tables/IBotType"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { EquipmentSlots } from "@spt-aki/models/enums/EquipmentSlots"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { BotLootCacheService } from "@spt-aki/services/BotLootCacheService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotLootGenerator { protected logger: ILogger; protected hashUtil: HashUtil; @@ -83,7 +83,7 @@ export declare class BotLootGenerator { * @param equipmentSlot slot to place the preset in (backpack) * @param templateInventory bots template, assault.json * @param modChances chances for mods to spawn on weapon - * @param botRole bots role, .e.g. pmcBot + * @param botRole bots role .e.g. pmcBot * @param isPmc are we generating for a pmc */ protected addLooseWeaponsToInventorySlot(sessionId: string, botInventory: PmcInventory, equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, botRole: string, isPmc: boolean, botLevel: number): void; @@ -120,16 +120,16 @@ export declare class BotLootGenerator { protected itemHasReachedSpawnLimit(itemTemplate: ITemplateItem, botRole: string, isPmc: boolean, limitCount: Record, itemSpawnLimits: Record): boolean; /** * Randomise the stack size of a money object, uses different values for pmc or scavs - * @param isPmc is this a PMC - * @param itemTemplate item details - * @param moneyItem Money stack to randomise + * @param isPmc Is money on a PMC bot + * @param itemTemplate item details from db + * @param moneyItem Money item to randomise */ protected randomiseMoneyStackSize(isPmc: boolean, itemTemplate: ITemplateItem, moneyItem: Item): void; /** * Randomise the size of an ammo stack - * @param isPmc is this a PMC - * @param itemTemplate item details - * @param ammoItem Ammo stack to randomise + * @param isPmc Is ammo on a PMC bot + * @param itemTemplate item details from db + * @param ammoItem Ammo item to randomise */ protected randomiseAmmoStackSize(isPmc: boolean, itemTemplate: ITemplateItem, ammoItem: Item): void; /** diff --git a/types/generators/BotWeaponGenerator.d.ts b/types/generators/BotWeaponGenerator.d.ts index ff3fb4c..125b43f 100644 --- a/types/generators/BotWeaponGenerator.d.ts +++ b/types/generators/BotWeaponGenerator.d.ts @@ -1,26 +1,26 @@ -import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; -import { BotWeaponGeneratorHelper } from "../helpers/BotWeaponGeneratorHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { Inventory as PmcInventory } from "../models/eft/common/tables/IBotBase"; -import { GenerationData, Inventory, ModsChances } from "../models/eft/common/tables/IBotType"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { GenerateWeaponResult } from "../models/spt/bots/GenerateWeaponResult"; -import { IBotConfig } from "../models/spt/config/IBotConfig"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { IRepairConfig } from "../models/spt/config/IRepairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { BotWeaponModLimitService } from "../services/BotWeaponModLimitService"; -import { LocalisationService } from "../services/LocalisationService"; -import { RepairService } from "../services/RepairService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { BotEquipmentModGenerator } from "./BotEquipmentModGenerator"; -import { IInventoryMagGen } from "./weapongen/IInventoryMagGen"; +import { BotEquipmentModGenerator } from "@spt-aki/generators/BotEquipmentModGenerator"; +import { IInventoryMagGen } from "@spt-aki/generators/weapongen/IInventoryMagGen"; +import { BotGeneratorHelper } from "@spt-aki/helpers/BotGeneratorHelper"; +import { BotWeaponGeneratorHelper } from "@spt-aki/helpers/BotWeaponGeneratorHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { Inventory as PmcInventory } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { GenerationData, Inventory, ModsChances } from "@spt-aki/models/eft/common/tables/IBotType"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { GenerateWeaponResult } from "@spt-aki/models/spt/bots/GenerateWeaponResult"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { BotWeaponModLimitService } from "@spt-aki/services/BotWeaponModLimitService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RepairService } from "@spt-aki/services/RepairService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotWeaponGenerator { protected jsonUtil: JsonUtil; protected logger: ILogger; @@ -73,12 +73,13 @@ export declare class BotWeaponGenerator { */ generateWeaponByTpl(sessionId: string, weaponTpl: string, equipmentSlot: string, botTemplateInventory: Inventory, weaponParentId: string, modChances: ModsChances, botRole: string, isPmc: boolean, botLevel: number): GenerateWeaponResult; /** - * Insert a cartridge into a weapon + * Insert a cartridge(s) into a weapon + * Handles all chambers - patron_in_weapon, patron_in_weapon_000 etc * @param weaponWithModsArray Weapon and mods * @param ammoTpl Cartridge to add to weapon - * @param desiredSlotId name of slot, e.g. patron_in_weapon + * @param chamberSlotIds name of slots to create or add ammo to */ - protected addCartridgeToChamber(weaponWithModsArray: Item[], ammoTpl: string, desiredSlotId: string): void; + protected addCartridgeToChamber(weaponWithModsArray: Item[], ammoTpl: string, chamberSlotIds: string[]): void; /** * Create array with weapon base as only element and * add additional properties based on weapon type diff --git a/types/generators/FenceBaseAssortGenerator.d.ts b/types/generators/FenceBaseAssortGenerator.d.ts index 486c4bd..5eab03e 100644 --- a/types/generators/FenceBaseAssortGenerator.d.ts +++ b/types/generators/FenceBaseAssortGenerator.d.ts @@ -1,12 +1,12 @@ -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { ITraderConfig } from "../models/spt/config/ITraderConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ItemFilterService } from "../services/ItemFilterService"; -import { SeasonalEventService } from "../services/SeasonalEventService"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { SeasonalEventService } from "@spt-aki/services/SeasonalEventService"; export declare class FenceBaseAssortGenerator { protected logger: ILogger; protected databaseServer: DatabaseServer; diff --git a/types/generators/LocationGenerator.d.ts b/types/generators/LocationGenerator.d.ts index 46a514b..1305af1 100644 --- a/types/generators/LocationGenerator.d.ts +++ b/types/generators/LocationGenerator.d.ts @@ -1,22 +1,22 @@ -import { ContainerHelper } from "../helpers/ContainerHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PresetHelper } from "../helpers/PresetHelper"; -import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; -import { IContainerMinMax, IStaticContainer } from "../models/eft/common/ILocation"; -import { ILocationBase } from "../models/eft/common/ILocationBase"; -import { ILooseLoot, Spawnpoint, SpawnpointTemplate, SpawnpointsForced } from "../models/eft/common/ILooseLoot"; -import { Item } from "../models/eft/common/tables/IItem"; -import { IStaticAmmoDetails, IStaticContainerData, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase"; -import { ILocationConfig } from "../models/spt/config/ILocationConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { SeasonalEventService } from "../services/SeasonalEventService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { MathUtil } from "../utils/MathUtil"; -import { ObjectId } from "../utils/ObjectId"; -import { ProbabilityObjectArray, RandomUtil } from "../utils/RandomUtil"; +import { ContainerHelper } from "@spt-aki/helpers/ContainerHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { RagfairServerHelper } from "@spt-aki/helpers/RagfairServerHelper"; +import { IContainerMinMax, IStaticContainer } from "@spt-aki/models/eft/common/ILocation"; +import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { ILooseLoot, Spawnpoint, SpawnpointTemplate, SpawnpointsForced } from "@spt-aki/models/eft/common/ILooseLoot"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { IStaticAmmoDetails, IStaticContainerData, IStaticForcedProps, IStaticLootDetails } from "@spt-aki/models/eft/common/tables/ILootBase"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { SeasonalEventService } from "@spt-aki/services/SeasonalEventService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { MathUtil } from "@spt-aki/utils/MathUtil"; +import { ObjectId } from "@spt-aki/utils/ObjectId"; +import { ProbabilityObjectArray, RandomUtil } from "@spt-aki/utils/RandomUtil"; export interface IContainerItem { items: Item[]; width: number; @@ -121,11 +121,11 @@ export declare class LocationGenerator { generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): SpawnpointTemplate[]; /** * Add forced spawn point loot into loot parameter array - * @param loot array to add forced loot to - * @param forcedSpawnPoints forced loot to add - * @param name of map currently generating forced loot for + * @param lootLocationTemplates array to add forced loot spawn locations to + * @param forcedSpawnPoints forced Forced loot locations that must be added + * @param locationName Name of map currently having force loot created for */ - protected addForcedLoot(loot: SpawnpointTemplate[], forcedSpawnPoints: SpawnpointsForced[], locationName: string): void; + protected addForcedLoot(lootLocationTemplates: SpawnpointTemplate[], forcedSpawnPoints: SpawnpointsForced[], locationName: string): void; /** * Create array of item (with child items) and return * @param chosenComposedKey Key we want to look up items for diff --git a/types/generators/LootGenerator.d.ts b/types/generators/LootGenerator.d.ts index fd7f2c2..d8e816c 100644 --- a/types/generators/LootGenerator.d.ts +++ b/types/generators/LootGenerator.d.ts @@ -1,20 +1,20 @@ -import { InventoryHelper } from "../helpers/InventoryHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PresetHelper } from "../helpers/PresetHelper"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { IPreset } from "../models/eft/common/IGlobals"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { AddItem } from "../models/eft/inventory/IAddItemRequestData"; -import { ISealedAirdropContainerSettings, RewardDetails } from "../models/spt/config/IInventoryConfig"; -import { LootItem } from "../models/spt/services/LootItem"; -import { LootRequest } from "../models/spt/services/LootRequest"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ItemFilterService } from "../services/ItemFilterService"; -import { LocalisationService } from "../services/LocalisationService"; -import { RagfairLinkedItemService } from "../services/RagfairLinkedItemService"; -import { HashUtil } from "../utils/HashUtil"; -import { RandomUtil } from "../utils/RandomUtil"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { IPreset } from "@spt-aki/models/eft/common/IGlobals"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { AddItem } from "@spt-aki/models/eft/inventory/IAddItemRequestData"; +import { ISealedAirdropContainerSettings, RewardDetails } from "@spt-aki/models/spt/config/IInventoryConfig"; +import { LootItem } from "@spt-aki/models/spt/services/LootItem"; +import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RagfairLinkedItemService } from "@spt-aki/services/RagfairLinkedItemService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; type ItemLimit = { current: number; max: number; diff --git a/types/generators/PMCLootGenerator.d.ts b/types/generators/PMCLootGenerator.d.ts index abb5615..251bde2 100644 --- a/types/generators/PMCLootGenerator.d.ts +++ b/types/generators/PMCLootGenerator.d.ts @@ -1,10 +1,10 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ItemFilterService } from "../services/ItemFilterService"; -import { SeasonalEventService } from "../services/SeasonalEventService"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { SeasonalEventService } from "@spt-aki/services/SeasonalEventService"; /** * Handle the generation of dynamic PMC loot in pockets and backpacks * and the removal of blacklisted items diff --git a/types/generators/PlayerScavGenerator.d.ts b/types/generators/PlayerScavGenerator.d.ts index 3641268..feea27f 100644 --- a/types/generators/PlayerScavGenerator.d.ts +++ b/types/generators/PlayerScavGenerator.d.ts @@ -1,23 +1,23 @@ -import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; -import { BotHelper } from "../helpers/BotHelper"; -import { BotWeaponGeneratorHelper } from "../helpers/BotWeaponGeneratorHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Skills, Stats } from "../models/eft/common/tables/IBotBase"; -import { IBotType } from "../models/eft/common/tables/IBotType"; -import { IPlayerScavConfig, KarmaLevel } from "../models/spt/config/IPlayerScavConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { BotLootCacheService } from "../services/BotLootCacheService"; -import { FenceService } from "../services/FenceService"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { BotGenerator } from "./BotGenerator"; +import { BotGenerator } from "@spt-aki/generators/BotGenerator"; +import { BotGeneratorHelper } from "@spt-aki/helpers/BotGeneratorHelper"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { BotWeaponGeneratorHelper } from "@spt-aki/helpers/BotWeaponGeneratorHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Skills, Stats } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IBotType } from "@spt-aki/models/eft/common/tables/IBotType"; +import { IPlayerScavConfig, KarmaLevel } from "@spt-aki/models/spt/config/IPlayerScavConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { BotLootCacheService } from "@spt-aki/services/BotLootCacheService"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class PlayerScavGenerator { protected logger: ILogger; protected randomUtil: RandomUtil; diff --git a/types/generators/RagfairAssortGenerator.d.ts b/types/generators/RagfairAssortGenerator.d.ts index b26b6e1..26acae2 100644 --- a/types/generators/RagfairAssortGenerator.d.ts +++ b/types/generators/RagfairAssortGenerator.d.ts @@ -1,12 +1,12 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { IPreset } from "../models/eft/common/IGlobals"; -import { Item } from "../models/eft/common/tables/IItem"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SeasonalEventService } from "../services/SeasonalEventService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { IPreset } from "@spt-aki/models/eft/common/IGlobals"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SeasonalEventService } from "@spt-aki/services/SeasonalEventService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class RagfairAssortGenerator { protected jsonUtil: JsonUtil; protected hashUtil: HashUtil; diff --git a/types/generators/RagfairOfferGenerator.d.ts b/types/generators/RagfairOfferGenerator.d.ts index 58e0b68..25316c0 100644 --- a/types/generators/RagfairOfferGenerator.d.ts +++ b/types/generators/RagfairOfferGenerator.d.ts @@ -1,27 +1,26 @@ -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PaymentHelper } from "../helpers/PaymentHelper"; -import { PresetHelper } from "../helpers/PresetHelper"; -import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IBarterScheme } from "../models/eft/common/tables/ITrader"; -import { IRagfairOffer, OfferRequirement } from "../models/eft/ragfair/IRagfairOffer"; -import { Dynamic, IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { FenceService } from "../services/FenceService"; -import { LocalisationService } from "../services/LocalisationService"; -import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; -import { RagfairOfferService } from "../services/RagfairOfferService"; -import { RagfairPriceService } from "../services/RagfairPriceService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { RagfairAssortGenerator } from "./RagfairAssortGenerator"; +import { RagfairAssortGenerator } from "@spt-aki/generators/RagfairAssortGenerator"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { RagfairServerHelper } from "@spt-aki/helpers/RagfairServerHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IBarterScheme } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IRagfairOffer, OfferRequirement } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { Dynamic, IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RagfairOfferService } from "@spt-aki/services/RagfairOfferService"; +import { RagfairPriceService } from "@spt-aki/services/RagfairPriceService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class RagfairOfferGenerator { protected logger: ILogger; protected jsonUtil: JsonUtil; @@ -38,7 +37,6 @@ export declare class RagfairOfferGenerator { protected ragfairPriceService: RagfairPriceService; protected localisationService: LocalisationService; protected paymentHelper: PaymentHelper; - protected ragfairCategoriesService: RagfairCategoriesService; protected fenceService: FenceService; protected itemHelper: ItemHelper; protected configServer: ConfigServer; @@ -47,7 +45,9 @@ export declare class RagfairOfferGenerator { tpl: string; price: number; }[]; - constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, handbookHelper: HandbookHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, localisationService: LocalisationService, paymentHelper: PaymentHelper, ragfairCategoriesService: RagfairCategoriesService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); + /** Internal counter to ensure each offer created has a unique value for its intId property */ + protected offerCounter: number; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, handbookHelper: HandbookHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, localisationService: LocalisationService, paymentHelper: PaymentHelper, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); /** * Create a flea offer and store it in the Ragfair server offers array * @param userID Owner of the offer @@ -121,7 +121,6 @@ export declare class RagfairOfferGenerator { */ generateDynamicOffers(expiredOffers?: Item[]): Promise; /** - * * @param assortItemIndex Index of assort item * @param assortItemsToProcess Item array containing index * @param expiredOffers Currently expired offers on flea diff --git a/types/generators/RepeatableQuestGenerator.d.ts b/types/generators/RepeatableQuestGenerator.d.ts new file mode 100644 index 0000000..35297fa --- /dev/null +++ b/types/generators/RepeatableQuestGenerator.d.ts @@ -0,0 +1,213 @@ +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { RagfairServerHelper } from "@spt-aki/helpers/RagfairServerHelper"; +import { RepeatableQuestHelper } from "@spt-aki/helpers/RepeatableQuestHelper"; +import { Exit } from "@spt-aki/models/eft/common/ILocationBase"; +import { TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationCondition, IExploration, IExplorationCondition, IPickup, IRepeatableQuest, IReward, IRewards } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IBaseQuestConfig, IBossInfo, IEliminationConfig, IQuestConfig, IRepeatableQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { IQuestTypePool } from "@spt-aki/models/spt/repeatable/IQuestTypePool"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { PaymentService } from "@spt-aki/services/PaymentService"; +import { ProfileFixerService } from "@spt-aki/services/ProfileFixerService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { MathUtil } from "@spt-aki/utils/MathUtil"; +import { ObjectId } from "@spt-aki/utils/ObjectId"; +import { ProbabilityObjectArray, RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; +export declare class RepeatableQuestGenerator { + protected timeUtil: TimeUtil; + protected logger: ILogger; + protected randomUtil: RandomUtil; + protected httpResponse: HttpResponseUtil; + protected mathUtil: MathUtil; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected presetHelper: PresetHelper; + protected profileHelper: ProfileHelper; + protected profileFixerService: ProfileFixerService; + protected handbookHelper: HandbookHelper; + protected ragfairServerHelper: RagfairServerHelper; + protected eventOutputHolder: EventOutputHolder; + protected localisationService: LocalisationService; + protected paymentService: PaymentService; + protected objectId: ObjectId; + protected itemFilterService: ItemFilterService; + protected repeatableQuestHelper: RepeatableQuestHelper; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, httpResponse: HttpResponseUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, handbookHelper: HandbookHelper, ragfairServerHelper: RagfairServerHelper, eventOutputHolder: EventOutputHolder, localisationService: LocalisationService, paymentService: PaymentService, objectId: ObjectId, itemFilterService: ItemFilterService, repeatableQuestHelper: RepeatableQuestHelper, configServer: ConfigServer); + /** + * This method is called by /GetClientRepeatableQuests/ and creates one element of quest type format (see assets/database/templates/repeatableQuests.json). + * It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest + * @param pmcLevel Player's level for requested items and reward generation + * @param pmcTraderInfo Players traper standing/rep levels + * @param questTypePool Possible quest types pool + * @param repeatableConfig Repeatable quest config + * @returns IRepeatableQuest + */ + generateRepeatableQuest(pmcLevel: number, pmcTraderInfo: Record, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; + /** + * Generate a randomised Elimination quest + * @param pmcLevel Player's level for requested items and reward generation + * @param traderId Trader from which the quest will be provided + * @param questTypePool Pools for quests (used to avoid redundant quests) + * @param repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest + * @returns Object of quest type format for "Elimination" (see assets/database/templates/repeatableQuests.json) + */ + protected generateEliminationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IElimination; + /** + * Get a number of kills neded to complete elimination quest + * @param targetKey Target type desired e.g. anyPmc/bossBully/Savage + * @param targetsConfig Config + * @param eliminationConfig Config + * @returns Number of AI to kill + */ + protected getEliminationKillCount(targetKey: string, targetsConfig: ProbabilityObjectArray, eliminationConfig: IEliminationConfig): number; + /** + * A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json) + * This is a helper method for GenerateEliminationQuest to create a location condition. + * + * @param {string} location the location on which to fulfill the elimination quest + * @returns {IEliminationCondition} object of "Elimination"-location-subcondition + */ + protected generateEliminationLocation(location: string[]): IEliminationCondition; + /** + * Create kill condition for an elimination quest + * @param target Bot type target of elimination quest e.g. "AnyPmc", "Savage" + * @param targetedBodyParts Body parts player must hit + * @param distance Distance from which to kill (currently only >= supported + * @param allowedWeapon What weapon must be used - undefined = any + * @param allowedWeaponCategory What category of weapon must be used - undefined = any + * @returns IEliminationCondition object + */ + protected generateEliminationCondition(target: string, targetedBodyParts: string[], distance: number, allowedWeapon: string, allowedWeaponCategory: string): IEliminationCondition; + /** + * Generates a valid Completion quest + * + * @param {integer} pmcLevel player's level for requested items and reward generation + * @param {string} traderId trader from which the quest will be provided + * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest + * @returns {object} object of quest type format for "Completion" (see assets/database/templates/repeatableQuests.json) + */ + protected generateCompletionQuest(pmcLevel: number, traderId: string, repeatableConfig: IRepeatableQuestConfig): ICompletion; + /** + * A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json) + * This is a helper method for GenerateCompletionQuest to create a completion condition (of which a completion quest theoretically can have many) + * + * @param {string} itemTpl id of the item to request + * @param {integer} value amount of items of this specific type to request + * @returns {object} object of "Completion"-condition + */ + protected generateCompletionAvailableForFinish(itemTpl: string, value: number): ICompletionAvailableFor; + /** + * Generates a valid Exploration quest + * + * @param {integer} pmcLevel player's level for reward generation + * @param {string} traderId trader from which the quest will be provided + * @param {object} questTypePool Pools for quests (used to avoid redundant quests) + * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest + * @returns {object} object of quest type format for "Exploration" (see assets/database/templates/repeatableQuests.json) + */ + protected generateExplorationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IExploration; + protected generatePickupQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IPickup; + /** + * Convert a location into an quest code can read (e.g. factory4_day into 55f2d3fd4bdc2d5f408b4567) + * @param locationKey e.g factory4_day + * @returns guid + */ + protected getQuestLocationByMapId(locationKey: string): string; + /** + * Exploration repeatable quests can specify a required extraction point. + * This method creates the according object which will be appended to the conditions array + * + * @param {string} exit The exit name to generate the condition for + * @returns {object} Exit condition + */ + protected generateExplorationExitCondition(exit: Exit): IExplorationCondition; + /** + * Generate the reward for a mission. A reward can consist of + * - Experience + * - Money + * - Items + * - Trader Reputation + * + * The reward is dependent on the player level as given by the wiki. The exact mapping of pmcLevel to + * experience / money / items / trader reputation can be defined in QuestConfig.js + * + * There's also a random variation of the reward the spread of which can be also defined in the config. + * + * Additonaly, a scaling factor w.r.t. quest difficulty going from 0.2...1 can be used + * + * @param {integer} pmcLevel player's level + * @param {number} difficulty a reward scaling factor goint from 0.2 to 1 + * @param {string} traderId the trader for reputation gain (and possible in the future filtering of reward item type based on trader) + * @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest + * @returns {object} object of "Reward"-type that can be given for a repeatable mission + */ + protected generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig, questConfig: IBaseQuestConfig): IRewards; + /** + * Should reward item have stack size increased (25% chance) + * @param item Item to possibly increase stack size of + * @param maxRoublePriceToStack Maximum rouble price an item can be to still be chosen for stacking + * @returns True if it should + */ + protected canIncreaseRewardItemStackSize(item: ITemplateItem, maxRoublePriceToStack: number): boolean; + /** + * Get a randomised number a reward items stack size should be based on its handbook price + * @param item Reward item to get stack size for + * @returns Stack size value + */ + protected getRandomisedRewardItemStackSizeByPrice(item: ITemplateItem): number; + /** + * Select a number of items that have a colelctive value of the passed in parameter + * @param repeatableConfig Config + * @param roublesBudget Total value of items to return + * @returns Array of reward items that fit budget + */ + protected chooseRewardItemsWithinBudget(repeatableConfig: IRepeatableQuestConfig, roublesBudget: number, traderId: string): ITemplateItem[]; + /** + * Helper to create a reward item structured as required by the client + * + * @param {string} tpl ItemId of the rewarded item + * @param {integer} value Amount of items to give + * @param {integer} index All rewards will be appended to a list, for unknown reasons the client wants the index + * @returns {object} Object of "Reward"-item-type + */ + protected generateRewardItem(tpl: string, value: number, index: number, preset?: Item[]): IReward; + /** + * Picks rewardable items from items.json. This means they need to fit into the inventory and they shouldn't be keys (debatable) + * @param repeatableQuestConfig Config file + * @returns List of rewardable items [[_tpl, itemTemplate],...] + */ + protected getRewardableItems(repeatableQuestConfig: IRepeatableQuestConfig, traderId: string): [string, ITemplateItem][]; + /** + * Checks if an id is a valid item. Valid meaning that it's an item that may be a reward + * or content of bot loot. Items that are tested as valid may be in a player backpack or stash. + * @param {string} tpl template id of item to check + * @returns True if item is valid reward + */ + protected isValidRewardItem(tpl: string, repeatableQuestConfig: IRepeatableQuestConfig, itemBaseWhitelist: string[]): boolean; + /** + * Generates the base object of quest type format given as templates in assets/database/templates/repeatableQuests.json + * The templates include Elimination, Completion and Extraction quest types + * + * @param {string} type Quest type: "Elimination", "Completion" or "Extraction" + * @param {string} traderId Trader from which the quest will be provided + * @param {string} side Scav daily or pmc daily/weekly quest + * @returns {object} Object which contains the base elements for repeatable quests of the requests type + * (needs to be filled with reward and conditions by called to make a valid quest) + */ + protected generateRepeatableTemplate(type: string, traderId: string, side: string): IRepeatableQuest; +} diff --git a/types/generators/ScavCaseRewardGenerator.d.ts b/types/generators/ScavCaseRewardGenerator.d.ts index d40b4d2..11e1bc3 100644 --- a/types/generators/ScavCaseRewardGenerator.d.ts +++ b/types/generators/ScavCaseRewardGenerator.d.ts @@ -1,17 +1,17 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { Product } from "../models/eft/common/tables/IBotBase"; -import { Upd } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase"; -import { IScavCaseConfig } from "../models/spt/config/IScavCaseConfig"; -import { RewardCountAndPriceDetails, ScavCaseRewardCountsAndPrices } from "../models/spt/hideout/ScavCaseRewardCountsAndPrices"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ItemFilterService } from "../services/ItemFilterService"; -import { RagfairPriceService } from "../services/RagfairPriceService"; -import { HashUtil } from "../utils/HashUtil"; -import { RandomUtil } from "../utils/RandomUtil"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { Product } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Upd } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IHideoutScavCase } from "@spt-aki/models/eft/hideout/IHideoutScavCase"; +import { IScavCaseConfig } from "@spt-aki/models/spt/config/IScavCaseConfig"; +import { RewardCountAndPriceDetails, ScavCaseRewardCountsAndPrices } from "@spt-aki/models/spt/hideout/ScavCaseRewardCountsAndPrices"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { RagfairPriceService } from "@spt-aki/services/RagfairPriceService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; /** * Handle the creation of randomised scav case rewards */ @@ -84,7 +84,6 @@ export declare class ScavCaseRewardGenerator { upd: Upd; }, rarity: string): void; /** - * * @param dbItems all items from the items.json * @param itemFilters controls how the dbItems will be filtered and returned (handbook price) * @returns filtered dbItems array diff --git a/types/generators/WeatherGenerator.d.ts b/types/generators/WeatherGenerator.d.ts index 6471bb1..5501ee6 100644 --- a/types/generators/WeatherGenerator.d.ts +++ b/types/generators/WeatherGenerator.d.ts @@ -1,12 +1,12 @@ -import { ApplicationContext } from "../context/ApplicationContext"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { IWeather, IWeatherData } from "../models/eft/weather/IWeatherData"; -import { WindDirection } from "../models/enums/WindDirection"; -import { IWeatherConfig } from "../models/spt/config/IWeatherConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { IWeather, IWeatherData } from "@spt-aki/models/eft/weather/IWeatherData"; +import { WindDirection } from "@spt-aki/models/enums/WindDirection"; +import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class WeatherGenerator { protected weightedRandomHelper: WeightedRandomHelper; protected logger: ILogger; diff --git a/types/generators/weapongen/IInventoryMagGen.d.ts b/types/generators/weapongen/IInventoryMagGen.d.ts index 792f510..5586243 100644 --- a/types/generators/weapongen/IInventoryMagGen.d.ts +++ b/types/generators/weapongen/IInventoryMagGen.d.ts @@ -1,4 +1,4 @@ -import { InventoryMagGen } from "./InventoryMagGen"; +import { InventoryMagGen } from "@spt-aki/generators/weapongen/InventoryMagGen"; export interface IInventoryMagGen { getPriority(): number; canHandleInventoryMagGen(inventoryMagGen: InventoryMagGen): boolean; diff --git a/types/generators/weapongen/InventoryMagGen.d.ts b/types/generators/weapongen/InventoryMagGen.d.ts index f827a61..778ac53 100644 --- a/types/generators/weapongen/InventoryMagGen.d.ts +++ b/types/generators/weapongen/InventoryMagGen.d.ts @@ -1,6 +1,6 @@ -import { Inventory } from "../../models/eft/common/tables/IBotBase"; -import { GenerationData } from "../../models/eft/common/tables/IBotType"; -import { ITemplateItem } from "../../models/eft/common/tables/ITemplateItem"; +import { Inventory } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { GenerationData } from "@spt-aki/models/eft/common/tables/IBotType"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; export declare class InventoryMagGen { private magCounts; private magazineTemplate; diff --git a/types/generators/weapongen/implementations/BarrelInventoryMagGen.d.ts b/types/generators/weapongen/implementations/BarrelInventoryMagGen.d.ts index b754d5f..3e5e708 100644 --- a/types/generators/weapongen/implementations/BarrelInventoryMagGen.d.ts +++ b/types/generators/weapongen/implementations/BarrelInventoryMagGen.d.ts @@ -1,7 +1,7 @@ -import { BotWeaponGeneratorHelper } from "../../../helpers/BotWeaponGeneratorHelper"; -import { RandomUtil } from "../../../utils/RandomUtil"; -import { IInventoryMagGen } from "../IInventoryMagGen"; -import { InventoryMagGen } from "../InventoryMagGen"; +import { IInventoryMagGen } from "@spt-aki/generators/weapongen/IInventoryMagGen"; +import { InventoryMagGen } from "@spt-aki/generators/weapongen/InventoryMagGen"; +import { BotWeaponGeneratorHelper } from "@spt-aki/helpers/BotWeaponGeneratorHelper"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BarrelInventoryMagGen implements IInventoryMagGen { protected randomUtil: RandomUtil; protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper; diff --git a/types/generators/weapongen/implementations/ExternalInventoryMagGen.d.ts b/types/generators/weapongen/implementations/ExternalInventoryMagGen.d.ts index 1589707..edc4734 100644 --- a/types/generators/weapongen/implementations/ExternalInventoryMagGen.d.ts +++ b/types/generators/weapongen/implementations/ExternalInventoryMagGen.d.ts @@ -1,16 +1,25 @@ -import { BotWeaponGeneratorHelper } from "../../../helpers/BotWeaponGeneratorHelper"; -import { ItemHelper } from "../../../helpers/ItemHelper"; -import { ILogger } from "../../../models/spt/utils/ILogger"; -import { LocalisationService } from "../../../services/LocalisationService"; -import { IInventoryMagGen } from "../IInventoryMagGen"; -import { InventoryMagGen } from "../InventoryMagGen"; +import { IInventoryMagGen } from "@spt-aki/generators/weapongen/IInventoryMagGen"; +import { InventoryMagGen } from "@spt-aki/generators/weapongen/InventoryMagGen"; +import { BotWeaponGeneratorHelper } from "@spt-aki/helpers/BotWeaponGeneratorHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class ExternalInventoryMagGen implements IInventoryMagGen { protected logger: ILogger; protected itemHelper: ItemHelper; protected localisationService: LocalisationService; protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper; - constructor(logger: ILogger, itemHelper: ItemHelper, localisationService: LocalisationService, botWeaponGeneratorHelper: BotWeaponGeneratorHelper); + protected randomUtil: RandomUtil; + constructor(logger: ILogger, itemHelper: ItemHelper, localisationService: LocalisationService, botWeaponGeneratorHelper: BotWeaponGeneratorHelper, randomUtil: RandomUtil); getPriority(): number; canHandleInventoryMagGen(inventoryMagGen: InventoryMagGen): boolean; process(inventoryMagGen: InventoryMagGen): void; + /** + * Get a random compatible external magazine for a weapon, excluses internal magazines from possible pool + * @param weaponTpl Weapon to get mag for + * @returns tpl of magazine + */ + protected getRandomExternalMagazineForInternalMagazineGun(weaponTpl: string, magazineBlacklist: string[]): ITemplateItem; } diff --git a/types/generators/weapongen/implementations/InternalMagazineInventoryMagGen.d.ts b/types/generators/weapongen/implementations/InternalMagazineInventoryMagGen.d.ts index 4548a04..70efdb5 100644 --- a/types/generators/weapongen/implementations/InternalMagazineInventoryMagGen.d.ts +++ b/types/generators/weapongen/implementations/InternalMagazineInventoryMagGen.d.ts @@ -1,6 +1,6 @@ -import { BotWeaponGeneratorHelper } from "../../../helpers/BotWeaponGeneratorHelper"; -import { IInventoryMagGen } from "../IInventoryMagGen"; -import { InventoryMagGen } from "../InventoryMagGen"; +import { IInventoryMagGen } from "@spt-aki/generators/weapongen/IInventoryMagGen"; +import { InventoryMagGen } from "@spt-aki/generators/weapongen/InventoryMagGen"; +import { BotWeaponGeneratorHelper } from "@spt-aki/helpers/BotWeaponGeneratorHelper"; export declare class InternalMagazineInventoryMagGen implements IInventoryMagGen { protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper; constructor(botWeaponGeneratorHelper: BotWeaponGeneratorHelper); diff --git a/types/generators/weapongen/implementations/UbglExternalMagGen.d.ts b/types/generators/weapongen/implementations/UbglExternalMagGen.d.ts index 75395be..02b7748 100644 --- a/types/generators/weapongen/implementations/UbglExternalMagGen.d.ts +++ b/types/generators/weapongen/implementations/UbglExternalMagGen.d.ts @@ -1,6 +1,6 @@ -import { BotWeaponGeneratorHelper } from "../../../helpers/BotWeaponGeneratorHelper"; -import { IInventoryMagGen } from "../IInventoryMagGen"; -import { InventoryMagGen } from "../InventoryMagGen"; +import { IInventoryMagGen } from "@spt-aki/generators/weapongen/IInventoryMagGen"; +import { InventoryMagGen } from "@spt-aki/generators/weapongen/InventoryMagGen"; +import { BotWeaponGeneratorHelper } from "@spt-aki/helpers/BotWeaponGeneratorHelper"; export declare class UbglExternalMagGen implements IInventoryMagGen { protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper; constructor(botWeaponGeneratorHelper: BotWeaponGeneratorHelper); diff --git a/types/helpers/AssortHelper.d.ts b/types/helpers/AssortHelper.d.ts index df674c5..52dda35 100644 --- a/types/helpers/AssortHelper.d.ts +++ b/types/helpers/AssortHelper.d.ts @@ -1,11 +1,11 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { QuestStatus } from "../models/enums/QuestStatus"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { ItemHelper } from "./ItemHelper"; -import { QuestHelper } from "./QuestHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader"; +import { QuestStatus } from "@spt-aki/models/enums/QuestStatus"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; export declare class AssortHelper { protected logger: ILogger; protected itemHelper: ItemHelper; diff --git a/types/helpers/BotDifficultyHelper.d.ts b/types/helpers/BotDifficultyHelper.d.ts index bb20955..84beba3 100644 --- a/types/helpers/BotDifficultyHelper.d.ts +++ b/types/helpers/BotDifficultyHelper.d.ts @@ -1,12 +1,12 @@ -import { Difficulty } from "../models/eft/common/tables/IBotType"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { BotHelper } from "./BotHelper"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { Difficulty } from "@spt-aki/models/eft/common/tables/IBotType"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotDifficultyHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; diff --git a/types/helpers/BotGeneratorHelper.d.ts b/types/helpers/BotGeneratorHelper.d.ts index 81750bd..e7f32ed 100644 --- a/types/helpers/BotGeneratorHelper.d.ts +++ b/types/helpers/BotGeneratorHelper.d.ts @@ -1,16 +1,16 @@ -import { ApplicationContext } from "../context/ApplicationContext"; -import { DurabilityLimitsHelper } from "../helpers/DurabilityLimitsHelper"; -import { Item, Repairable, Upd } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { EquipmentFilters, IBotConfig, IRandomisedResourceValues } from "../models/spt/config/IBotConfig"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { ItemHelper } from "./ItemHelper"; +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { DurabilityLimitsHelper } from "@spt-aki/helpers/DurabilityLimitsHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { Item, Repairable, Upd } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { EquipmentFilters, IBotConfig, IRandomisedResourceValues } from "@spt-aki/models/spt/config/IBotConfig"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotGeneratorHelper { protected logger: ILogger; protected randomUtil: RandomUtil; @@ -30,7 +30,7 @@ export declare class BotGeneratorHelper { * @param botRole Used by weapons to randomize the durability values. Null for non-equipped items * @returns Item Upd object with extra properties */ - generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: string): { + generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { upd?: Upd; }; /** diff --git a/types/helpers/BotHelper.d.ts b/types/helpers/BotHelper.d.ts index 3bbdcb1..1026070 100644 --- a/types/helpers/BotHelper.d.ts +++ b/types/helpers/BotHelper.d.ts @@ -1,13 +1,13 @@ -import { MinMax } from "../models/common/MinMax"; -import { Difficulty, IBotType } from "../models/eft/common/tables/IBotType"; -import { EquipmentFilters, IBotConfig, RandomisationDetails } from "../models/spt/config/IBotConfig"; -import { IPmcConfig } from "../models/spt/config/IPmcConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { Difficulty, IBotType } from "@spt-aki/models/eft/common/tables/IBotType"; +import { EquipmentFilters, IBotConfig, RandomisationDetails } from "@spt-aki/models/spt/config/IBotConfig"; +import { IPmcConfig } from "@spt-aki/models/spt/config/IPmcConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; diff --git a/types/helpers/BotWeaponGeneratorHelper.d.ts b/types/helpers/BotWeaponGeneratorHelper.d.ts index bc31d49..293abb1 100644 --- a/types/helpers/BotWeaponGeneratorHelper.d.ts +++ b/types/helpers/BotWeaponGeneratorHelper.d.ts @@ -1,18 +1,18 @@ -import { Inventory } from "../models/eft/common/tables/IBotBase"; -import { GenerationData } from "../models/eft/common/tables/IBotType"; -import { Item } from "../models/eft/common/tables/IItem"; -import { Grid, ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { EquipmentSlots } from "../models/enums/EquipmentSlots"; -import { ItemAddedResult } from "../models/enums/ItemAddedResult"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { ContainerHelper } from "./ContainerHelper"; -import { InventoryHelper } from "./InventoryHelper"; -import { ItemHelper } from "./ItemHelper"; -import { WeightedRandomHelper } from "./WeightedRandomHelper"; +import { ContainerHelper } from "@spt-aki/helpers/ContainerHelper"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { Inventory } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { GenerationData } from "@spt-aki/models/eft/common/tables/IBotType"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { Grid, ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { EquipmentSlots } from "@spt-aki/models/enums/EquipmentSlots"; +import { ItemAddedResult } from "@spt-aki/models/enums/ItemAddedResult"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotWeaponGeneratorHelper { protected logger: ILogger; protected databaseServer: DatabaseServer; @@ -77,10 +77,10 @@ export declare class BotWeaponGeneratorHelper { */ addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: Inventory): ItemAddedResult; /** - * is the provided item allowed inside a container - * @param slot location item wants to be placed in - * @param itemTpl item being placed - * @returns true if allowed + * Is the provided item allowed inside a container + * @param slotGrid Items sub-grid we want to place item inside + * @param itemTpl Item tpl being placed + * @returns True if allowed */ - protected itemAllowedInContainer(slot: Grid, itemTpl: string): boolean; + protected itemAllowedInContainer(slotGrid: Grid, itemTpl: string): boolean; } diff --git a/types/helpers/Dialogue/Commando/ICommandoCommand.d.ts b/types/helpers/Dialogue/Commando/ICommandoCommand.d.ts new file mode 100644 index 0000000..cca1fb3 --- /dev/null +++ b/types/helpers/Dialogue/Commando/ICommandoCommand.d.ts @@ -0,0 +1,8 @@ +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +export interface ICommandoCommand { + getCommandPrefix(): string; + getCommandHelp(command: string): string; + getCommands(): Set; + handle(command: string, commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string; +} diff --git a/types/helpers/Dialogue/Commando/SptCommandoCommands.d.ts b/types/helpers/Dialogue/Commando/SptCommandoCommands.d.ts new file mode 100644 index 0000000..62fb63e --- /dev/null +++ b/types/helpers/Dialogue/Commando/SptCommandoCommands.d.ts @@ -0,0 +1,15 @@ +import { ICommandoCommand } from "@spt-aki/helpers/Dialogue/Commando/ICommandoCommand"; +import { ISptCommand } from "@spt-aki/helpers/Dialogue/Commando/SptCommands/ISptCommand"; +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +export declare class SptCommandoCommands implements ICommandoCommand { + protected configServer: ConfigServer; + protected sptCommands: ISptCommand[]; + constructor(configServer: ConfigServer, sptCommands: ISptCommand[]); + registerSptCommandoCommand(command: ISptCommand): void; + getCommandHelp(command: string): string; + getCommandPrefix(): string; + getCommands(): Set; + handle(command: string, commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string; +} diff --git a/types/helpers/Dialogue/Commando/SptCommands/GiveSptCommand.d.ts b/types/helpers/Dialogue/Commando/SptCommands/GiveSptCommand.d.ts new file mode 100644 index 0000000..33d05de --- /dev/null +++ b/types/helpers/Dialogue/Commando/SptCommands/GiveSptCommand.d.ts @@ -0,0 +1,21 @@ +import { ISptCommand } from "@spt-aki/helpers/Dialogue/Commando/SptCommands/ISptCommand"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +export declare class GiveSptCommand implements ISptCommand { + protected logger: ILogger; + protected itemHelper: ItemHelper; + protected hashUtil: HashUtil; + protected jsonUtil: JsonUtil; + protected presetHelper: PresetHelper; + protected mailSendService: MailSendService; + constructor(logger: ILogger, itemHelper: ItemHelper, hashUtil: HashUtil, jsonUtil: JsonUtil, presetHelper: PresetHelper, mailSendService: MailSendService); + getCommand(): string; + getCommandHelp(): string; + performAction(commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string; +} diff --git a/types/helpers/Dialogue/Commando/SptCommands/ISptCommand.d.ts b/types/helpers/Dialogue/Commando/SptCommands/ISptCommand.d.ts new file mode 100644 index 0000000..33732c7 --- /dev/null +++ b/types/helpers/Dialogue/Commando/SptCommands/ISptCommand.d.ts @@ -0,0 +1,7 @@ +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +export interface ISptCommand { + getCommand(): string; + getCommandHelp(): string; + performAction(commandHandler: IUserDialogInfo, sessionId: string, request: ISendMessageRequest): string; +} diff --git a/types/helpers/Dialogue/CommandoDialogueChatBot.d.ts b/types/helpers/Dialogue/CommandoDialogueChatBot.d.ts new file mode 100644 index 0000000..e1213a2 --- /dev/null +++ b/types/helpers/Dialogue/CommandoDialogueChatBot.d.ts @@ -0,0 +1,15 @@ +import { ICommandoCommand } from "@spt-aki/helpers/Dialogue/Commando/ICommandoCommand"; +import { IDialogueChatBot } from "@spt-aki/helpers/Dialogue/IDialogueChatBot"; +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +export declare class CommandoDialogueChatBot implements IDialogueChatBot { + protected logger: ILogger; + protected mailSendService: MailSendService; + protected commandoCommands: ICommandoCommand[]; + constructor(logger: ILogger, mailSendService: MailSendService, commandoCommands: ICommandoCommand[]); + registerCommandoCommand(commandoCommand: ICommandoCommand): void; + getChatBot(): IUserDialogInfo; + handleMessage(sessionId: string, request: ISendMessageRequest): string; +} diff --git a/types/helpers/Dialogue/IDialogueChatBot.d.ts b/types/helpers/Dialogue/IDialogueChatBot.d.ts new file mode 100644 index 0000000..b585d55 --- /dev/null +++ b/types/helpers/Dialogue/IDialogueChatBot.d.ts @@ -0,0 +1,6 @@ +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +export interface IDialogueChatBot { + getChatBot(): IUserDialogInfo; + handleMessage(sessionId: string, request: ISendMessageRequest): string; +} diff --git a/types/helpers/Dialogue/SptDialogueChatBot.d.ts b/types/helpers/Dialogue/SptDialogueChatBot.d.ts new file mode 100644 index 0000000..a852dfe --- /dev/null +++ b/types/helpers/Dialogue/SptDialogueChatBot.d.ts @@ -0,0 +1,25 @@ +import { IDialogueChatBot } from "@spt-aki/helpers/Dialogue/IDialogueChatBot"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { GiftService } from "@spt-aki/services/GiftService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +export declare class SptDialogueChatBot implements IDialogueChatBot { + protected profileHelper: ProfileHelper; + protected randomUtil: RandomUtil; + protected mailSendService: MailSendService; + protected giftService: GiftService; + protected configServer: ConfigServer; + protected coreConfig: ICoreConfig; + constructor(profileHelper: ProfileHelper, randomUtil: RandomUtil, mailSendService: MailSendService, giftService: GiftService, configServer: ConfigServer); + getChatBot(): IUserDialogInfo; + /** + * Send responses back to player when they communicate with SPT friend on friends list + * @param sessionId Session Id + * @param request send message request + */ + handleMessage(sessionId: string, request: ISendMessageRequest): string; +} diff --git a/types/helpers/DialogueHelper.d.ts b/types/helpers/DialogueHelper.d.ts index ea3bae7..ea1b517 100644 --- a/types/helpers/DialogueHelper.d.ts +++ b/types/helpers/DialogueHelper.d.ts @@ -1,14 +1,14 @@ -import { Item } from "../models/eft/common/tables/IItem"; -import { Dialogue, MessageContent, MessagePreview } from "../models/eft/profile/IAkiProfile"; -import { MessageType } from "../models/enums/MessageType"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { ItemHelper } from "./ItemHelper"; -import { NotificationSendHelper } from "./NotificationSendHelper"; -import { NotifierHelper } from "./NotifierHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { NotificationSendHelper } from "@spt-aki/helpers/NotificationSendHelper"; +import { NotifierHelper } from "@spt-aki/helpers/NotifierHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { Dialogue, MessageContent, MessagePreview } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; export declare class DialogueHelper { protected logger: ILogger; protected hashUtil: HashUtil; diff --git a/types/helpers/DurabilityLimitsHelper.d.ts b/types/helpers/DurabilityLimitsHelper.d.ts index 671559f..efccdf5 100644 --- a/types/helpers/DurabilityLimitsHelper.d.ts +++ b/types/helpers/DurabilityLimitsHelper.d.ts @@ -1,8 +1,8 @@ -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IBotConfig } from "../models/spt/config/IBotConfig"; -import { ConfigServer } from "../servers/ConfigServer"; -import { RandomUtil } from "../utils/RandomUtil"; -import { BotHelper } from "./BotHelper"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class DurabilityLimitsHelper { protected randomUtil: RandomUtil; protected botHelper: BotHelper; diff --git a/types/helpers/GameEventHelper.d.ts b/types/helpers/GameEventHelper.d.ts index f502c95..555cda2 100644 --- a/types/helpers/GameEventHelper.d.ts +++ b/types/helpers/GameEventHelper.d.ts @@ -1,6 +1,6 @@ -import { ISeasonalEventConfig } from "../models/spt/config/ISeasonalEventConfig"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; +import { ISeasonalEventConfig } from "@spt-aki/models/spt/config/ISeasonalEventConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; export declare class GameEventHelper { protected databaseServer: DatabaseServer; protected configServer: ConfigServer; diff --git a/types/helpers/HandbookHelper.d.ts b/types/helpers/HandbookHelper.d.ts index 856c23a..1e7dffa 100644 --- a/types/helpers/HandbookHelper.d.ts +++ b/types/helpers/HandbookHelper.d.ts @@ -1,4 +1,6 @@ -import { DatabaseServer } from "../servers/DatabaseServer"; +import { Category } from "@spt-aki/models/eft/common/tables/IHandbookBase"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; declare class LookupItem { readonly byId: Map; readonly byParent: Map; @@ -11,9 +13,10 @@ export declare class LookupCollection { } export declare class HandbookHelper { protected databaseServer: DatabaseServer; + protected jsonUtil: JsonUtil; protected lookupCacheGenerated: boolean; protected handbookPriceCache: LookupCollection; - constructor(databaseServer: DatabaseServer); + constructor(databaseServer: DatabaseServer, jsonUtil: JsonUtil); /** * Create an in-memory cache of all items with associated handbook price in handbookPriceCache class */ @@ -57,5 +60,6 @@ export declare class HandbookHelper { * @returns currency count in desired type */ fromRUB(roubleCurrencyCount: number, currencyTypeTo: string): number; + getCategoryById(handbookId: string): Category; } export {}; diff --git a/types/helpers/HealthHelper.d.ts b/types/helpers/HealthHelper.d.ts index e4cdcd6..6aae71f 100644 --- a/types/helpers/HealthHelper.d.ts +++ b/types/helpers/HealthHelper.d.ts @@ -1,12 +1,12 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; -import { Effects, IAkiProfile } from "../models/eft/profile/IAkiProfile"; -import { IHealthConfig } from "../models/spt/config/IHealthConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { SaveServer } from "../servers/SaveServer"; -import { JsonUtil } from "../utils/JsonUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ISyncHealthRequestData } from "@spt-aki/models/eft/health/ISyncHealthRequestData"; +import { Effects, IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { IHealthConfig } from "@spt-aki/models/spt/config/IHealthConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class HealthHelper { protected jsonUtil: JsonUtil; protected logger: ILogger; diff --git a/types/helpers/HideoutHelper.d.ts b/types/helpers/HideoutHelper.d.ts index 80ac27c..0cfc649 100644 --- a/types/helpers/HideoutHelper.d.ts +++ b/types/helpers/HideoutHelper.d.ts @@ -1,25 +1,25 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Common, HideoutArea, IHideoutImprovement, Production, Productive } from "../models/eft/common/tables/IBotBase"; -import { Upd } from "../models/eft/common/tables/IItem"; -import { StageBonus } from "../models/eft/hideout/IHideoutArea"; -import { IHideoutContinuousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinuousProductionStartRequestData"; -import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction"; -import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; -import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; -import { IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IHideoutConfig } from "../models/spt/config/IHideoutConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { PlayerService } from "../services/PlayerService"; -import { HashUtil } from "../utils/HashUtil"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { InventoryHelper } from "./InventoryHelper"; -import { ProfileHelper } from "./ProfileHelper"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { HideoutArea, IHideoutImprovement, Production, Productive } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Upd } from "@spt-aki/models/eft/common/tables/IItem"; +import { StageBonus } from "@spt-aki/models/eft/hideout/IHideoutArea"; +import { IHideoutContinuousProductionStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutContinuousProductionStartRequestData"; +import { IHideoutProduction } from "@spt-aki/models/eft/hideout/IHideoutProduction"; +import { IHideoutSingleProductionStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutTakeProductionRequestData } from "@spt-aki/models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IAddItemRequestData } from "@spt-aki/models/eft/inventory/IAddItemRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { PlayerService } from "@spt-aki/services/PlayerService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class HideoutHelper { protected logger: ILogger; protected hashUtil: HashUtil; @@ -201,22 +201,10 @@ export declare class HideoutHelper { * @returns coin slot count */ protected getBTCSlots(pmcData: IPmcData): number; - /** - * Does profile have elite hideout management skill - * @param pmcData Profile to look at - * @returns True if profile has skill - */ - protected hasEliteHideoutManagementSkill(pmcData: IPmcData): boolean; /** * Get a count of bitcoins player miner can hold */ protected getBitcoinMinerContainerSlotSize(): number; - /** - * Get the hideout management skill from player profile - * @param pmcData Profile to look at - * @returns Hideout management skill object - */ - protected getHideoutManagementSkill(pmcData: IPmcData): Common; /** * HideoutManagement skill gives a consumption bonus the higher the level * 0.5% per level per 1-51, (25.5% at max) diff --git a/types/helpers/HttpServerHelper.d.ts b/types/helpers/HttpServerHelper.d.ts index b05cbdf..d67b4ec 100644 --- a/types/helpers/HttpServerHelper.d.ts +++ b/types/helpers/HttpServerHelper.d.ts @@ -1,5 +1,5 @@ -import { IHttpConfig } from "../models/spt/config/IHttpConfig"; -import { ConfigServer } from "../servers/ConfigServer"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; export declare class HttpServerHelper { protected configServer: ConfigServer; protected httpConfig: IHttpConfig; diff --git a/types/helpers/InRaidHelper.d.ts b/types/helpers/InRaidHelper.d.ts index b4c0c1c..b2bba8c 100644 --- a/types/helpers/InRaidHelper.d.ts +++ b/types/helpers/InRaidHelper.d.ts @@ -1,27 +1,31 @@ -import { IPmcData, IPostRaidPmcData } from "../models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "../models/eft/common/tables/IBotBase"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; -import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; -import { ILostOnDeathConfig } from "../models/spt/config/ILostOnDeathConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { ProfileFixerService } from "../services/ProfileFixerService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { InventoryHelper } from "./InventoryHelper"; -import { ItemHelper } from "./ItemHelper"; -import { PaymentHelper } from "./PaymentHelper"; -import { QuestHelper } from "./QuestHelper"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; +import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; +import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; +import { ILostOnDeathConfig } from "@spt-aki/models/spt/config/ILostOnDeathConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { ProfileFixerService } from "@spt-aki/services/ProfileFixerService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; +import { ProfileHelper } from "./ProfileHelper"; export declare class InRaidHelper { protected logger: ILogger; + protected timeUtil: TimeUtil; protected saveServer: SaveServer; protected jsonUtil: JsonUtil; protected itemHelper: ItemHelper; protected databaseServer: DatabaseServer; protected inventoryHelper: InventoryHelper; + protected profileHelper: ProfileHelper; protected questHelper: QuestHelper; protected paymentHelper: PaymentHelper; protected localisationService: LocalisationService; @@ -29,7 +33,7 @@ export declare class InRaidHelper { protected configServer: ConfigServer; protected lostOnDeathConfig: ILostOnDeathConfig; protected inRaidConfig: IInRaidConfig; - constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, questHelper: QuestHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, jsonUtil: JsonUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, profileFixerService: ProfileFixerService, configServer: ConfigServer); /** * Lookup quest item loss from lostOnDeath config * @returns True if items should be removed from inventory @@ -58,22 +62,41 @@ export declare class InRaidHelper { * Reset a profile to a baseline, used post-raid * Reset points earned during session property * Increment exp - * Remove Labs keycard * @param profileData Profile to update * @param saveProgressRequest post raid save data request data * @param sessionID Session id * @returns Reset profile object */ - updateProfileBaseStats(profileData: IPmcData, saveProgressRequest: ISaveProgressRequestData, sessionID: string): IPmcData; + updateProfileBaseStats(profileData: IPmcData, saveProgressRequest: ISaveProgressRequestData, sessionID: string): void; /** - * Look for quests not are now status = fail that were not failed pre-raid and run the failQuest() function + * Reset the skill points earned in a raid to 0, ready for next raid + * @param profile Profile to update + */ + protected resetSkillPointsEarnedDuringRaid(profile: IPmcData): void; + /** Check counters are correct in profile */ + protected validateBackendCounters(saveProgressRequest: ISaveProgressRequestData, profileData: IPmcData): void; + /** + * Update various serverPMC profile values; quests/limb hp/trader standing with values post-raic + * @param pmcData Server PMC profile + * @param saveProgressRequest Post-raid request data + * @param sessionId Session id + */ + updatePmcProfileDataPostRaid(pmcData: IPmcData, saveProgressRequest: ISaveProgressRequestData, sessionId: string): void; + /** + * Update scav quest values on server profile with updated values post-raid + * @param scavData Server scav profile + * @param saveProgressRequest Post-raid request data + * @param sessionId Session id + */ + updateScavProfileDataPostRaid(scavData: IPmcData, saveProgressRequest: ISaveProgressRequestData, sessionId: string): void; + /** + * Look for quests with a status different from what it began the raid with * @param sessionId Player id * @param pmcData Player profile * @param preRaidQuests Quests prior to starting raid - * @param postRaidQuests Quest after raid + * @param postRaidProfile Profile sent by client with post-raid quests */ - protected processFailedQuests(sessionId: string, pmcData: IPmcData, preRaidQuests: IQuestStatus[], postRaidQuests: IQuestStatus[]): void; - protected resetSkillPointsEarnedDuringRaid(profile: IPmcData): void; + protected processAlteredQuests(sessionId: string, pmcData: IPmcData, preRaidQuests: IQuestStatus[], postRaidProfile: IPostRaidPmcData): void; /** * Take body part effects from client profile and apply to server profile * @param saveProgressRequest post-raid request @@ -86,13 +109,6 @@ export declare class InRaidHelper { * @param tradersClientProfile Client */ protected applyTraderStandingAdjustments(tradersServerProfile: Record, tradersClientProfile: Record): void; - /** - * Some maps have one-time-use keys (e.g. Labs - * Remove the relevant key from an inventory based on the post-raid request data passed in - * @param offraidData post-raid data - * @param sessionID Session id - */ - protected removeMapAccessKey(offraidData: ISaveProgressRequestData, sessionID: string): void; /** * Set the SPT inraid location Profile property to 'none' * @param sessionID Session id @@ -111,11 +127,11 @@ export declare class InRaidHelper { * Add new items found in raid to profile * Store insurance items in profile * @param sessionID Session id - * @param pmcData Profile to update + * @param serverProfile Profile to update * @param postRaidProfile Profile returned by client after a raid * @returns Updated profile */ - setInventory(sessionID: string, pmcData: IPmcData, postRaidProfile: IPmcData): IPmcData; + setInventory(sessionID: string, serverProfile: IPmcData, postRaidProfile: IPmcData): IPmcData; /** * Clear pmc inventory of all items except those that are exempt * Used post-raid to remove items after death diff --git a/types/helpers/InventoryHelper.d.ts b/types/helpers/InventoryHelper.d.ts index f71b361..0bf2925 100644 --- a/types/helpers/InventoryHelper.d.ts +++ b/types/helpers/InventoryHelper.d.ts @@ -1,28 +1,28 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Inventory } from "../models/eft/common/tables/IBotBase"; -import { Item } from "../models/eft/common/tables/IItem"; -import { AddItem, IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData"; -import { IAddItemTempObject } from "../models/eft/inventory/IAddItemTempObject"; -import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; -import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; -import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData"; -import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IInventoryConfig, RewardDetails } from "../models/spt/config/IInventoryConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { FenceService } from "../services/FenceService"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { ContainerHelper } from "./ContainerHelper"; -import { DialogueHelper } from "./DialogueHelper"; -import { ItemHelper } from "./ItemHelper"; -import { PaymentHelper } from "./PaymentHelper"; -import { ProfileHelper } from "./ProfileHelper"; -import { TraderAssortHelper } from "./TraderAssortHelper"; +import { ContainerHelper } from "@spt-aki/helpers/ContainerHelper"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TraderAssortHelper } from "@spt-aki/helpers/TraderAssortHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Inventory } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { AddItem, IAddItemRequestData } from "@spt-aki/models/eft/inventory/IAddItemRequestData"; +import { IAddItemTempObject } from "@spt-aki/models/eft/inventory/IAddItemTempObject"; +import { IInventoryMergeRequestData } from "@spt-aki/models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryMoveRequestData } from "@spt-aki/models/eft/inventory/IInventoryMoveRequestData"; +import { IInventoryRemoveRequestData } from "@spt-aki/models/eft/inventory/IInventoryRemoveRequestData"; +import { IInventorySplitRequestData } from "@spt-aki/models/eft/inventory/IInventorySplitRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IInventoryConfig, RewardDetails } from "@spt-aki/models/spt/config/IInventoryConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export interface OwnerInventoryItems { /** Inventory items from source */ from: Item[]; @@ -86,7 +86,6 @@ export declare class InventoryHelper { */ protected hydrateAmmoBoxWithAmmo(pmcData: IPmcData, itemToAdd: IAddItemTempObject, parentId: string, sessionID: string, output: IItemEventRouterResponse, foundInRaid: boolean): void; /** - * * @param assortItems Items to add to inventory * @param requestItem Details of purchased item to add to inventory * @param result Array split stacks are added to @@ -163,8 +162,8 @@ export declare class InventoryHelper { */ protected updateFastPanelBinding(pmcData: IPmcData, itemBeingMoved: Item): void; /** - * Internal helper function to handle cartridges in inventory if any of them exist. - */ + * Internal helper function to handle cartridges in inventory if any of them exist. + */ protected handleCartridges(items: Item[], body: IInventoryMoveRequestData): void; /** * Get details for how a random loot container should be handled, max rewards, possible reward tpls diff --git a/types/helpers/ItemHelper.d.ts b/types/helpers/ItemHelper.d.ts index f58ca4d..c7daa8c 100644 --- a/types/helpers/ItemHelper.d.ts +++ b/types/helpers/ItemHelper.d.ts @@ -1,20 +1,21 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { InsuredItem } from "../models/eft/common/tables/IBotBase"; -import { Item, Repairable } from "../models/eft/common/tables/IItem"; -import { IStaticAmmoDetails } from "../models/eft/common/tables/ILootBase"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { ItemBaseClassService } from "../services/ItemBaseClassService"; -import { LocaleService } from "../services/LocaleService"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { MathUtil } from "../utils/MathUtil"; -import { ObjectId } from "../utils/ObjectId"; -import { RandomUtil } from "../utils/RandomUtil"; -import { HandbookHelper } from "./HandbookHelper"; -declare class ItemHelper { +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { InsuredItem } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Item, Repairable } from "@spt-aki/models/eft/common/tables/IItem"; +import { IStaticAmmoDetails } from "@spt-aki/models/eft/common/tables/ILootBase"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemBaseClassService } from "@spt-aki/services/ItemBaseClassService"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { LocaleService } from "@spt-aki/services/LocaleService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { MathUtil } from "@spt-aki/utils/MathUtil"; +import { ObjectId } from "@spt-aki/utils/ObjectId"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +export declare class ItemHelper { protected logger: ILogger; protected hashUtil: HashUtil; protected jsonUtil: JsonUtil; @@ -24,10 +25,11 @@ declare class ItemHelper { protected databaseServer: DatabaseServer; protected handbookHelper: HandbookHelper; protected itemBaseClassService: ItemBaseClassService; + protected itemFilterService: ItemFilterService; protected localisationService: LocalisationService; protected localeService: LocaleService; protected readonly defaultInvalidBaseTypes: string[]; - constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, randomUtil: RandomUtil, objectId: ObjectId, mathUtil: MathUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemBaseClassService: ItemBaseClassService, localisationService: LocalisationService, localeService: LocaleService); + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, randomUtil: RandomUtil, objectId: ObjectId, mathUtil: MathUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemBaseClassService: ItemBaseClassService, itemFilterService: ItemFilterService, localisationService: LocalisationService, localeService: LocaleService); /** * Checks if an id is a valid item. Valid meaning that it's an item that be stored in stash * @param {string} tpl the template id / tpl @@ -225,6 +227,48 @@ declare class ItemHelper { * @returns true if item is flagged as quest item */ isQuestItem(tpl: string): boolean; + /** + * Checks to see if the item is *actually* moddable in-raid. Checks include the items existence in the database, the + * parent items existence in the database, the existence (and value) of the items RaidModdable property, and that + * the parents slot-required property exists, matches that of the item, and it's value. + * + * Note: this function does not preform any checks to see if the item and parent are *actually* related. + * + * @param item The item to be checked + * @param parent The parent of the item to be checked + * @returns True if the item is actually moddable, false if it is not, and null if the check cannot be performed. + */ + isRaidModdable(item: Item, parent: Item): boolean | null; + /** + * Retrieves the main parent item for a given attachment item. + * + * This method traverses up the hierarchy of items starting from a given `itemId`, until it finds the main parent + * item that is not an attached attachment itself. In other words, if you pass it an item id of a suppressor, it + * will traverse up the muzzle brake, barrel, upper receiver, and return the gun that the suppressor is ultimately + * attached to, even if that gun is located within multiple containers. + * + * It's important to note that traversal is expensive, so this method requires that you pass it a Map of the items + * to traverse, where the keys are the item IDs and the values are the corresponding Item objects. This alleviates + * some of the performance concerns, as it allows for quick lookups of items by ID. + * + * To generate the map: + * ``` + * const itemsMap = new Map(); + * items.forEach(item => itemsMap.set(item._id, item)); + * ``` + * + * @param itemId - The unique identifier of the item for which to find the main parent. + * @param itemsMap - A Map containing item IDs mapped to their corresponding Item objects for quick lookup. + * @returns The Item object representing the top-most parent of the given item, or `null` if no such parent exists. + */ + getAttachmentMainParent(itemId: string, itemsMap: Map): Item | null; + /** + * Determines if an item is an attachment that is currently attached to it's parent item. + * + * @param item The item to check. + * @returns true if the item is attached attachment, otherwise false. + */ + isAttachmentAttached(item: Item): boolean; /** * Get the inventory size of an item * @param items Item with children @@ -279,7 +323,7 @@ declare class ItemHelper { * Chose a randomly weighted cartridge that fits * @param caliber Desired caliber * @param staticAmmoDist Cartridges and thier weights - * @returns Tpl of cartrdige + * @returns Tpl of cartridge */ protected drawAmmoTpl(caliber: string, staticAmmoDist: Record): string; /** @@ -303,6 +347,7 @@ declare class ItemHelper { * @returns Name of item */ getItemName(itemTpl: string): string; + getItemTplsOfBaseType(desiredBaseType: string): string[]; } declare namespace ItemHelper { interface ItemSize { @@ -310,4 +355,4 @@ declare namespace ItemHelper { height: number; } } -export { ItemHelper }; +export {}; diff --git a/types/helpers/NotificationSendHelper.d.ts b/types/helpers/NotificationSendHelper.d.ts index d206a87..5f4a533 100644 --- a/types/helpers/NotificationSendHelper.d.ts +++ b/types/helpers/NotificationSendHelper.d.ts @@ -1,10 +1,10 @@ -import { INotification } from "../models/eft/notifier/INotifier"; -import { Dialogue, IUserDialogInfo } from "../models/eft/profile/IAkiProfile"; -import { MessageType } from "../models/enums/MessageType"; -import { SaveServer } from "../servers/SaveServer"; -import { WebSocketServer } from "../servers/WebSocketServer"; -import { NotificationService } from "../services/NotificationService"; -import { HashUtil } from "../utils/HashUtil"; +import { INotification } from "@spt-aki/models/eft/notifier/INotifier"; +import { Dialogue, IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { WebSocketServer } from "@spt-aki/servers/WebSocketServer"; +import { NotificationService } from "@spt-aki/services/NotificationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; export declare class NotificationSendHelper { protected webSocketServer: WebSocketServer; protected hashUtil: HashUtil; diff --git a/types/helpers/NotifierHelper.d.ts b/types/helpers/NotifierHelper.d.ts index d824fb2..9c27224 100644 --- a/types/helpers/NotifierHelper.d.ts +++ b/types/helpers/NotifierHelper.d.ts @@ -1,6 +1,6 @@ -import { INotification } from "../models/eft/notifier/INotifier"; -import { Message, MessageContentRagfair } from "../models/eft/profile/IAkiProfile"; -import { HttpServerHelper } from "./HttpServerHelper"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { INotification } from "@spt-aki/models/eft/notifier/INotifier"; +import { Message, MessageContentRagfair } from "@spt-aki/models/eft/profile/IAkiProfile"; export declare class NotifierHelper { protected httpServerHelper: HttpServerHelper; /** diff --git a/types/helpers/PaymentHelper.d.ts b/types/helpers/PaymentHelper.d.ts index 1534f4a..04d4163 100644 --- a/types/helpers/PaymentHelper.d.ts +++ b/types/helpers/PaymentHelper.d.ts @@ -1,5 +1,5 @@ -import { IInventoryConfig } from "../models/spt/config/IInventoryConfig"; -import { ConfigServer } from "../servers/ConfigServer"; +import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; export declare class PaymentHelper { protected configServer: ConfigServer; protected inventoryConfig: IInventoryConfig; @@ -11,9 +11,9 @@ export declare class PaymentHelper { */ isMoneyTpl(tpl: string): boolean; /** - * Gets currency TPL from TAG - * @param {string} currency - * @returns string - */ + * Gets currency TPL from TAG + * @param {string} currency + * @returns string + */ getCurrency(currency: string): string; } diff --git a/types/helpers/PresetHelper.d.ts b/types/helpers/PresetHelper.d.ts index e50cae8..6722c92 100644 --- a/types/helpers/PresetHelper.d.ts +++ b/types/helpers/PresetHelper.d.ts @@ -1,6 +1,6 @@ -import { IPreset } from "../models/eft/common/IGlobals"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { JsonUtil } from "../utils/JsonUtil"; +import { IPreset } from "@spt-aki/models/eft/common/IGlobals"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class PresetHelper { protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; diff --git a/types/helpers/ProbabilityHelper.d.ts b/types/helpers/ProbabilityHelper.d.ts index 7a0676c..8aceb67 100644 --- a/types/helpers/ProbabilityHelper.d.ts +++ b/types/helpers/ProbabilityHelper.d.ts @@ -1,5 +1,5 @@ -import { ILogger } from "../models/spt/utils/ILogger"; -import { RandomUtil } from "../utils/RandomUtil"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class ProbabilityHelper { protected logger: ILogger; protected randomUtil: RandomUtil; diff --git a/types/helpers/ProfileHelper.d.ts b/types/helpers/ProfileHelper.d.ts index 3c33ae7..938c796 100644 --- a/types/helpers/ProfileHelper.d.ts +++ b/types/helpers/ProfileHelper.d.ts @@ -1,15 +1,17 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { CounterKeyValue, Stats } from "../models/eft/common/tables/IBotBase"; -import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; -import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { ProfileSnapshotService } from "../services/ProfileSnapshotService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { Watermark } from "../utils/Watermark"; -import { ItemHelper } from "./ItemHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Common, CounterKeyValue, Stats } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { IValidateNicknameRequestData } from "@spt-aki/models/eft/profile/IValidateNicknameRequestData"; +import { SkillTypes } from "@spt-aki/models/enums/SkillTypes"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { ProfileSnapshotService } from "@spt-aki/services/ProfileSnapshotService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; +import { Watermark } from "@spt-aki/utils/Watermark"; export declare class ProfileHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; @@ -19,7 +21,8 @@ export declare class ProfileHelper { protected databaseServer: DatabaseServer; protected itemHelper: ItemHelper; protected profileSnapshotService: ProfileSnapshotService; - constructor(logger: ILogger, jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService); + protected localisationService: LocalisationService; + constructor(logger: ILogger, jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileSnapshotService: ProfileSnapshotService, localisationService: LocalisationService); /** * Remove/reset a completed quest condtion from players profile quest data * @param sessionID Session id @@ -101,4 +104,21 @@ export declare class ProfileHelper { * @param keyToIncrement Key */ incrementStatCounter(counters: CounterKeyValue[], keyToIncrement: string): void; + /** + * Check if player has a skill at elite level + * @param skillType Skill to check + * @param pmcProfile Profile to find skill in + * @returns True if player has skill at elite level + */ + hasEliteSkillLevel(skillType: SkillTypes, pmcProfile: IPmcData): boolean; + /** + * Add points to a specific skill in player profile + * @param skill Skill to add points to + * @param pointsToAdd Points to add + * @param pmcProfile Player profile with skill + * @param useSkillProgressRateMultipler Skills are multiplied by a value in globals, default is off to maintain compatibility with legacy code + * @returns + */ + addSkillPointsToPlayer(pmcProfile: IPmcData, skill: SkillTypes, pointsToAdd: number, useSkillProgressRateMultipler?: boolean): void; + getSkillFromProfile(pmcData: IPmcData, skill: SkillTypes): Common; } diff --git a/types/helpers/QuestConditionHelper.d.ts b/types/helpers/QuestConditionHelper.d.ts index a84bc81..1e4c5f7 100644 --- a/types/helpers/QuestConditionHelper.d.ts +++ b/types/helpers/QuestConditionHelper.d.ts @@ -1,4 +1,4 @@ -import { AvailableForConditions } from "../models/eft/common/tables/IQuest"; +import { AvailableForConditions } from "@spt-aki/models/eft/common/tables/IQuest"; export declare class QuestConditionHelper { getQuestConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; getLevelConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; diff --git a/types/helpers/QuestHelper.d.ts b/types/helpers/QuestHelper.d.ts index babdf1d..2b9a531 100644 --- a/types/helpers/QuestHelper.d.ts +++ b/types/helpers/QuestHelper.d.ts @@ -1,29 +1,29 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IQuestStatus } from "../models/eft/common/tables/IBotBase"; -import { Item } from "../models/eft/common/tables/IItem"; -import { AvailableForConditions, AvailableForProps, IQuest, Reward } from "../models/eft/common/tables/IQuest"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; -import { IFailQuestRequestData } from "../models/eft/quests/IFailQuestRequestData"; -import { QuestStatus } from "../models/enums/QuestStatus"; -import { IQuestConfig } from "../models/spt/config/IQuestConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocaleService } from "../services/LocaleService"; -import { LocalisationService } from "../services/LocalisationService"; -import { MailSendService } from "../services/MailSendService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { DialogueHelper } from "./DialogueHelper"; -import { ItemHelper } from "./ItemHelper"; -import { PaymentHelper } from "./PaymentHelper"; -import { ProfileHelper } from "./ProfileHelper"; -import { QuestConditionHelper } from "./QuestConditionHelper"; -import { RagfairServerHelper } from "./RagfairServerHelper"; -import { TraderHelper } from "./TraderHelper"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { QuestConditionHelper } from "@spt-aki/helpers/QuestConditionHelper"; +import { RagfairServerHelper } from "@spt-aki/helpers/RagfairServerHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Common, IQuestStatus } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { AvailableForConditions, AvailableForProps, IQuest, Reward } from "@spt-aki/models/eft/common/tables/IQuest"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAcceptQuestRequestData } from "@spt-aki/models/eft/quests/IAcceptQuestRequestData"; +import { IFailQuestRequestData } from "@spt-aki/models/eft/quests/IFailQuestRequestData"; +import { QuestStatus } from "@spt-aki/models/enums/QuestStatus"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocaleService } from "@spt-aki/services/LocaleService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class QuestHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; @@ -45,11 +45,11 @@ export declare class QuestHelper { protected questConfig: IQuestConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, databaseServer: DatabaseServer, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, mailSendService: MailSendService, configServer: ConfigServer); /** - * Get status of a quest in player profile by its id - * @param pmcData Profile to search - * @param questId Quest id to look up - * @returns QuestStatus enum - */ + * Get status of a quest in player profile by its id + * @param pmcData Profile to search + * @param questId Quest id to look up + * @returns QuestStatus enum + */ getQuestStatus(pmcData: IPmcData, questId: string): QuestStatus; /** * returns true is the level condition is satisfied @@ -66,14 +66,12 @@ export declare class QuestHelper { */ getDeltaQuests(before: IQuest[], after: IQuest[]): IQuest[]; /** - * Increase skill points of a skill on player profile - * Dupe of PlayerService.incrementSkillLevel() - * @param sessionID Session id - * @param pmcData Player profile - * @param skillName Name of skill to increase skill points of - * @param progressAmount Amount of skill points to add to skill + * Adjust skill experience for low skill levels, mimicing the official client + * @param profileSkill the skill experience is being added to + * @param progressAmount the amount of experience being added to the skill + * @returns the adjusted skill progress gain */ - rewardSkillPoints(sessionID: string, pmcData: IPmcData, skillName: string, progressAmount: number): void; + adjustSkillExpForLowLevels(profileSkill: Common, progressAmount: number): number; /** * Get quest name by quest id * @param questId id to get @@ -208,16 +206,23 @@ export declare class QuestHelper { * @param questId Id of the quest to alter the status of */ updateQuestState(pmcData: IPmcData, newQuestState: QuestStatus, questId: string): void; + /** + * Resets a quests values back to its chosen state + * @param pmcData Profile to update + * @param newQuestState New state the quest should be in + * @param questId Id of the quest to alter the status of + */ + resetQuestState(pmcData: IPmcData, newQuestState: QuestStatus, questId: string): void; /** * Give player quest rewards - Skills/exp/trader standing/items/assort unlocks - Returns reward items player earned - * @param pmcData Player profile + * @param profileData Player profile (scav or pmc) * @param questId questId of quest to get rewards for * @param state State of the quest to get rewards for * @param sessionId Session id * @param questResponse Response to send back to client * @returns Array of reward objects */ - applyQuestReward(pmcData: IPmcData, questId: string, state: QuestStatus, sessionId: string, questResponse: IItemEventRouterResponse): Reward[]; + applyQuestReward(profileData: IPmcData, questId: string, state: QuestStatus, sessionId: string, questResponse: IItemEventRouterResponse): Reward[]; /** * WIP - Find hideout craft id and add to unlockedProductionRecipe array in player profile * also update client response recipeUnlocked array with craft id @@ -247,4 +252,5 @@ export declare class QuestHelper { * @param statuses statuses quests should have */ addAllQuestsToProfile(pmcProfile: IPmcData, statuses: QuestStatus[]): void; + findAndRemoveQuestFromArrayIfExists(questId: string, quests: IQuestStatus[]): void; } diff --git a/types/helpers/RagfairHelper.d.ts b/types/helpers/RagfairHelper.d.ts index 2c8dbb5..55e6fe8 100644 --- a/types/helpers/RagfairHelper.d.ts +++ b/types/helpers/RagfairHelper.d.ts @@ -1,17 +1,16 @@ -import { Item } from "../models/eft/common/tables/IItem"; -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; -import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { RagfairLinkedItemService } from "../services/RagfairLinkedItemService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { HandbookHelper } from "./HandbookHelper"; -import { ItemHelper } from "./ItemHelper"; -import { TraderAssortHelper } from "./TraderAssortHelper"; -import { UtilityHelper } from "./UtilityHelper"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { TraderAssortHelper } from "@spt-aki/helpers/TraderAssortHelper"; +import { UtilityHelper } from "@spt-aki/helpers/UtilityHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader"; +import { ISearchRequestData } from "@spt-aki/models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { RagfairLinkedItemService } from "@spt-aki/services/RagfairLinkedItemService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class RagfairHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; @@ -25,19 +24,24 @@ export declare class RagfairHelper { protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, traderAssortHelper: TraderAssortHelper, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, ragfairLinkedItemService: RagfairLinkedItemService, utilityHelper: UtilityHelper, configServer: ConfigServer); /** - * Gets currency TAG from TPL - * @param {string} currency - * @returns string - */ + * Gets currency TAG from TPL + * @param {string} currency + * @returns string + */ getCurrencyTag(currency: string): string; - filterCategories(sessionID: string, info: ISearchRequestData): string[]; + filterCategories(sessionID: string, request: ISearchRequestData): string[]; getDisplayableAssorts(sessionID: string): Record; protected getCategoryList(handbookId: string): string[]; - countCategories(result: IGetOffersResult): void; /** * Merges Root Items * Ragfair allows abnormally large stacks. */ mergeStackable(items: Item[]): Item[]; + /** + * Return the symbol for a currency + * e.g. 5449016a4bdc2d6f028b456f return ₽ + * @param currencyTpl currency to get symbol for + * @returns symbol of currency + */ getCurrencySymbol(currencyTpl: string): string; } diff --git a/types/helpers/RagfairOfferHelper.d.ts b/types/helpers/RagfairOfferHelper.d.ts index 0699259..778d657 100644 --- a/types/helpers/RagfairOfferHelper.d.ts +++ b/types/helpers/RagfairOfferHelper.d.ts @@ -1,31 +1,31 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; -import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; -import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; -import { IQuestConfig } from "../models/spt/config/IQuestConfig"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { LocaleService } from "../services/LocaleService"; -import { LocalisationService } from "../services/LocalisationService"; -import { MailSendService } from "../services/MailSendService"; -import { RagfairOfferService } from "../services/RagfairOfferService"; -import { HashUtil } from "../utils/HashUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { ItemHelper } from "./ItemHelper"; -import { PaymentHelper } from "./PaymentHelper"; -import { PresetHelper } from "./PresetHelper"; -import { ProfileHelper } from "./ProfileHelper"; -import { RagfairHelper } from "./RagfairHelper"; -import { RagfairServerHelper } from "./RagfairServerHelper"; -import { RagfairSortHelper } from "./RagfairSortHelper"; -import { TraderHelper } from "./TraderHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { RagfairHelper } from "@spt-aki/helpers/RagfairHelper"; +import { RagfairServerHelper } from "@spt-aki/helpers/RagfairServerHelper"; +import { RagfairSortHelper } from "@spt-aki/helpers/RagfairSortHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { ISearchRequestData } from "@spt-aki/models/eft/ragfair/ISearchRequestData"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocaleService } from "@spt-aki/services/LocaleService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { RagfairOfferService } from "@spt-aki/services/RagfairOfferService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class RagfairOfferHelper { protected logger: ILogger; protected timeUtil: TimeUtil; @@ -150,6 +150,12 @@ export declare class RagfairOfferHelper { * @returns True = should be shown to player */ isDisplayableOffer(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record, offer: IRagfairOffer, pmcProfile: IPmcData): boolean; + /** + * Does the passed in item have a condition property + * @param item Item to check + * @returns True if has condition + */ + protected isConditionItem(item: Item): boolean; /** * Is items quality value within desired range * @param item Item to check quality of diff --git a/types/helpers/RagfairSellHelper.d.ts b/types/helpers/RagfairSellHelper.d.ts index 913b408..7a4de8a 100644 --- a/types/helpers/RagfairSellHelper.d.ts +++ b/types/helpers/RagfairSellHelper.d.ts @@ -1,16 +1,18 @@ -import { SellResult } from "../models/eft/ragfair/IRagfairOffer"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { SellResult } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class RagfairSellHelper { protected logger: ILogger; protected randomUtil: RandomUtil; protected timeUtil: TimeUtil; + protected databaseServer: DatabaseServer; protected configServer: ConfigServer; protected ragfairConfig: IRagfairConfig; - constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); + constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, configServer: ConfigServer); /** * Get the percent chance to sell an item based on its average listed price vs player chosen listing price * @param averageOfferPriceRub Price of average offer in roubles @@ -19,13 +21,6 @@ export declare class RagfairSellHelper { * @returns percent value */ calculateSellChance(averageOfferPriceRub: number, playerListedPriceRub: number, qualityMultiplier: number): number; - /** - * Get percent chance to sell an item when price is below items average listing price - * @param playerListedPriceRub Price player listed item for in roubles - * @param averageOfferPriceRub Price of average offer in roubles - * @returns percent value - */ - protected getSellMultiplierWhenPlayerPriceIsBelowAverageListingPrice(averageOfferPriceRub: number, playerListedPriceRub: number): number; /** * Get array of item count and sell time (empty array = no sell) * @param sellChancePercent chance item will sell diff --git a/types/helpers/RagfairServerHelper.d.ts b/types/helpers/RagfairServerHelper.d.ts index 3d73605..4d2d4c4 100644 --- a/types/helpers/RagfairServerHelper.d.ts +++ b/types/helpers/RagfairServerHelper.d.ts @@ -1,26 +1,28 @@ -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { MemberCategory } from "../models/enums/MemberCategory"; -import { IQuestConfig } from "../models/spt/config/IQuestConfig"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { ItemFilterService } from "../services/ItemFilterService"; -import { LocaleService } from "../services/LocaleService"; -import { MailSendService } from "../services/MailSendService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { DialogueHelper } from "./DialogueHelper"; -import { ItemHelper } from "./ItemHelper"; -import { ProfileHelper } from "./ProfileHelper"; -import { TraderHelper } from "./TraderHelper"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { MemberCategory } from "@spt-aki/models/enums/MemberCategory"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { LocaleService } from "@spt-aki/services/LocaleService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; /** * Helper class for common ragfair server actions */ export declare class RagfairServerHelper { + protected logger: ILogger; protected randomUtil: RandomUtil; protected hashUtil: HashUtil; protected timeUtil: TimeUtil; @@ -38,7 +40,7 @@ export declare class RagfairServerHelper { protected ragfairConfig: IRagfairConfig; protected questConfig: IQuestConfig; protected static goodsReturnedTemplate: string; - constructor(randomUtil: RandomUtil, hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, localeService: LocaleService, dialogueHelper: DialogueHelper, traderHelper: TraderHelper, jsonUtil: JsonUtil, mailSendService: MailSendService, itemFilterService: ItemFilterService, configServer: ConfigServer); + constructor(logger: ILogger, randomUtil: RandomUtil, hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, localeService: LocaleService, dialogueHelper: DialogueHelper, traderHelper: TraderHelper, jsonUtil: JsonUtil, mailSendService: MailSendService, itemFilterService: ItemFilterService, configServer: ConfigServer); /** * Is item valid / on blacklist / quest item * @param itemDetails @@ -76,14 +78,29 @@ export declare class RagfairServerHelper { */ getDynamicOfferCurrency(): string; getMemberType(userID: string): MemberCategory; + /** + * Get a player or traders nickname from their profile by their user id + * @param userID Sessionid/userid + * @returns Nickname of individual + */ getNickname(userID: string): string; - getPresetItems(item: any): Item[]; + /** + * Given a preset id from globals.json, return an array of items[] with unique ids + * @param item Preset item + * @returns Array of weapon and its children + */ + getPresetItems(item: Item): Item[]; + /** + * Possible bug, returns all items associated with an items tpl, could be multiple presets from globals.json + * @param item Preset item + * @returns + */ getPresetItemsByTpl(item: Item): Item[]; /** - * Generate new unique ids for the children while preserving hierarchy - * @param item base item - * @param preset + * Generate new unique ids for child items while preserving hierarchy + * @param rootItem Base/primary item of preset + * @param preset Primary item + children of primary item * @returns Item array with new IDs */ - reparentPresets(item: Item, preset: Item[]): Item[]; + reparentPresets(rootItem: Item, preset: Item[]): Item[]; } diff --git a/types/helpers/RagfairSortHelper.d.ts b/types/helpers/RagfairSortHelper.d.ts index 6a06528..5bd8f96 100644 --- a/types/helpers/RagfairSortHelper.d.ts +++ b/types/helpers/RagfairSortHelper.d.ts @@ -1,7 +1,7 @@ -import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; -import { RagfairSort } from "../models/enums/RagfairSort"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocaleService } from "../services/LocaleService"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { RagfairSort } from "@spt-aki/models/enums/RagfairSort"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocaleService } from "@spt-aki/services/LocaleService"; export declare class RagfairSortHelper { protected databaseServer: DatabaseServer; protected localeService: LocaleService; diff --git a/types/helpers/RepairHelper.d.ts b/types/helpers/RepairHelper.d.ts index 3ba54f6..9ef0eaa 100644 --- a/types/helpers/RepairHelper.d.ts +++ b/types/helpers/RepairHelper.d.ts @@ -1,11 +1,11 @@ -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem"; -import { IRepairConfig } from "../models/spt/config/IRepairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem, Props } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class RepairHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; @@ -25,12 +25,22 @@ export declare class RepairHelper { * @param applyMaxDurabilityDegradation should item have max durability reduced */ updateItemDurability(itemToRepair: Item, itemToRepairDetails: ITemplateItem, isArmor: boolean, amountToRepair: number, useRepairKit: boolean, traderQualityMultipler: number, applyMaxDurabilityDegradation?: boolean): void; - protected getRandomisedArmorRepairDegradationValue(armorMaterial: string, isRepairKit: boolean, armorMax: number, traderQualityMultipler: number): number; - protected getRandomisedWeaponRepairDegradationValue(itemProps: Props, isRepairKit: boolean, weaponMax: number, traderQualityMultipler: number): number; /** - * Is the supplied tpl a weapon - * @param tpl tplId to check is a weapon - * @returns true if tpl is a weapon + * Repairing armor reduces the total durability value slightly, get a randomised (to 2dp) amount based on armor material + * @param armorMaterial What material is the armor being repaired made of + * @param isRepairKit Was a repair kit used + * @param armorMax Max amount of durability item can have + * @param traderQualityMultipler Different traders produce different loss values + * @returns Amount to reduce max durability by */ - isWeaponTemplate(tpl: string): boolean; + protected getRandomisedArmorRepairDegradationValue(armorMaterial: string, isRepairKit: boolean, armorMax: number, traderQualityMultipler: number): number; + /** + * Repairing weapons reduces the total durability value slightly, get a randomised (to 2dp) amount + * @param itemProps Weapon properties + * @param isRepairKit Was a repair kit used + * @param weaponMax ax amount of durability item can have + * @param traderQualityMultipler Different traders produce different loss values + * @returns Amount to reduce max durability by + */ + protected getRandomisedWeaponRepairDegradationValue(itemProps: Props, isRepairKit: boolean, weaponMax: number, traderQualityMultipler: number): number; } diff --git a/types/helpers/RepeatableQuestHelper.d.ts b/types/helpers/RepeatableQuestHelper.d.ts new file mode 100644 index 0000000..6e0290d --- /dev/null +++ b/types/helpers/RepeatableQuestHelper.d.ts @@ -0,0 +1,20 @@ +import { IEliminationConfig, IQuestConfig, IRepeatableQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { MathUtil } from "@spt-aki/utils/MathUtil"; +import { ProbabilityObject, ProbabilityObjectArray } from "@spt-aki/utils/RandomUtil"; +export declare class RepeatableQuestHelper { + protected mathUtil: MathUtil; + protected jsonUtil: JsonUtil; + protected configServer: ConfigServer; + protected questConfig: IQuestConfig; + constructor(mathUtil: MathUtil, jsonUtil: JsonUtil, configServer: ConfigServer); + /** + * Get the relevant elimination config based on the current players PMC level + * @param pmcLevel Level of PMC character + * @param repeatableConfig Main repeatable config + * @returns IEliminationConfig + */ + getEliminationConfigByPmcLevel(pmcLevel: number, repeatableConfig: IRepeatableQuestConfig): IEliminationConfig; + probabilityObjectArray(configArrayInput: ProbabilityObject[]): ProbabilityObjectArray; +} diff --git a/types/helpers/SecureContainerHelper.d.ts b/types/helpers/SecureContainerHelper.d.ts index 9e2bc32..36b227c 100644 --- a/types/helpers/SecureContainerHelper.d.ts +++ b/types/helpers/SecureContainerHelper.d.ts @@ -1,5 +1,5 @@ -import { Item } from "../models/eft/common/tables/IItem"; -import { ItemHelper } from "./ItemHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; export interface OwnerInventoryItems { from: Item[]; to: Item[]; @@ -9,5 +9,10 @@ export interface OwnerInventoryItems { export declare class SecureContainerHelper { protected itemHelper: ItemHelper; constructor(itemHelper: ItemHelper); + /** + * Get an array of the item IDs (NOT tpls) inside a secure container + * @param items Inventory items to look for secure container in + * @returns Array of ids + */ getSecureContainerItems(items: Item[]): string[]; } diff --git a/types/helpers/TradeHelper.d.ts b/types/helpers/TradeHelper.d.ts index 28512f1..bf8360d 100644 --- a/types/helpers/TradeHelper.d.ts +++ b/types/helpers/TradeHelper.d.ts @@ -1,19 +1,19 @@ -import { InventoryHelper } from "../helpers/InventoryHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item, Upd } from "../models/eft/common/tables/IItem"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; -import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; -import { ITraderConfig } from "../models/spt/config/ITraderConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { RagfairServer } from "../servers/RagfairServer"; -import { FenceService } from "../services/FenceService"; -import { PaymentService } from "../services/PaymentService"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item, Upd } from "@spt-aki/models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBuyTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBuyTradeRequestData"; +import { IProcessSellTradeRequestData } from "@spt-aki/models/eft/trade/IProcessSellTradeRequestData"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { RagfairServer } from "@spt-aki/servers/RagfairServer"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { PaymentService } from "@spt-aki/services/PaymentService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class TradeHelper { protected logger: ILogger; protected eventOutputHolder: EventOutputHolder; @@ -53,5 +53,11 @@ export declare class TradeHelper { * @param itemsPurchasedCount number of items being bought */ protected incrementAssortBuyCount(assortBeingPurchased: Item, itemsPurchasedCount: number): void; + /** + * Traders allow a limited number of purchases per refresh cycle (default 60 mins) + * @param assortBeingPurchased the item from trader being bought + * @param assortId Id of assort being purchased + * @param count How many are being bought + */ protected checkPurchaseIsWithinTraderItemLimit(assortBeingPurchased: Item, assortId: string, count: number): void; } diff --git a/types/helpers/TraderAssortHelper.d.ts b/types/helpers/TraderAssortHelper.d.ts index a0294a1..0b6effb 100644 --- a/types/helpers/TraderAssortHelper.d.ts +++ b/types/helpers/TraderAssortHelper.d.ts @@ -1,22 +1,22 @@ -import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; -import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITrader, ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { ITraderConfig } from "../models/spt/config/ITraderConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { FenceService } from "../services/FenceService"; -import { LocalisationService } from "../services/LocalisationService"; -import { TraderAssortService } from "../services/TraderAssortService"; -import { TraderPurchasePersisterService } from "../services/TraderPurchasePersisterService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { MathUtil } from "../utils/MathUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { AssortHelper } from "./AssortHelper"; -import { PaymentHelper } from "./PaymentHelper"; -import { ProfileHelper } from "./ProfileHelper"; -import { TraderHelper } from "./TraderHelper"; +import { RagfairAssortGenerator } from "@spt-aki/generators/RagfairAssortGenerator"; +import { RagfairOfferGenerator } from "@spt-aki/generators/RagfairOfferGenerator"; +import { AssortHelper } from "@spt-aki/helpers/AssortHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITrader, ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { TraderAssortService } from "@spt-aki/services/TraderAssortService"; +import { TraderPurchasePersisterService } from "@spt-aki/services/TraderPurchasePersisterService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { MathUtil } from "@spt-aki/utils/MathUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class TraderAssortHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; @@ -44,6 +44,7 @@ export declare class TraderAssortHelper { * Filter out assorts not unlocked due to level OR quest completion * @param sessionId session id * @param traderId traders id + * @param flea Should assorts player hasn't unlocked be returned - default false * @returns a traders' assorts */ getAssort(sessionId: string, traderId: string, flea?: boolean): ITraderAssort; diff --git a/types/helpers/TraderHelper.d.ts b/types/helpers/TraderHelper.d.ts index 7eb4edf..8d8da00 100644 --- a/types/helpers/TraderHelper.d.ts +++ b/types/helpers/TraderHelper.d.ts @@ -1,21 +1,21 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ProfileTraderTemplate } from "../models/eft/common/tables/IProfileTemplate"; -import { ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; -import { Traders } from "../models/enums/Traders"; -import { ITraderConfig } from "../models/spt/config/ITraderConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { FenceService } from "../services/FenceService"; -import { LocalisationService } from "../services/LocalisationService"; -import { PlayerService } from "../services/PlayerService"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { HandbookHelper } from "./HandbookHelper"; -import { ItemHelper } from "./ItemHelper"; -import { ProfileHelper } from "./ProfileHelper"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ProfileTraderTemplate } from "@spt-aki/models/eft/common/tables/IProfileTemplate"; +import { ITraderAssort, ITraderBase, LoyaltyLevel } from "@spt-aki/models/eft/common/tables/ITrader"; +import { Traders } from "@spt-aki/models/enums/Traders"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { FenceService } from "@spt-aki/services/FenceService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { PlayerService } from "@spt-aki/services/PlayerService"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class TraderHelper { protected logger: ILogger; protected databaseServer: DatabaseServer; @@ -35,6 +35,13 @@ export declare class TraderHelper { /** Dictionary of item tpl and the highest trader buy back rouble price */ protected highestTraderBuyPriceItems: Record; constructor(logger: ILogger, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper, handbookHelper: HandbookHelper, itemHelper: ItemHelper, playerService: PlayerService, localisationService: LocalisationService, fenceService: FenceService, timeUtil: TimeUtil, randomUtil: RandomUtil, configServer: ConfigServer); + /** + * Get a trader base object, update profile to reflect players current standing in profile + * when trader not found in profile + * @param traderID Traders Id to get + * @param sessionID Players id + * @returns Trader base + */ getTrader(traderID: string, sessionID: string): ITraderBase; /** * Get all assort data for a particular trader @@ -56,6 +63,12 @@ export declare class TraderHelper { * @param traderID trader id to reset */ resetTrader(sessionID: string, traderID: string): void; + /** + * Get the starting standing of a trader based on the current profiles type (e.g. EoD, Standard etc) + * @param traderId Trader id to get standing for + * @param rawProfileTemplate Raw profile from profiles.json to look up standing from + * @returns Standing value + */ protected getStartingStanding(traderId: string, rawProfileTemplate: ProfileTraderTemplate): number; /** * Alter a traders unlocked status diff --git a/types/helpers/WeightedRandomHelper.d.ts b/types/helpers/WeightedRandomHelper.d.ts index 5fd9edc..ab42805 100644 --- a/types/helpers/WeightedRandomHelper.d.ts +++ b/types/helpers/WeightedRandomHelper.d.ts @@ -8,6 +8,11 @@ export declare class WeightedRandomHelper { getWeightedInventoryItem(itemArray: { [tplId: string]: unknown; } | ArrayLike): string; + /** + * Choos an item from the passed in array based on the weightings of each + * @param itemArray Items and weights to use + * @returns Chosen item from array + */ getWeightedValue(itemArray: { [key: string]: unknown; } | ArrayLike): T; @@ -25,7 +30,7 @@ export declare class WeightedRandomHelper { * @param {number[]} weights * @returns {{item: any, index: number}} */ - weightedRandom(items: string | any[], weights: string | any[]): { + weightedRandom(items: any[], weights: any[]): { item: any; index: number; }; diff --git a/types/ide/BleedingEdgeEntry.d.ts b/types/ide/BleedingEdgeEntry.d.ts index fded23a..62f714e 100644 --- a/types/ide/BleedingEdgeEntry.d.ts +++ b/types/ide/BleedingEdgeEntry.d.ts @@ -1 +1,2 @@ import "reflect-metadata"; +import "source-map-support/register"; diff --git a/types/ide/DebugEntry.d.ts b/types/ide/DebugEntry.d.ts index fded23a..62f714e 100644 --- a/types/ide/DebugEntry.d.ts +++ b/types/ide/DebugEntry.d.ts @@ -1 +1,2 @@ import "reflect-metadata"; +import "source-map-support/register"; diff --git a/types/ide/ReleaseEntry.d.ts b/types/ide/ReleaseEntry.d.ts index fded23a..62f714e 100644 --- a/types/ide/ReleaseEntry.d.ts +++ b/types/ide/ReleaseEntry.d.ts @@ -1 +1,2 @@ import "reflect-metadata"; +import "source-map-support/register"; diff --git a/types/ide/TestEntry.d.ts b/types/ide/TestEntry.d.ts index fded23a..62f714e 100644 --- a/types/ide/TestEntry.d.ts +++ b/types/ide/TestEntry.d.ts @@ -1 +1,2 @@ import "reflect-metadata"; +import "source-map-support/register"; diff --git a/types/loaders/BundleLoader.d.ts b/types/loaders/BundleLoader.d.ts index e043b39..8e24c5a 100644 --- a/types/loaders/BundleLoader.d.ts +++ b/types/loaders/BundleLoader.d.ts @@ -1,6 +1,6 @@ -import { HttpServerHelper } from "../helpers/HttpServerHelper"; -import { JsonUtil } from "../utils/JsonUtil"; -import { VFS } from "../utils/VFS"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { VFS } from "@spt-aki/utils/VFS"; declare class BundleInfo { modPath: string; key: string; diff --git a/types/loaders/ModLoadOrder.d.ts b/types/loaders/ModLoadOrder.d.ts new file mode 100644 index 0000000..2d03dc1 --- /dev/null +++ b/types/loaders/ModLoadOrder.d.ts @@ -0,0 +1,17 @@ +import { IPackageJsonData } from "@spt-aki/models/spt/mod/IPackageJsonData"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +export declare class ModLoadOrder { + protected logger: ILogger; + protected localisationService: LocalisationService; + protected mods: Map; + protected modsAvailable: Map; + protected loadOrder: Set; + constructor(logger: ILogger, localisationService: LocalisationService); + setModList(mods: Record): void; + getLoadOrder(): string[]; + getModsOnLoadBefore(mod: string): Set; + getModsOnLoadAfter(mod: string): Set; + protected invertLoadBefore(mod: string): void; + protected getLoadOrderRecursive(mod: string, visited: Set): void; +} diff --git a/types/loaders/ModTypeCheck.d.ts b/types/loaders/ModTypeCheck.d.ts index e907341..fb4912e 100644 --- a/types/loaders/ModTypeCheck.d.ts +++ b/types/loaders/ModTypeCheck.d.ts @@ -1,9 +1,9 @@ -import { IPostAkiLoadMod } from "../models/external/IPostAkiLoadMod"; -import { IPostAkiLoadModAsync } from "../models/external/IPostAkiLoadModAsync"; -import { IPostDBLoadMod } from "../models/external/IPostDBLoadMod"; -import { IPostDBLoadModAsync } from "../models/external/IPostDBLoadModAsync"; -import { IPreAkiLoadMod } from "../models/external/IPreAkiLoadMod"; -import { IPreAkiLoadModAsync } from "../models/external/IPreAkiLoadModAsync"; +import { IPostAkiLoadMod } from "@spt-aki/models/external/IPostAkiLoadMod"; +import { IPostAkiLoadModAsync } from "@spt-aki/models/external/IPostAkiLoadModAsync"; +import { IPostDBLoadMod } from "@spt-aki/models/external/IPostDBLoadMod"; +import { IPostDBLoadModAsync } from "@spt-aki/models/external/IPostDBLoadModAsync"; +import { IPreAkiLoadMod } from "@spt-aki/models/external/IPreAkiLoadMod"; +import { IPreAkiLoadModAsync } from "@spt-aki/models/external/IPreAkiLoadModAsync"; export declare class ModTypeCheck { /** * Use defined safe guard to check if the mod is a IPreAkiLoadMod diff --git a/types/loaders/PostAkiModLoader.d.ts b/types/loaders/PostAkiModLoader.d.ts index 848e9f3..bd0731a 100644 --- a/types/loaders/PostAkiModLoader.d.ts +++ b/types/loaders/PostAkiModLoader.d.ts @@ -1,11 +1,11 @@ import { DependencyContainer } from "tsyringe"; -import { IModLoader } from "../models/spt/mod/IModLoader"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "../services/LocalisationService"; -import { VFS } from "../utils/VFS"; -import { BundleLoader } from "./BundleLoader"; -import { ModTypeCheck } from "./ModTypeCheck"; -import { PreAkiModLoader } from "./PreAkiModLoader"; +import { BundleLoader } from "@spt-aki/loaders/BundleLoader"; +import { ModTypeCheck } from "@spt-aki/loaders/ModTypeCheck"; +import { PreAkiModLoader } from "@spt-aki/loaders/PreAkiModLoader"; +import { IModLoader } from "@spt-aki/models/spt/mod/IModLoader"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class PostAkiModLoader implements IModLoader { protected logger: ILogger; protected bundleLoader: BundleLoader; diff --git a/types/loaders/PostDBModLoader.d.ts b/types/loaders/PostDBModLoader.d.ts index eef160b..d57e321 100644 --- a/types/loaders/PostDBModLoader.d.ts +++ b/types/loaders/PostDBModLoader.d.ts @@ -1,9 +1,9 @@ import { DependencyContainer } from "tsyringe"; -import { OnLoad } from "../di/OnLoad"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "../services/LocalisationService"; -import { ModTypeCheck } from "./ModTypeCheck"; -import { PreAkiModLoader } from "./PreAkiModLoader"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { ModTypeCheck } from "@spt-aki/loaders/ModTypeCheck"; +import { PreAkiModLoader } from "@spt-aki/loaders/PreAkiModLoader"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; export declare class PostDBModLoader implements OnLoad { protected logger: ILogger; protected preAkiModLoader: PreAkiModLoader; diff --git a/types/loaders/PreAkiModLoader.d.ts b/types/loaders/PreAkiModLoader.d.ts index a1664e1..71fd745 100644 --- a/types/loaders/PreAkiModLoader.d.ts +++ b/types/loaders/PreAkiModLoader.d.ts @@ -1,15 +1,17 @@ import { DependencyContainer } from "tsyringe"; -import { ICoreConfig } from "../models/spt/config/ICoreConfig"; -import { IModLoader } from "../models/spt/mod/IModLoader"; -import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { ModCompilerService } from "../services/ModCompilerService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { VFS } from "../utils/VFS"; -import { BundleLoader } from "./BundleLoader"; -import { ModTypeCheck } from "./ModTypeCheck"; +import { BundleLoader } from "@spt-aki/loaders/BundleLoader"; +import { ModLoadOrder } from "@spt-aki/loaders/ModLoadOrder"; +import { ModTypeCheck } from "@spt-aki/loaders/ModTypeCheck"; +import { ModDetails } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig"; +import { IModLoader } from "@spt-aki/models/spt/mod/IModLoader"; +import { IPackageJsonData } from "@spt-aki/models/spt/mod/IPackageJsonData"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { ModCompilerService } from "@spt-aki/services/ModCompilerService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class PreAkiModLoader implements IModLoader { protected logger: ILogger; protected vfs: VFS; @@ -18,6 +20,7 @@ export declare class PreAkiModLoader implements IModLoader { protected bundleLoader: BundleLoader; protected localisationService: LocalisationService; protected configServer: ConfigServer; + protected modLoadOrder: ModLoadOrder; protected modTypeCheck: ModTypeCheck; protected static container: DependencyContainer; protected readonly basepath = "user/mods/"; @@ -26,8 +29,8 @@ export declare class PreAkiModLoader implements IModLoader { protected imported: Record; protected akiConfig: ICoreConfig; protected serverDependencies: Record; - protected skippedMods: string[]; - constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, bundleLoader: BundleLoader, localisationService: LocalisationService, configServer: ConfigServer, modTypeCheck: ModTypeCheck); + protected skippedMods: Set; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, bundleLoader: BundleLoader, localisationService: LocalisationService, configServer: ConfigServer, modLoadOrder: ModLoadOrder, modTypeCheck: ModTypeCheck); load(container: DependencyContainer): Promise; /** * Returns a list of mods with preserved load order @@ -35,46 +38,65 @@ export declare class PreAkiModLoader implements IModLoader { */ getImportedModsNames(): string[]; getImportedModDetails(): Record; + getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[]; getModPath(mod: string): string; - protected importMods(): Promise; + protected importModsAsync(): Promise; protected sortMods(prev: string, next: string, missingFromOrderJSON: Record): number; /** * Check for duplicate mods loaded, show error if any - * @param modPackageData Dictionary of mod package.json data + * @param modPackageData map of mod package.json data */ - protected checkForDuplicateMods(modPackageData: Record): void; + protected checkForDuplicateMods(modPackageData: Map): void; /** - * Check for and return duplicate strings inside an array - * @param stringArray Array to check for duplicates - * @returns string array of duplicates, empty if none found - */ - protected getDuplicates(stringArray: string[]): string[]; - /** - * Get an array of mods with errors that prevent them from working with SPT + * Returns an array of valid mods. + * * @param mods mods to validate - * @returns Mod names as array + * @returns array of mod folder names */ - protected getBrokenMods(mods: string[]): string[]; + protected getValidMods(mods: string[]): string[]; /** * Get packageJson data for mods * @param mods mods to get packageJson for - * @returns dictionary + * @returns map + */ + protected getModsPackageData(mods: string[]): Map; + /** + * Is the passed in mod compatible with the running server version + * @param mod Mod to check compatibiltiy with AKI + * @returns True if compatible */ - protected getModsPackageData(mods: string[]): Record; protected isModCombatibleWithAki(mod: IPackageJsonData): boolean; - protected executeMods(container: DependencyContainer): Promise; + /** + * Execute each mod found in this.imported + * @param container Dependence container to give to mod when it runs + * @returns void promise + */ + protected executeModsAsync(container: DependencyContainer): Promise; + /** + * Read loadorder.json (create if doesnt exist) and return sorted list of mods + * @returns string array of sorted mod names + */ sortModsLoadOrder(): string[]; - protected addMod(mod: string): Promise; + /** + * Compile mod and add into class property "imported" + * @param mod Name of mod to compile/add + */ + protected addModAsync(mod: string, pkg: IPackageJsonData): Promise; + /** + * Checks if a given mod should be loaded or skipped. + * + * @param pkg mod package.json data + * @returns + */ + protected shouldSkipMod(pkg: IPackageJsonData): boolean; protected autoInstallDependencies(modPath: string, pkg: IPackageJsonData): void; - protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Record): boolean; - protected isModCompatible(mod: IPackageJsonData, loadedMods: Record): boolean; + protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Map): boolean; + protected isModCompatible(mod: IPackageJsonData, loadedMods: Map): boolean; /** * Validate a mod passes a number of checks * @param modName name of mod in /mods/ to validate * @returns true if valid */ protected validMod(modName: string): boolean; - protected getLoadOrderRecursive(mod: string, result: Record, visited: Record): void; - protected getLoadOrder(mods: Record): Record; getContainer(): DependencyContainer; } diff --git a/types/models/eft/common/IGlobals.d.ts b/types/models/eft/common/IGlobals.d.ts index c774511..276514e 100644 --- a/types/models/eft/common/IGlobals.d.ts +++ b/types/models/eft/common/IGlobals.d.ts @@ -1,5 +1,5 @@ -import { Ixyz } from "./Ixyz"; -import { Item } from "./tables/IItem"; +import { Ixyz } from "@spt-aki/models/eft/common/Ixyz"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; export interface IGlobals { time: number; config: IConfig; diff --git a/types/models/eft/common/ILocation.d.ts b/types/models/eft/common/ILocation.d.ts index f26ade6..bba2db0 100644 --- a/types/models/eft/common/ILocation.d.ts +++ b/types/models/eft/common/ILocation.d.ts @@ -1,5 +1,5 @@ -import { ILocationBase } from "./ILocationBase"; -import { ILooseLoot } from "./ILooseLoot"; +import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; diff --git a/types/models/eft/common/ILocationBase.d.ts b/types/models/eft/common/ILocationBase.d.ts index 5f24907..1121e9f 100644 --- a/types/models/eft/common/ILocationBase.d.ts +++ b/types/models/eft/common/ILocationBase.d.ts @@ -1,5 +1,5 @@ -import { MinMax } from "../../../models/common/MinMax"; -import { Ixyz } from "./Ixyz"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { Ixyz } from "@spt-aki/models/eft/common/Ixyz"; export interface ILocationBase { AccessKeys: string[]; AirdropParameters: AirdropParameter[]; diff --git a/types/models/eft/common/ILocationsSourceDestinationBase.d.ts b/types/models/eft/common/ILocationsSourceDestinationBase.d.ts index 7f8d915..1e8d80c 100644 --- a/types/models/eft/common/ILocationsSourceDestinationBase.d.ts +++ b/types/models/eft/common/ILocationsSourceDestinationBase.d.ts @@ -1,4 +1,4 @@ -import { ILocations } from "../../spt/server/ILocations"; +import { ILocations } from "@spt-aki/models/spt/server/ILocations"; export interface ILocationsGenerateAllResponse { locations: ILocations; paths: Path[]; diff --git a/types/models/eft/common/ILooseLoot.d.ts b/types/models/eft/common/ILooseLoot.d.ts index 09696d4..0dce230 100644 --- a/types/models/eft/common/ILooseLoot.d.ts +++ b/types/models/eft/common/ILooseLoot.d.ts @@ -1,5 +1,5 @@ -import { Ixyz } from "./Ixyz"; -import { Item } from "./tables/IItem"; +import { Ixyz } from "@spt-aki/models/eft/common/Ixyz"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; export interface ILooseLoot { spawnpointCount: SpawnpointCount; spawnpointsForced: SpawnpointsForced[]; diff --git a/types/models/eft/common/IPmcData.d.ts b/types/models/eft/common/IPmcData.d.ts index 4e37b60..f834822 100644 --- a/types/models/eft/common/IPmcData.d.ts +++ b/types/models/eft/common/IPmcData.d.ts @@ -1,4 +1,4 @@ -import { IBotBase, IEftStats } from "./tables/IBotBase"; +import { IBotBase, IEftStats } from "@spt-aki/models/eft/common/tables/IBotBase"; export interface IPmcData extends IBotBase { } export interface IPostRaidPmcData extends IBotBase { diff --git a/types/models/eft/common/tables/IBotBase.d.ts b/types/models/eft/common/tables/IBotBase.d.ts index 6c7b76f..8ff3ba9 100644 --- a/types/models/eft/common/tables/IBotBase.d.ts +++ b/types/models/eft/common/tables/IBotBase.d.ts @@ -1,9 +1,9 @@ -import { HideoutAreas } from "../../../enums/HideoutAreas"; -import { MemberCategory } from "../../../enums/MemberCategory"; -import { QuestStatus } from "../../../enums/QuestStatus"; -import { IRagfairOffer } from "../../ragfair/IRagfairOffer"; -import { Item, Upd } from "./IItem"; -import { IPmcDataRepeatableQuest } from "./IRepeatableQuests"; +import { Item, Upd } from "@spt-aki/models/eft/common/tables/IItem"; +import { IPmcDataRepeatableQuest } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { HideoutAreas } from "@spt-aki/models/enums/HideoutAreas"; +import { MemberCategory } from "@spt-aki/models/enums/MemberCategory"; +import { QuestStatus } from "@spt-aki/models/enums/QuestStatus"; export interface IBotBase { _id: string; aid: number; @@ -28,7 +28,8 @@ export interface IBotBase { RepeatableQuests: IPmcDataRepeatableQuest[]; Bonuses: Bonus[]; Notes: Notes; - CarExtractCounts: CarExtractCounts; + CarExtractCounts: Record; + CoopExtractCounts: Record; SurvivorClass: SurvivorClass; WishList: string[]; /** SPT specific property used during bot generation in raid */ @@ -301,11 +302,15 @@ export interface Productive { ProductionTime?: number; GivenItemsInStart?: string[]; Interrupted?: boolean; - /** Used in hideout prodiction.json */ + /** Used in hideout production.json */ needFuelForAllProductionTime?: boolean; /** Used when sending data to client */ NeedFuelForAllProductionTime?: boolean; sptIsScavCase?: boolean; + /** Some crafts are always inProgress, but need to be reset, e.g. water collector */ + sptIsComplete?: boolean; + /** Is the craft a Continuous, e.g bitcoins/water collector */ + sptIsContinuous?: boolean; } export interface Production extends Productive { RecipeId: string; @@ -346,8 +351,6 @@ export interface LastCompleted { export interface Notes { Notes: Note[]; } -export interface CarExtractCounts { -} export declare enum SurvivorClass { UNKNOWN = 0, NEUTRALIZER = 1, @@ -360,7 +363,7 @@ export interface IQuestStatus { startTime: number; status: QuestStatus; statusTimers?: Record; - /** SPT specific property */ + /** Property does not exist in live profile data, but is used by ProfileChanges.questsStatus when sent to client*/ completedConditions?: string[]; availableAfter?: number; } @@ -372,14 +375,6 @@ export interface TraderInfo { unlocked: boolean; disabled: boolean; } -/** This object is sent to the client as part of traderRelations */ -export interface TraderData { - salesSum: number; - standing: number; - loyalty: number; - unlocked: boolean; - disabled: boolean; -} export interface RagfairInfo { rating: number; isRatingGrowing: boolean; diff --git a/types/models/eft/common/tables/IBotType.d.ts b/types/models/eft/common/tables/IBotType.d.ts index 7a9fbed..53a8021 100644 --- a/types/models/eft/common/tables/IBotType.d.ts +++ b/types/models/eft/common/tables/IBotType.d.ts @@ -1,5 +1,5 @@ -import { MinMax } from "../../../common/MinMax"; -import { Skills } from "./IBotBase"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { Skills } from "@spt-aki/models/eft/common/tables/IBotBase"; export interface IBotType { appearance: Appearance; chances: Chances; @@ -71,6 +71,7 @@ export interface ModsChances { mod_tactical_001: number; mod_tactical_002: number; mod_tactical_003: number; + mod_handguard: number; } export interface Difficulties { easy: Difficulty; diff --git a/types/models/eft/common/tables/ICustomizationItem.d.ts b/types/models/eft/common/tables/ICustomizationItem.d.ts index 98f2398..2bab177 100644 --- a/types/models/eft/common/tables/ICustomizationItem.d.ts +++ b/types/models/eft/common/tables/ICustomizationItem.d.ts @@ -1,4 +1,4 @@ -import { Ixyz } from "../Ixyz"; +import { Ixyz } from "@spt-aki/models/eft/common/Ixyz"; export interface ICustomizationItem { _id: string; _name: string; diff --git a/types/models/eft/common/tables/ILootBase.d.ts b/types/models/eft/common/tables/ILootBase.d.ts index 681c32f..0bbb91d 100644 --- a/types/models/eft/common/tables/ILootBase.d.ts +++ b/types/models/eft/common/tables/ILootBase.d.ts @@ -1,5 +1,5 @@ -import { Ixyz } from "../Ixyz"; -import { Item } from "./IItem"; +import { Ixyz } from "@spt-aki/models/eft/common/Ixyz"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; export interface ILootBase { staticAmmo: Record; staticContainers: Record; diff --git a/types/models/eft/common/tables/IProfileTemplate.d.ts b/types/models/eft/common/tables/IProfileTemplate.d.ts index 08280e2..35db121 100644 --- a/types/models/eft/common/tables/IProfileTemplate.d.ts +++ b/types/models/eft/common/tables/IProfileTemplate.d.ts @@ -1,12 +1,16 @@ -import { Dialogue, IUserBuilds } from "../../profile/IAkiProfile"; -import { IPmcData } from "../IPmcData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Dialogue, IUserBuilds } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IProfileTemplates { Standard: IProfileSides; "Left Behind": IProfileSides; "Prepare To Escape": IProfileSides; "Edge Of Darkness": IProfileSides; + "SPT Developer": IProfileSides; + "SPT Easy start": IProfileSides; + "SPT Zero to hero": IProfileSides; } export interface IProfileSides { + descriptionLocaleKey: string; usec: TemplateSide; bear: TemplateSide; } diff --git a/types/models/eft/common/tables/IQuest.d.ts b/types/models/eft/common/tables/IQuest.d.ts index 300a027..edd9849 100644 --- a/types/models/eft/common/tables/IQuest.d.ts +++ b/types/models/eft/common/tables/IQuest.d.ts @@ -1,7 +1,7 @@ -import { QuestRewardType } from "../../../enums/QuestRewardType"; -import { QuestStatus } from "../../../enums/QuestStatus"; -import { QuestTypeEnum } from "../../../enums/QuestTypeEnum"; -import { Item } from "./IItem"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { QuestRewardType } from "@spt-aki/models/enums/QuestRewardType"; +import { QuestStatus } from "@spt-aki/models/enums/QuestStatus"; +import { QuestTypeEnum } from "@spt-aki/models/enums/QuestTypeEnum"; export interface IQuest { /** SPT addition - human readable quest name */ QuestName?: string; diff --git a/types/models/eft/common/tables/IRepeatableQuests.d.ts b/types/models/eft/common/tables/IRepeatableQuests.d.ts index 3a33f2e..8101c51 100644 --- a/types/models/eft/common/tables/IRepeatableQuests.d.ts +++ b/types/models/eft/common/tables/IRepeatableQuests.d.ts @@ -1,4 +1,4 @@ -import { Item } from "./IItem"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; export interface IReward { index: number; type: string; @@ -35,9 +35,9 @@ export interface IChangeCost { count: number; } export interface IRepeatableQuest { - _id: any; + _id: string; traderId: string; - location: any; + location: string; image: string; type: string; isKey: boolean; @@ -48,6 +48,7 @@ export interface IRepeatableQuest { rewards: IRewards; conditions: IConditions; side: string; + questStatus: any; name: string; note: string; description: string; @@ -55,9 +56,13 @@ export interface IRepeatableQuest { failMessageText: string; startedMessageText: string; changeQuestMessageText: string; + acceptPlayerMessage: string; + declinePlayerMessage: string; + completePlayerMessage: string; templateId: string; changeCost: IChangeCost[]; changeStandingCost: number; + sptRepatableGroupName?: string; } export interface IRewards { Started: IReward[]; @@ -93,7 +98,7 @@ export interface IAvailableForPropsCounter extends IAvailableForProps { type: string; oneSessionOnly: boolean; doNotResetIfCounterCompleted: boolean; - counter: ICounter; + counter?: ICounter; } export interface ICounter { id: string; @@ -143,6 +148,25 @@ export interface IExplorationCounter extends ICounter { export interface IExplorationCondition extends ICondition { _props: ILocationConditionProps | IExitStatusConditionProps | IExitNameConditionProps; } +export interface IPickup extends IRepeatableQuest { + conditions: IPickupConditions; +} +export interface IPickupConditions extends IConditions { + AvailableForFinish: IPickupAvailableFor[]; +} +export interface IPickupAvailableFor extends IAvailableFor { + _props: IPickupAvailableForProps; +} +export interface IPickupAvailableForProps extends IAvailableForPropsCounter { + target: string[]; + counter?: IPickupCounter; +} +export interface IPickupCounter extends ICounter { + conditions: IPickupCondition[]; +} +export interface IPickupCondition extends ICondition { + _props: IEquipmentConditionProps | ILocationConditionProps | IExitStatusConditionProps; +} export interface ICompletion extends IRepeatableQuest { conditions: ICompletionConditions; } @@ -161,6 +185,12 @@ export interface ICompletionAvailableForProps extends IAvailableForProps { } export interface ILocationConditionProps extends IConditionProps { target: string[]; + weapon?: string[]; + weaponCategories?: string[]; +} +export interface IEquipmentConditionProps extends IConditionProps { + equipmentInclusive: [string[]]; + IncludeNotEquippedItems: boolean; } export interface IKillConditionProps extends IConditionProps { target: string; @@ -168,6 +198,8 @@ export interface IKillConditionProps extends IConditionProps { savageRole?: string[]; bodyPart?: string[]; distance?: IDistanceCheck; + weapon?: string[]; + weaponCategories?: string[]; } export interface IDistanceCheck { compareMethod: string; diff --git a/types/models/eft/common/tables/ITemplateItem.d.ts b/types/models/eft/common/tables/ITemplateItem.d.ts index 147847b..c17c7a0 100644 --- a/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/types/models/eft/common/tables/ITemplateItem.d.ts @@ -1,4 +1,4 @@ -import { Ixyz } from "../Ixyz"; +import { Ixyz } from "@spt-aki/models/eft/common/Ixyz"; export interface ITemplateItem { _id: string; _name: string; diff --git a/types/models/eft/common/tables/ITrader.d.ts b/types/models/eft/common/tables/ITrader.d.ts index 10c32f1..83353de 100644 --- a/types/models/eft/common/tables/ITrader.d.ts +++ b/types/models/eft/common/tables/ITrader.d.ts @@ -1,4 +1,4 @@ -import { Item } from "./IItem"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; export interface ITrader { assort: ITraderAssort; base: ITraderBase; diff --git a/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts b/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts index 076d414..2ddcf83 100644 --- a/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts +++ b/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts @@ -1,4 +1,4 @@ -import { Message } from "../profile/IAkiProfile"; +import { Message } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IGetAllAttachmentsResponse { messages: Message[]; profiles: any[]; diff --git a/types/models/eft/dialog/IGetFriendListDataResponse.d.ts b/types/models/eft/dialog/IGetFriendListDataResponse.d.ts index c558a41..271be79 100644 --- a/types/models/eft/dialog/IGetFriendListDataResponse.d.ts +++ b/types/models/eft/dialog/IGetFriendListDataResponse.d.ts @@ -1,4 +1,4 @@ -import { IUserDialogInfo } from "../profile/IAkiProfile"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IGetFriendListDataResponse { Friends: IUserDialogInfo[]; Ignore: string[]; diff --git a/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts b/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts index 43d416e..3a2e349 100644 --- a/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts +++ b/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts @@ -1,4 +1,4 @@ -import { MessageType } from "../../enums/MessageType"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; export interface IGetMailDialogViewRequestData { type: MessageType; dialogId: string; diff --git a/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts b/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts index b469dee..091c128 100644 --- a/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts +++ b/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts @@ -1,4 +1,4 @@ -import { IUserDialogInfo, Message } from "../profile/IAkiProfile"; +import { IUserDialogInfo, Message } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IGetMailDialogViewResponseData { messages: Message[]; profiles: IUserDialogInfo[]; diff --git a/types/models/eft/dialog/ISendMessageRequest.d.ts b/types/models/eft/dialog/ISendMessageRequest.d.ts index dd79deb..5a755c0 100644 --- a/types/models/eft/dialog/ISendMessageRequest.d.ts +++ b/types/models/eft/dialog/ISendMessageRequest.d.ts @@ -1,4 +1,4 @@ -import { MessageType } from "../../enums/MessageType"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; export interface ISendMessageRequest { dialogId: string; type: MessageType; diff --git a/types/models/eft/game/ICurrentGroupResponse.d.ts b/types/models/eft/game/ICurrentGroupResponse.d.ts index 1f496fa..85c005b 100644 --- a/types/models/eft/game/ICurrentGroupResponse.d.ts +++ b/types/models/eft/game/ICurrentGroupResponse.d.ts @@ -1,6 +1,6 @@ -import { MemberCategory } from "../../../models/enums/MemberCategory"; +import { MemberCategory } from "@spt-aki/models/enums/MemberCategory"; export interface ICurrentGroupResponse { - squad: any[]; + squad: ICurrentGroupSquadMember[]; } export interface ICurrentGroupSquadMember { _id: string; diff --git a/types/models/eft/game/IGetRaidTimeRequest.d.ts b/types/models/eft/game/IGetRaidTimeRequest.d.ts new file mode 100644 index 0000000..b93fb0c --- /dev/null +++ b/types/models/eft/game/IGetRaidTimeRequest.d.ts @@ -0,0 +1,4 @@ +export interface IGetRaidTimeRequest { + Side: string; + Location: string; +} diff --git a/types/models/eft/game/IGetRaidTimeResponse.d.ts b/types/models/eft/game/IGetRaidTimeResponse.d.ts new file mode 100644 index 0000000..4dcf0a0 --- /dev/null +++ b/types/models/eft/game/IGetRaidTimeResponse.d.ts @@ -0,0 +1,12 @@ +export interface IGetRaidTimeResponse { + RaidTimeMinutes: number; + NewSurviveTimeSeconds: number; + OriginalSurvivalTimeSeconds: number; + ExitChanges: ExtractChange[]; +} +export interface ExtractChange { + Name: string; + MinTime?: number; + MaxTime?: number; + Chance?: number; +} diff --git a/types/models/eft/health/IOffraidEatRequestData.d.ts b/types/models/eft/health/IOffraidEatRequestData.d.ts index 8e2b6c3..0629f8b 100644 --- a/types/models/eft/health/IOffraidEatRequestData.d.ts +++ b/types/models/eft/health/IOffraidEatRequestData.d.ts @@ -1,4 +1,4 @@ -import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData"; export interface IOffraidEatRequestData extends IBaseInteractionRequestData { Action: "Eat"; item: string; diff --git a/types/models/eft/health/IOffraidHealRequestData.d.ts b/types/models/eft/health/IOffraidHealRequestData.d.ts index 26b02bd..47b7929 100644 --- a/types/models/eft/health/IOffraidHealRequestData.d.ts +++ b/types/models/eft/health/IOffraidHealRequestData.d.ts @@ -1,4 +1,4 @@ -import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData"; export interface IOffraidHealRequestData extends IBaseInteractionRequestData { Action: "Heal"; item: string; diff --git a/types/models/eft/hideout/IHideoutCancelProductionRequestData.d.ts b/types/models/eft/hideout/IHideoutCancelProductionRequestData.d.ts new file mode 100644 index 0000000..4946cc6 --- /dev/null +++ b/types/models/eft/hideout/IHideoutCancelProductionRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IHideoutCancelProductionRequestData { + Action: "HideoutCancelProductionCommand"; + recipeId: string; + timestamp: number; +} diff --git a/types/models/eft/hideout/IHideoutScavCase.d.ts b/types/models/eft/hideout/IHideoutScavCase.d.ts index e0b9a27..5c8b983 100644 --- a/types/models/eft/hideout/IHideoutScavCase.d.ts +++ b/types/models/eft/hideout/IHideoutScavCase.d.ts @@ -1,4 +1,4 @@ -import { MinMax } from "../../common/MinMax"; +import { MinMax } from "@spt-aki/models/common/MinMax"; export interface IHideoutScavCase { _id: string; ProductionTime: number; diff --git a/types/models/eft/inRaid/ISaveProgressRequestData.d.ts b/types/models/eft/inRaid/ISaveProgressRequestData.d.ts index 3fdc994..c658257 100644 --- a/types/models/eft/inRaid/ISaveProgressRequestData.d.ts +++ b/types/models/eft/inRaid/ISaveProgressRequestData.d.ts @@ -1,7 +1,7 @@ -import { PlayerRaidEndState } from "../../../models/enums/PlayerRaidEndState"; -import { IPostRaidPmcData } from "../common/IPmcData"; -import { ISyncHealthRequestData } from "../health/ISyncHealthRequestData"; -import { IInsuredItemsData } from "./IInsuredItemsData"; +import { IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ISyncHealthRequestData } from "@spt-aki/models/eft/health/ISyncHealthRequestData"; +import { IInsuredItemsData } from "@spt-aki/models/eft/inRaid/IInsuredItemsData"; +import { PlayerRaidEndState } from "@spt-aki/models/enums/PlayerRaidEndState"; export interface ISaveProgressRequestData { exit: PlayerRaidEndState; profile: IPostRaidPmcData; diff --git a/types/models/eft/insurance/IInsureRequestData.d.ts b/types/models/eft/insurance/IInsureRequestData.d.ts index f657bb7..f739ced 100644 --- a/types/models/eft/insurance/IInsureRequestData.d.ts +++ b/types/models/eft/insurance/IInsureRequestData.d.ts @@ -1,4 +1,4 @@ -import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData"; export interface IInsureRequestData extends IBaseInteractionRequestData { Action: "Insure"; tid: string; diff --git a/types/models/eft/inventory/IAddItemTempObject.d.ts b/types/models/eft/inventory/IAddItemTempObject.d.ts index 12535ed..c818be6 100644 --- a/types/models/eft/inventory/IAddItemTempObject.d.ts +++ b/types/models/eft/inventory/IAddItemTempObject.d.ts @@ -1,4 +1,4 @@ -import { Item, Location } from "../common/tables/IItem"; +import { Item, Location } from "@spt-aki/models/eft/common/tables/IItem"; export interface IAddItemTempObject { itemRef: Item; count: number; diff --git a/types/models/eft/inventory/IInventoryAddRequestData.d.ts b/types/models/eft/inventory/IInventoryAddRequestData.d.ts index 462e0de..2b90edb 100644 --- a/types/models/eft/inventory/IInventoryAddRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryAddRequestData.d.ts @@ -1,4 +1,4 @@ -import { Container, IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { Container, IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryAddRequestData extends IInventoryBaseActionRequestData { Action: "Add"; item: string; diff --git a/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts b/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts index 6d8a172..7e67a56 100644 --- a/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts @@ -1,4 +1,4 @@ -import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData"; export interface IInventoryBaseActionRequestData extends IBaseInteractionRequestData { } export interface To { diff --git a/types/models/eft/inventory/IInventoryBindRequestData.d.ts b/types/models/eft/inventory/IInventoryBindRequestData.d.ts index ff35066..efa1a43 100644 --- a/types/models/eft/inventory/IInventoryBindRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryBindRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryBindRequestData extends IInventoryBaseActionRequestData { Action: "Bind"; item: string; diff --git a/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts b/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts index 1e1ecef..805b385 100644 --- a/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryCreateMarkerRequestData extends IInventoryBaseActionRequestData { Action: "CreateMapMarker"; item: string; diff --git a/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts b/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts index 0657e1b..e85f094 100644 --- a/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryDeleteMarkerRequestData extends IInventoryBaseActionRequestData { Action: "DeleteMapMarker"; item: string; diff --git a/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts b/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts index e2857e1..d8080f5 100644 --- a/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryEditMarkerRequestData extends IInventoryBaseActionRequestData { Action: "EditMapMarker"; item: string; diff --git a/types/models/eft/inventory/IInventoryExamineRequestData.d.ts b/types/models/eft/inventory/IInventoryExamineRequestData.d.ts index 0d5f2db..07b0c03 100644 --- a/types/models/eft/inventory/IInventoryExamineRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryExamineRequestData.d.ts @@ -1,5 +1,5 @@ -import { OwnerInfo } from "../common/request/IBaseInteractionRequestData"; -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { OwnerInfo } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryExamineRequestData extends IInventoryBaseActionRequestData { Action: "Examine"; item: string; diff --git a/types/models/eft/inventory/IInventoryFoldRequestData.d.ts b/types/models/eft/inventory/IInventoryFoldRequestData.d.ts index a5fb2a1..7623a90 100644 --- a/types/models/eft/inventory/IInventoryFoldRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryFoldRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryFoldRequestData extends IInventoryBaseActionRequestData { Action: "Fold"; item: string; diff --git a/types/models/eft/inventory/IInventoryMergeRequestData.d.ts b/types/models/eft/inventory/IInventoryMergeRequestData.d.ts index 3fcfa35..af4e722 100644 --- a/types/models/eft/inventory/IInventoryMergeRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryMergeRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryMergeRequestData extends IInventoryBaseActionRequestData { Action: "Merge"; item: string; diff --git a/types/models/eft/inventory/IInventoryMoveRequestData.d.ts b/types/models/eft/inventory/IInventoryMoveRequestData.d.ts index b767908..9038510 100644 --- a/types/models/eft/inventory/IInventoryMoveRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryMoveRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData, To } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData, To } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryMoveRequestData extends IInventoryBaseActionRequestData { Action: "Move"; item: string; diff --git a/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts b/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts index 5487b20..6432159 100644 --- a/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryReadEncyclopediaRequestData extends IInventoryBaseActionRequestData { Action: "ReadEncyclopedia"; ids: string[]; diff --git a/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts b/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts index 07d1a52..eda96e6 100644 --- a/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryRemoveRequestData extends IInventoryBaseActionRequestData { Action: "Remove"; item: string; diff --git a/types/models/eft/inventory/IInventorySortRequestData.d.ts b/types/models/eft/inventory/IInventorySortRequestData.d.ts index a0b7928..b34bb25 100644 --- a/types/models/eft/inventory/IInventorySortRequestData.d.ts +++ b/types/models/eft/inventory/IInventorySortRequestData.d.ts @@ -1,5 +1,5 @@ -import { Upd } from "../common/tables/IItem"; -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { Upd } from "@spt-aki/models/eft/common/tables/IItem"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventorySortRequestData extends IInventoryBaseActionRequestData { Action: "ApplyInventoryChanges"; changedItems: ChangedItem[]; diff --git a/types/models/eft/inventory/IInventorySplitRequestData.d.ts b/types/models/eft/inventory/IInventorySplitRequestData.d.ts index 1ba0065..4d29084 100644 --- a/types/models/eft/inventory/IInventorySplitRequestData.d.ts +++ b/types/models/eft/inventory/IInventorySplitRequestData.d.ts @@ -1,4 +1,4 @@ -import { Container, IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { Container, IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventorySplitRequestData extends IInventoryBaseActionRequestData { Action: "Split"; /** Id of item to split */ diff --git a/types/models/eft/inventory/IInventorySwapRequestData.d.ts b/types/models/eft/inventory/IInventorySwapRequestData.d.ts index 1b0464d..b32a1f7 100644 --- a/types/models/eft/inventory/IInventorySwapRequestData.d.ts +++ b/types/models/eft/inventory/IInventorySwapRequestData.d.ts @@ -1,5 +1,5 @@ -import { OwnerInfo } from "../common/request/IBaseInteractionRequestData"; -import { IInventoryBaseActionRequestData, To } from "./IInventoryBaseActionRequestData"; +import { OwnerInfo } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData"; +import { IInventoryBaseActionRequestData, To } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventorySwapRequestData extends IInventoryBaseActionRequestData { Action: "Swap"; item: string; diff --git a/types/models/eft/inventory/IInventoryTagRequestData.d.ts b/types/models/eft/inventory/IInventoryTagRequestData.d.ts index f021661..5d88eaf 100644 --- a/types/models/eft/inventory/IInventoryTagRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryTagRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryTagRequestData extends IInventoryBaseActionRequestData { Action: "Tag"; item: string; diff --git a/types/models/eft/inventory/IInventoryToggleRequestData.d.ts b/types/models/eft/inventory/IInventoryToggleRequestData.d.ts index 0955440..138d987 100644 --- a/types/models/eft/inventory/IInventoryToggleRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryToggleRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryToggleRequestData extends IInventoryBaseActionRequestData { Action: "Toggle"; item: string; diff --git a/types/models/eft/inventory/IInventoryTransferRequestData.d.ts b/types/models/eft/inventory/IInventoryTransferRequestData.d.ts index cf4391b..e98cae6 100644 --- a/types/models/eft/inventory/IInventoryTransferRequestData.d.ts +++ b/types/models/eft/inventory/IInventoryTransferRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IInventoryTransferRequestData extends IInventoryBaseActionRequestData { Action: "Transfer"; item: string; diff --git a/types/models/eft/inventory/IOpenRandomLootContainerRequestData.d.ts b/types/models/eft/inventory/IOpenRandomLootContainerRequestData.d.ts index 3c45124..49a6792 100644 --- a/types/models/eft/inventory/IOpenRandomLootContainerRequestData.d.ts +++ b/types/models/eft/inventory/IOpenRandomLootContainerRequestData.d.ts @@ -1,4 +1,4 @@ -import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +import { IInventoryBaseActionRequestData } from "@spt-aki/models/eft/inventory/IInventoryBaseActionRequestData"; export interface IOpenRandomLootContainerRequestData extends IInventoryBaseActionRequestData { Action: "OpenRandomLootContainer"; /** Container item opened */ diff --git a/types/models/eft/inventory/IRedeemProfileRequestData.d.ts b/types/models/eft/inventory/IRedeemProfileRequestData.d.ts new file mode 100644 index 0000000..d351a8c --- /dev/null +++ b/types/models/eft/inventory/IRedeemProfileRequestData.d.ts @@ -0,0 +1,9 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IRedeemProfileRequestData extends IInventoryBaseActionRequestData { + Action: "RedeemProfileReward"; + events: IRedeemProfileRequestEvent[]; +} +export interface IRedeemProfileRequestEvent { + MessageId: string; + EventId: string; +} diff --git a/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts b/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts index 689fe75..f81bd59 100644 --- a/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts +++ b/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts @@ -1,4 +1,4 @@ -import { IItemEventRouterBase } from "./IItemEventRouterBase"; +import { IItemEventRouterBase } from "@spt-aki/models/eft/itemEvent/IItemEventRouterBase"; export interface IEmptyItemEventRouterResponse extends IItemEventRouterBase { profileChanges: ""; } diff --git a/types/models/eft/itemEvent/IItemEventRouterBase.d.ts b/types/models/eft/itemEvent/IItemEventRouterBase.d.ts index 8591294..a1babfd 100644 --- a/types/models/eft/itemEvent/IItemEventRouterBase.d.ts +++ b/types/models/eft/itemEvent/IItemEventRouterBase.d.ts @@ -1,9 +1,9 @@ -import { EquipmentBuildType } from "../../../models/enums/EquipmentBuildType"; -import { Health, IQuestStatus, Productive, Skills, TraderData } from "../common/tables/IBotBase"; -import { Item, Upd } from "../common/tables/IItem"; -import { IQuest } from "../common/tables/IQuest"; -import { IPmcDataRepeatableQuest } from "../common/tables/IRepeatableQuests"; -import { IRagfairOffer } from "../ragfair/IRagfairOffer"; +import { Health, IQuestStatus, Productive, Skills } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Item, Upd } from "@spt-aki/models/eft/common/tables/IItem"; +import { IQuest } from "@spt-aki/models/eft/common/tables/IQuest"; +import { IPmcDataRepeatableQuest } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { EquipmentBuildType } from "@spt-aki/models/enums/EquipmentBuildType"; export interface IItemEventRouterBase { warnings: Warning[]; profileChanges: TProfileChanges | ""; @@ -62,6 +62,14 @@ export interface Improvement { completed: boolean; improveCompleteTimestamp: number; } +/** Related to TraderInfo */ +export interface TraderData { + salesSum: number; + standing: number; + loyalty: number; + unlocked: boolean; + disabled: boolean; +} export interface Product { _id: string; _tpl?: string; diff --git a/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts b/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts index 72a9b5b..c5459ff 100644 --- a/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts +++ b/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts @@ -1,3 +1,3 @@ -import { IItemEventRouterBase } from "./IItemEventRouterBase"; +import { IItemEventRouterBase } from "@spt-aki/models/eft/itemEvent/IItemEventRouterBase"; export interface IItemEventRouterResponse extends IItemEventRouterBase { } diff --git a/types/models/eft/launcher/IChangeRequestData.d.ts b/types/models/eft/launcher/IChangeRequestData.d.ts index f0a7838..b1b3e94 100644 --- a/types/models/eft/launcher/IChangeRequestData.d.ts +++ b/types/models/eft/launcher/IChangeRequestData.d.ts @@ -1,4 +1,4 @@ -import { ILoginRequestData } from "./ILoginRequestData"; +import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestData"; export interface IChangeRequestData extends ILoginRequestData { change: string; } diff --git a/types/models/eft/launcher/IRegisterData.d.ts b/types/models/eft/launcher/IRegisterData.d.ts index 61a8bbe..b69d9ed 100644 --- a/types/models/eft/launcher/IRegisterData.d.ts +++ b/types/models/eft/launcher/IRegisterData.d.ts @@ -1,4 +1,4 @@ -import { ILoginRequestData } from "./ILoginRequestData"; +import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestData"; export interface IRegisterData extends ILoginRequestData { edition: string; } diff --git a/types/models/eft/launcher/IRemoveProfileData.d.ts b/types/models/eft/launcher/IRemoveProfileData.d.ts index 4cc5618..2ad9694 100644 --- a/types/models/eft/launcher/IRemoveProfileData.d.ts +++ b/types/models/eft/launcher/IRemoveProfileData.d.ts @@ -1,2 +1,2 @@ -import { ILoginRequestData } from "./ILoginRequestData"; +import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestData"; export type IRemoveProfileData = ILoginRequestData; diff --git a/types/models/eft/location/IAirdropLootResult.d.ts b/types/models/eft/location/IAirdropLootResult.d.ts index 6db4b16..219ee7e 100644 --- a/types/models/eft/location/IAirdropLootResult.d.ts +++ b/types/models/eft/location/IAirdropLootResult.d.ts @@ -1,4 +1,4 @@ -import { LootItem } from "../../../models/spt/services/LootItem"; +import { LootItem } from "@spt-aki/models/spt/services/LootItem"; export interface IAirdropLootResult { dropType: string; loot: LootItem[]; diff --git a/types/models/eft/match/ICreateGroupRequestData.d.ts b/types/models/eft/match/ICreateGroupRequestData.d.ts index 7413a8a..322a095 100644 --- a/types/models/eft/match/ICreateGroupRequestData.d.ts +++ b/types/models/eft/match/ICreateGroupRequestData.d.ts @@ -1,4 +1,4 @@ -import { RaidMode } from "../../enums/RaidMode"; +import { RaidMode } from "@spt-aki/models/enums/RaidMode"; export interface ICreateGroupRequestData { location: string; raidMode: RaidMode; diff --git a/types/models/eft/match/IGetGroupStatusRequestData.d.ts b/types/models/eft/match/IGetGroupStatusRequestData.d.ts index 911c040..28b9500 100644 --- a/types/models/eft/match/IGetGroupStatusRequestData.d.ts +++ b/types/models/eft/match/IGetGroupStatusRequestData.d.ts @@ -1,4 +1,4 @@ -import { RaidMode } from "../../enums/RaidMode"; +import { RaidMode } from "@spt-aki/models/enums/RaidMode"; export interface IGetGroupStatusRequestData { location: string; savage: boolean; diff --git a/types/models/eft/match/IGetGroupStatusResponse.d.ts b/types/models/eft/match/IGetGroupStatusResponse.d.ts new file mode 100644 index 0000000..8209ef5 --- /dev/null +++ b/types/models/eft/match/IGetGroupStatusResponse.d.ts @@ -0,0 +1,19 @@ +import { MemberCategory } from "@spt-aki/models/enums/MemberCategory"; +export interface IGetGroupStatusResponse { + players: IPlayer[]; + maxPveCountExceeded: boolean; +} +export interface IPlayer { + aid: string; + _id: string; + lookingGroup: boolean; + IsLeader: boolean; + IsReady: boolean; + Info: ICurrentGroupMemberInfo; +} +export interface ICurrentGroupMemberInfo { + Nickname: string; + Side: string; + Level: string; + MemberCategory: MemberCategory; +} diff --git a/types/models/eft/notes/INoteActionData.d.ts b/types/models/eft/notes/INoteActionData.d.ts index 610657f..97575be 100644 --- a/types/models/eft/notes/INoteActionData.d.ts +++ b/types/models/eft/notes/INoteActionData.d.ts @@ -1,4 +1,4 @@ -import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +import { IBaseInteractionRequestData } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData"; export interface INoteActionData extends IBaseInteractionRequestData { Action: string; index: number; diff --git a/types/models/eft/notifier/INotifier.d.ts b/types/models/eft/notifier/INotifier.d.ts index c6c6979..74343d8 100644 --- a/types/models/eft/notifier/INotifier.d.ts +++ b/types/models/eft/notifier/INotifier.d.ts @@ -1,4 +1,4 @@ -import { Message } from "../profile/IAkiProfile"; +import { Message } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface INotifierChannel { server: string; channel_id: string; diff --git a/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts b/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts index 2f9827c..cbda924 100644 --- a/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts +++ b/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts @@ -1,4 +1,4 @@ -import { Skills } from "../common/tables/IBotBase"; +import { Skills } from "@spt-aki/models/eft/common/tables/IBotBase"; export interface IPlayerIncrementSkillLevelRequestData { _id: string; experience: number; diff --git a/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts b/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts index 37f7ce1..d54116a 100644 --- a/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts +++ b/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts @@ -1,4 +1,4 @@ -import { Item } from "../common/tables/IItem"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; export interface IPresetBuildActionRequestData { Action: string; id: string; diff --git a/types/models/eft/profile/IAkiProfile.d.ts b/types/models/eft/profile/IAkiProfile.d.ts index cb781c8..78302ee 100644 --- a/types/models/eft/profile/IAkiProfile.d.ts +++ b/types/models/eft/profile/IAkiProfile.d.ts @@ -1,8 +1,9 @@ -import { EquipmentBuildType } from "../../../models/enums/EquipmentBuildType"; -import { MemberCategory } from "../../../models/enums/MemberCategory"; -import { MessageType } from "../../enums/MessageType"; -import { IPmcData } from "../common/IPmcData"; -import { Item } from "../common/tables/IItem"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { EquipmentBuildType } from "@spt-aki/models/enums/EquipmentBuildType"; +import { MemberCategory } from "@spt-aki/models/enums/MemberCategory"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; +import { IProfileChangeEvent } from "@spt-aki/models/spt/dialog/ISendMessageDetails"; export interface IAkiProfile { info: Info; characters: Characters; @@ -95,7 +96,7 @@ export interface Message { items?: MessageItems; maxStorageTime?: number; systemData?: ISystemData; - profileChangeEvents?: any[]; + profileChangeEvents?: IProfileChangeEvent[]; } export interface MessagePreview { uid: string; diff --git a/types/models/eft/profile/ICreateProfileResponse.d.ts b/types/models/eft/profile/ICreateProfileResponse.d.ts new file mode 100644 index 0000000..c297482 --- /dev/null +++ b/types/models/eft/profile/ICreateProfileResponse.d.ts @@ -0,0 +1,3 @@ +export interface ICreateProfileResponse { + uid: string; +} diff --git a/types/models/eft/ragfair/IGetItemPriceResult.d.ts b/types/models/eft/ragfair/IGetItemPriceResult.d.ts index a38d434..e692b1b 100644 --- a/types/models/eft/ragfair/IGetItemPriceResult.d.ts +++ b/types/models/eft/ragfair/IGetItemPriceResult.d.ts @@ -1,4 +1,4 @@ -import { MinMax } from "../../../models/common/MinMax"; +import { MinMax } from "@spt-aki/models/common/MinMax"; export interface IGetItemPriceResult extends MinMax { avg: number; } diff --git a/types/models/eft/ragfair/IGetOffersResult.d.ts b/types/models/eft/ragfair/IGetOffersResult.d.ts index fbc631d..8b753ae 100644 --- a/types/models/eft/ragfair/IGetOffersResult.d.ts +++ b/types/models/eft/ragfair/IGetOffersResult.d.ts @@ -1,4 +1,4 @@ -import { IRagfairOffer } from "./IRagfairOffer"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; export interface IGetOffersResult { categories?: Record; offers: IRagfairOffer[]; diff --git a/types/models/eft/ragfair/IGetRagfairOfferByIdRequest.d.ts b/types/models/eft/ragfair/IGetRagfairOfferByIdRequest.d.ts new file mode 100644 index 0000000..91e3615 --- /dev/null +++ b/types/models/eft/ragfair/IGetRagfairOfferByIdRequest.d.ts @@ -0,0 +1,3 @@ +export interface IGetRagfairOfferByIdRequest { + id: number; +} diff --git a/types/models/eft/ragfair/IRagfairOffer.d.ts b/types/models/eft/ragfair/IRagfairOffer.d.ts index 6b28718..043a986 100644 --- a/types/models/eft/ragfair/IRagfairOffer.d.ts +++ b/types/models/eft/ragfair/IRagfairOffer.d.ts @@ -1,5 +1,5 @@ -import { MemberCategory } from "../../enums/MemberCategory"; -import { Item } from "../common/tables/IItem"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { MemberCategory } from "@spt-aki/models/enums/MemberCategory"; export interface IRagfairOffer { sellResult?: SellResult[]; _id: string; diff --git a/types/models/eft/ragfair/ISearchRequestData.d.ts b/types/models/eft/ragfair/ISearchRequestData.d.ts index 56d093b..52cb2d4 100644 --- a/types/models/eft/ragfair/ISearchRequestData.d.ts +++ b/types/models/eft/ragfair/ISearchRequestData.d.ts @@ -1,4 +1,4 @@ -import { RagfairSort } from "../../enums/RagfairSort"; +import { RagfairSort } from "@spt-aki/models/enums/RagfairSort"; export interface ISearchRequestData { page: number; limit: number; diff --git a/types/models/eft/repair/IRepairActionDataRequest.d.ts b/types/models/eft/repair/IRepairActionDataRequest.d.ts index 263d400..ceb3f7c 100644 --- a/types/models/eft/repair/IRepairActionDataRequest.d.ts +++ b/types/models/eft/repair/IRepairActionDataRequest.d.ts @@ -1,4 +1,4 @@ -import { IBaseRepairActionDataRequest } from "./IBaseRepairActionDataRequest"; +import { IBaseRepairActionDataRequest } from "@spt-aki/models/eft/repair/IBaseRepairActionDataRequest"; export interface IRepairActionDataRequest extends IBaseRepairActionDataRequest { Action: "Repair"; repairKitsInfo: RepairKitsInfo[]; diff --git a/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts b/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts index e3d469d..82b83c6 100644 --- a/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts +++ b/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts @@ -1,4 +1,4 @@ -import { IBaseRepairActionDataRequest } from "./IBaseRepairActionDataRequest"; +import { IBaseRepairActionDataRequest } from "@spt-aki/models/eft/repair/IBaseRepairActionDataRequest"; export interface ITraderRepairActionDataRequest extends IBaseRepairActionDataRequest { Action: "TraderRepair"; tid: string; diff --git a/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts b/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts index a9e4c17..cc4336a 100644 --- a/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts +++ b/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts @@ -1,6 +1,6 @@ -import { IProcessBaseTradeRequestData } from "./IProcessBaseTradeRequestData"; +import { IProcessBaseTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBaseTradeRequestData"; export interface IProcessBuyTradeRequestData extends IProcessBaseTradeRequestData { - Action: "buy_from_trader" | "TradingConfirm" | "RestoreHealth" | ""; + Action: "buy_from_trader" | "TradingConfirm" | "RestoreHealth" | "" | "SptInsure" | "SptRepair"; type: string; tid: string; item_id: string; @@ -9,6 +9,7 @@ export interface IProcessBuyTradeRequestData extends IProcessBaseTradeRequestDat scheme_items: SchemeItem[]; } export interface SchemeItem { + /** Id of stack to take money from, is money tpl when Action is `SptInsure` */ id: string; count: number; } diff --git a/types/models/eft/trade/IProcessSellTradeRequestData.d.ts b/types/models/eft/trade/IProcessSellTradeRequestData.d.ts index dee0cd5..c0f91a0 100644 --- a/types/models/eft/trade/IProcessSellTradeRequestData.d.ts +++ b/types/models/eft/trade/IProcessSellTradeRequestData.d.ts @@ -1,4 +1,4 @@ -import { IProcessBaseTradeRequestData } from "./IProcessBaseTradeRequestData"; +import { IProcessBaseTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBaseTradeRequestData"; export interface IProcessSellTradeRequestData extends IProcessBaseTradeRequestData { Action: "sell_to_trader"; type: string; diff --git a/types/models/eft/trade/ISellScavItemsToFenceRequestData.d.ts b/types/models/eft/trade/ISellScavItemsToFenceRequestData.d.ts index c0be040..1fc6025 100644 --- a/types/models/eft/trade/ISellScavItemsToFenceRequestData.d.ts +++ b/types/models/eft/trade/ISellScavItemsToFenceRequestData.d.ts @@ -1,4 +1,4 @@ -import { OwnerInfo } from "../common/request/IBaseInteractionRequestData"; +import { OwnerInfo } from "@spt-aki/models/eft/common/request/IBaseInteractionRequestData"; export interface ISellScavItemsToFenceRequestData { Action: "SellAllFromSavage"; fromOwner: OwnerInfo; diff --git a/types/models/eft/weather/IWeatherData.d.ts b/types/models/eft/weather/IWeatherData.d.ts index 1f5d5b5..b47189d 100644 --- a/types/models/eft/weather/IWeatherData.d.ts +++ b/types/models/eft/weather/IWeatherData.d.ts @@ -1,4 +1,4 @@ -import { WindDirection } from "../../../models/enums/WindDirection"; +import { WindDirection } from "@spt-aki/models/enums/WindDirection"; export interface IWeatherData { acceleration: number; time: string; diff --git a/types/models/enums/AmmoTypes.d.ts b/types/models/enums/AmmoTypes.d.ts index 254b410..6aa332b 100644 --- a/types/models/enums/AmmoTypes.d.ts +++ b/types/models/enums/AmmoTypes.d.ts @@ -21,7 +21,10 @@ export declare enum Ammo762x54 { PS_GZH = "59e77a2386f7742ee578960a", T46M_GZH = "5e023cf8186a883be655e54f", BT_GZH = "5e023d34e8a400319a28ed44", - BS_GZH = "5e023d48186a883be655e551" + BS_GZH = "5e023d48186a883be655e551", + FMJ = "64b8f7968532cf95ee0a0dbf", + SP_BT = "64b8f7b5389d7ffd620ccba2", + HP_BT = "64b8f7c241772715af0f9c3d" } export declare enum Ammo86x70 { TAC_X = "5fc382b6d6fa9c00c571bbc3", @@ -33,7 +36,8 @@ export declare enum Ammo46x30 { AP_SX = "5ba26835d4351e0035628ff5", ACTION_SX = "5ba26812d4351e003201fef1", FMJ_SX = "5ba2678ad4351e44f824b344", - SUBSONIC_SX = "5ba26844d4351e00334c9475" + SUBSONIC_SX = "5ba26844d4351e00334c9475", + JSP_SX = "64b6979341772715af0f9c39" } export declare enum Ammo57x28 { SS198LF = "5cc80f79e4a949033c7343b2", @@ -77,7 +81,8 @@ export declare enum Ammo9x19 { AP_63 = "5c925fa22e221601da359b7b", LUGER_CCI = "5a3c16fe86f77452b62de32a", PBP_GZH = "5efb0da7a29a85116f6ea05f", - QUAKEMAKER = "5efb0e16aeb21837e749c7ff" + QUAKEMAKER = "5efb0e16aeb21837e749c7ff", + FMJ_M882 = "64b7bbb74b75259c590fa897" } export declare enum Ammo9x21 { P_GZH = "5a26abfac4a28232980eabff", @@ -131,7 +136,8 @@ export declare enum Ammo762x35 { BCP_FMJ = "5fbe3ffdf8b6a877a729ea82", AP = "5fd20ff893a8961fc660a954", V_MAX = "6196364158ef8c428c287d9f", - WHISPER = "6196365d58ef8c428c287da1" + WHISPER = "6196365d58ef8c428c287da1", + CBJ = "64b8725c4b75259c590fa899" } export declare enum Ammo762x39 { PS_GZH = "5656d7c34bdc2d9d198b4587", @@ -139,7 +145,10 @@ export declare enum Ammo762x39 { US_GZH = "59e4d24686f7741776641ac7", T45M1_GZH = "59e4cf5286f7741778269d8a", BP_GZH = "59e0d99486f7744a32234762", - MAI_AP = "601aa3d2b2bcb34913271e6d" + MAI_AP = "601aa3d2b2bcb34913271e6d", + PP_GZH = "64b7af434b75259c590fa893", + SP = "64b7af734b75259c590fa895", + FMJ = "64b7af5a8532cf95ee0a0dbd" } export declare enum Ammo9x39 { SP5_GS = "57a0dfb82459774d3078b56c", @@ -175,7 +184,8 @@ export declare enum Ammo12Gauge { GRIZZLY_40_SLUG = "5d6e6869a4b9361c140bcfde", SUPERFORMANCE_HP_SLUG = "5d6e68d1a4b93622fe60e845", COPPER_SABOT_PREMIER_HP_SLUG = "5d6e68b3a4b9361bca7e50b5", - LEAD_SLUG = "58820d1224597753c90aeb13" + LEAD_SLUG = "58820d1224597753c90aeb13", + PIRANHA = "64b8ee384b75259c590fa89b" } export declare enum Ammo20Gauge { BUCKSHOT_75MM = "5a38ebd9c4a282000d722a5b", diff --git a/types/models/enums/BaseClasses.d.ts b/types/models/enums/BaseClasses.d.ts index 76938ad..a9acb69 100644 --- a/types/models/enums/BaseClasses.d.ts +++ b/types/models/enums/BaseClasses.d.ts @@ -54,6 +54,7 @@ export declare enum BaseClasses { GRENADE_LAUNCHER = "5447bedf4bdc2d87278b4568", SPECIAL_WEAPON = "5447bee84bdc2dc3278b4569", SPEC_ITEM = "5447e0e74bdc2d3c308b4567", + SPRING_DRIVEN_CYLINDER = "627a137bf21bc425b06ab944", KNIFE = "5447e1d04bdc2dff2f8b4567", AMMO = "5485a8684bdc2da71d8b4567", AMMO_BOX = "543be5cb4bdc2deb348b4568", diff --git a/types/models/enums/HideoutEventActions.d.ts b/types/models/enums/HideoutEventActions.d.ts index aa04131..556c799 100644 --- a/types/models/enums/HideoutEventActions.d.ts +++ b/types/models/enums/HideoutEventActions.d.ts @@ -9,5 +9,6 @@ export declare enum HideoutEventActions { HIDEOUT_CONTINUOUS_PRODUCTION_START = "HideoutContinuousProductionStart", HIDEOUT_TAKE_PRODUCTION = "HideoutTakeProduction", HIDEOUT_RECORD_SHOOTING_RANGE_POINTS = "RecordShootingRangePoints", - HIDEOUT_IMPROVE_AREA = "HideoutImproveArea" + HIDEOUT_IMPROVE_AREA = "HideoutImproveArea", + HIDEOUT_CANCEL_PRODUCTION_COMMAND = "HideoutCancelProductionCommand" } diff --git a/types/models/enums/ItemAddedResult.d.ts b/types/models/enums/ItemAddedResult.d.ts index e64b660..8eafb90 100644 --- a/types/models/enums/ItemAddedResult.d.ts +++ b/types/models/enums/ItemAddedResult.d.ts @@ -1,4 +1,7 @@ export declare enum ItemAddedResult { + UNKNOWN = -1, SUCCESS = 1, - NO_SPACE = 2 + NO_SPACE = 2, + NO_CONTAINERS = 3, + INCOMPATIBLE_ITEM = 4 } diff --git a/types/models/enums/ItemEventActions.d.ts b/types/models/enums/ItemEventActions.d.ts index 64339f1..f43d4ba 100644 --- a/types/models/enums/ItemEventActions.d.ts +++ b/types/models/enums/ItemEventActions.d.ts @@ -9,6 +9,7 @@ export declare enum ItemEventActions { TOGGLE = "Toggle", TAG = "Tag", BIND = "Bind", + UNBIND = "Unbind", EXAMINE = "Examine", READ_ENCYCLOPEDIA = "ReadEncyclopedia", APPLY_INVENTORY_CHANGES = "ApplyInventoryChanges", @@ -21,5 +22,6 @@ export declare enum ItemEventActions { REMOVE_WEAPON_BUILD = "RemoveWeaponBuild", REMOVE_BUILD = "RemoveBuild", SAVE_EQUIPMENT_BUILD = "SaveEquipmentBuild", - REMOVE_EQUIPMENT_BUILD = "RemoveEquipmentBuild" + REMOVE_EQUIPMENT_BUILD = "RemoveEquipmentBuild", + REDEEM_PROFILE_REWARD = "RedeemProfileReward" } diff --git a/types/models/enums/SkillTypes.d.ts b/types/models/enums/SkillTypes.d.ts index 4eb90af..dc059a8 100644 --- a/types/models/enums/SkillTypes.d.ts +++ b/types/models/enums/SkillTypes.d.ts @@ -1,4 +1,6 @@ export declare enum SkillTypes { + BOT_RELOAD = "BotReload", + BOT_SOUND = "BotSound", HIDEOUT_MANAGEMENT = "HideoutManagement", CRAFTING = "Crafting", METABOLISM = "Metabolism", @@ -19,6 +21,7 @@ export declare enum SkillTypes { ATTENTION = "Attention", CHARISMA = "Charisma", MEMORY = "Memory", + MELEE = "Melee", SURGERY = "Surgery", AIM_DRILLS = "AimDrills", TROUBLESHOOTING = "TroubleShooting", @@ -31,6 +34,7 @@ export declare enum SkillTypes { NIGHT_OPS = "NightOps", SILENT_OPS = "SilentOps", LOCKPICKING = "Lockpicking", + /** Also called Weapon Maintenance*/ WEAPON_TREATMENT = "WeaponTreatment", MAG_DRILLS = "MagDrills", FREE_TRADING = "Freetrading", diff --git a/types/models/external/HttpFramework.d.ts b/types/models/external/HttpFramework.d.ts index 64a37d6..fda8732 100644 --- a/types/models/external/HttpFramework.d.ts +++ b/types/models/external/HttpFramework.d.ts @@ -1,5 +1,5 @@ /// -import { IncomingMessage, ServerResponse } from "http"; +import { IncomingMessage, ServerResponse } from "node:http"; export type HandleFn = (_: string, req: IncomingMessage, resp: ServerResponse) => void; /** * Associates handlers, HTTP methods and a base url to a listener using a proxy diff --git a/types/models/external/IPostAkiLoadMod.d.ts b/types/models/external/IPostAkiLoadMod.d.ts index f6950e8..cc8f7af 100644 --- a/types/models/external/IPostAkiLoadMod.d.ts +++ b/types/models/external/IPostAkiLoadMod.d.ts @@ -1,4 +1,4 @@ -import { DependencyContainer } from "./tsyringe"; +import { DependencyContainer } from "@spt-aki/models/external/tsyringe"; export interface IPostAkiLoadMod { postAkiLoad(container: DependencyContainer): void; } diff --git a/types/models/external/IPostAkiLoadModAsync.d.ts b/types/models/external/IPostAkiLoadModAsync.d.ts index 073ce6e..44700e1 100644 --- a/types/models/external/IPostAkiLoadModAsync.d.ts +++ b/types/models/external/IPostAkiLoadModAsync.d.ts @@ -1,4 +1,4 @@ -import { DependencyContainer } from "./tsyringe"; +import { DependencyContainer } from "@spt-aki/models/external/tsyringe"; export interface IPostAkiLoadModAsync { postAkiLoadAsync(container: DependencyContainer): Promise; } diff --git a/types/models/external/IPostDBLoadMod.d.ts b/types/models/external/IPostDBLoadMod.d.ts index ca7c682..f2f43ab 100644 --- a/types/models/external/IPostDBLoadMod.d.ts +++ b/types/models/external/IPostDBLoadMod.d.ts @@ -1,4 +1,4 @@ -import { DependencyContainer } from "./tsyringe"; +import { DependencyContainer } from "@spt-aki/models/external/tsyringe"; export interface IPostDBLoadMod { postDBLoad(container: DependencyContainer): void; } diff --git a/types/models/external/IPostDBLoadModAsync.d.ts b/types/models/external/IPostDBLoadModAsync.d.ts index b23825a..ed06ed5 100644 --- a/types/models/external/IPostDBLoadModAsync.d.ts +++ b/types/models/external/IPostDBLoadModAsync.d.ts @@ -1,4 +1,4 @@ -import { DependencyContainer } from "./tsyringe"; +import { DependencyContainer } from "@spt-aki/models/external/tsyringe"; export interface IPostDBLoadModAsync { postDBLoadAsync(container: DependencyContainer): Promise; } diff --git a/types/models/external/IPreAkiLoadMod.d.ts b/types/models/external/IPreAkiLoadMod.d.ts index ae7579e..e81b660 100644 --- a/types/models/external/IPreAkiLoadMod.d.ts +++ b/types/models/external/IPreAkiLoadMod.d.ts @@ -1,4 +1,4 @@ -import { DependencyContainer } from "./tsyringe"; +import { DependencyContainer } from "@spt-aki/models/external/tsyringe"; export interface IPreAkiLoadMod { preAkiLoad(container: DependencyContainer): void; } diff --git a/types/models/external/IPreAkiLoadModAsync.d.ts b/types/models/external/IPreAkiLoadModAsync.d.ts index 1249ff1..89a3e67 100644 --- a/types/models/external/IPreAkiLoadModAsync.d.ts +++ b/types/models/external/IPreAkiLoadModAsync.d.ts @@ -1,4 +1,4 @@ -import { DependencyContainer } from "./tsyringe"; +import { DependencyContainer } from "@spt-aki/models/external/tsyringe"; export interface IPreAkiLoadModAsync { preAkiLoadAsync(container: DependencyContainer): Promise; } diff --git a/types/models/spt/bots/GenerateWeaponResult.d.ts b/types/models/spt/bots/GenerateWeaponResult.d.ts index 56fa481..f28d052 100644 --- a/types/models/spt/bots/GenerateWeaponResult.d.ts +++ b/types/models/spt/bots/GenerateWeaponResult.d.ts @@ -1,6 +1,6 @@ -import { Mods } from "../../eft/common/tables/IBotType"; -import { Item } from "../../eft/common/tables/IItem"; -import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; +import { Mods } from "@spt-aki/models/eft/common/tables/IBotType"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; export declare class GenerateWeaponResult { weapon: Item[]; chosenAmmoTpl: string; diff --git a/types/models/spt/bots/IBotLootCache.d.ts b/types/models/spt/bots/IBotLootCache.d.ts index bf0ef61..58a1bd1 100644 --- a/types/models/spt/bots/IBotLootCache.d.ts +++ b/types/models/spt/bots/IBotLootCache.d.ts @@ -1,4 +1,4 @@ -import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; export interface IBotLootCache { backpackLoot: ITemplateItem[]; pocketLoot: ITemplateItem[]; diff --git a/types/models/spt/callbacks/IBotCallbacks.d.ts b/types/models/spt/callbacks/IBotCallbacks.d.ts index 2c42813..02f444e 100644 --- a/types/models/spt/callbacks/IBotCallbacks.d.ts +++ b/types/models/spt/callbacks/IBotCallbacks.d.ts @@ -1,7 +1,7 @@ -import { IGenerateBotsRequestData } from "../../eft/bot/IGenerateBotsRequestData"; -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { IBotBase } from "../../eft/common/tables/IBotBase"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IGenerateBotsRequestData } from "@spt-aki/models/eft/bot/IGenerateBotsRequestData"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; export interface IBotCallbacks { getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; diff --git a/types/models/spt/callbacks/ICustomizationCallbacks.d.ts b/types/models/spt/callbacks/ICustomizationCallbacks.d.ts index d10027f..f4f8877 100644 --- a/types/models/spt/callbacks/ICustomizationCallbacks.d.ts +++ b/types/models/spt/callbacks/ICustomizationCallbacks.d.ts @@ -1,9 +1,9 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IBuyClothingRequestData } from "../../eft/customization/IBuyClothingRequestData"; -import { IWearClothingRequestData } from "../../eft/customization/IWearClothingRequestData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { ISuit } from "../../eft/common/tables/ITrader"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ISuit } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IBuyClothingRequestData } from "@spt-aki/models/eft/customization/IBuyClothingRequestData"; +import { IWearClothingRequestData } from "@spt-aki/models/eft/customization/IWearClothingRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export interface ICustomizationCallbacks { getSuits(url: string, info: any, sessionID: string): IGetBodyResponseData; getTraderSuits(url: string, info: any, sessionID: string): IGetBodyResponseData; diff --git a/types/models/spt/callbacks/IDataCallbacks.d.ts b/types/models/spt/callbacks/IDataCallbacks.d.ts index c65eff6..0651dce 100644 --- a/types/models/spt/callbacks/IDataCallbacks.d.ts +++ b/types/models/spt/callbacks/IDataCallbacks.d.ts @@ -1,11 +1,11 @@ -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { IGlobals } from "../../eft/common/IGlobals"; -import { IHideoutArea } from "../../eft/hideout/IHideoutArea"; -import { IHideoutProduction } from "../../eft/hideout/IHideoutProduction"; -import { IHideoutScavCase } from "../../eft/hideout/IHideoutScavCase"; -import { IHideoutSettingsBase } from "../../eft/hideout/IHideoutSettingsBase"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { ISettingsBase } from "../server/ISettingsBase"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGlobals } from "@spt-aki/models/eft/common/IGlobals"; +import { IHideoutArea } from "@spt-aki/models/eft/hideout/IHideoutArea"; +import { IHideoutProduction } from "@spt-aki/models/eft/hideout/IHideoutProduction"; +import { IHideoutScavCase } from "@spt-aki/models/eft/hideout/IHideoutScavCase"; +import { IHideoutSettingsBase } from "@spt-aki/models/eft/hideout/IHideoutSettingsBase"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { ISettingsBase } from "@spt-aki/models/spt/server/ISettingsBase"; export interface IDataCallbacks { getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/types/models/spt/callbacks/IDialogueCallbacks.d.ts b/types/models/spt/callbacks/IDialogueCallbacks.d.ts index 445178e..0cc835b 100644 --- a/types/models/spt/callbacks/IDialogueCallbacks.d.ts +++ b/types/models/spt/callbacks/IDialogueCallbacks.d.ts @@ -1,20 +1,20 @@ -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { IFriendRequestData } from "../../eft/dialog/IFriendRequestData"; -import { IGetAllAttachmentsRequestData } from "../../eft/dialog/IGetAllAttachmentsRequestData"; -import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse"; -import { IGetChatServerListRequestData } from "../../eft/dialog/IGetChatServerListRequestData"; -import { IGetFriendListDataResponse } from "../../eft/dialog/IGetFriendListDataResponse"; -import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData"; -import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData"; -import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData"; -import { IGetMailDialogViewResponseData } from "../../eft/dialog/IGetMailDialogViewResponseData"; -import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData"; -import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData"; -import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest"; -import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; -import { DialogueInfo } from "../../eft/profile/IAkiProfile"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IFriendRequestData } from "@spt-aki/models/eft/dialog/IFriendRequestData"; +import { IGetAllAttachmentsRequestData } from "@spt-aki/models/eft/dialog/IGetAllAttachmentsRequestData"; +import { IGetAllAttachmentsResponse } from "@spt-aki/models/eft/dialog/IGetAllAttachmentsResponse"; +import { IGetChatServerListRequestData } from "@spt-aki/models/eft/dialog/IGetChatServerListRequestData"; +import { IGetFriendListDataResponse } from "@spt-aki/models/eft/dialog/IGetFriendListDataResponse"; +import { IGetMailDialogInfoRequestData } from "@spt-aki/models/eft/dialog/IGetMailDialogInfoRequestData"; +import { IGetMailDialogListRequestData } from "@spt-aki/models/eft/dialog/IGetMailDialogListRequestData"; +import { IGetMailDialogViewRequestData } from "@spt-aki/models/eft/dialog/IGetMailDialogViewRequestData"; +import { IGetMailDialogViewResponseData } from "@spt-aki/models/eft/dialog/IGetMailDialogViewResponseData"; +import { IPinDialogRequestData } from "@spt-aki/models/eft/dialog/IPinDialogRequestData"; +import { IRemoveDialogRequestData } from "@spt-aki/models/eft/dialog/IRemoveDialogRequestData"; +import { ISendMessageRequest } from "@spt-aki/models/eft/dialog/ISendMessageRequest"; +import { ISetDialogReadRequestData } from "@spt-aki/models/eft/dialog/ISetDialogReadRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { DialogueInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IDialogueCallbacks { getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData; diff --git a/types/models/spt/callbacks/IGameCallbacks.d.ts b/types/models/spt/callbacks/IGameCallbacks.d.ts index 38ebc5f..324ec31 100644 --- a/types/models/spt/callbacks/IGameCallbacks.d.ts +++ b/types/models/spt/callbacks/IGameCallbacks.d.ts @@ -1,9 +1,9 @@ -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { IGameEmptyCrcRequestData } from "../../eft/game/IGameEmptyCrcRequestData"; -import { IVersionValidateRequestData } from "../../eft/game/IVersionValidateRequestData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; -import { IGameConfigResponse } from "../../eft/game/IGameConfigResponse"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGameConfigResponse } from "@spt-aki/models/eft/game/IGameConfigResponse"; +import { IGameEmptyCrcRequestData } from "@spt-aki/models/eft/game/IGameEmptyCrcRequestData"; +import { IVersionValidateRequestData } from "@spt-aki/models/eft/game/IVersionValidateRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; export interface IGameCallbacks { versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/types/models/spt/callbacks/IHealthCallbacks.d.ts b/types/models/spt/callbacks/IHealthCallbacks.d.ts index d238c7a..0ea81a2 100644 --- a/types/models/spt/callbacks/IHealthCallbacks.d.ts +++ b/types/models/spt/callbacks/IHealthCallbacks.d.ts @@ -1,9 +1,9 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IAkiProfile } from "../../eft/profile/IAkiProfile"; -import { ISyncHealthRequestData } from "../../eft/health/ISyncHealthRequestData"; -import { IOffraidEatRequestData } from "../../eft/health/IOffraidEatRequestData"; -import { IOffraidHealRequestData } from "../../eft/health/IOffraidHealRequestData"; -import { IHealthTreatmentRequestData } from "../../eft/health/IHealthTreatmentRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IHealthTreatmentRequestData } from "@spt-aki/models/eft/health/IHealthTreatmentRequestData"; +import { IOffraidEatRequestData } from "@spt-aki/models/eft/health/IOffraidEatRequestData"; +import { IOffraidHealRequestData } from "@spt-aki/models/eft/health/IOffraidHealRequestData"; +import { ISyncHealthRequestData } from "@spt-aki/models/eft/health/ISyncHealthRequestData"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IHealthCallbacks { onLoad(sessionID: string): IAkiProfile; syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): any; diff --git a/types/models/spt/callbacks/IHideoutCallbacks.d.ts b/types/models/spt/callbacks/IHideoutCallbacks.d.ts index ad2af48..feda12e 100644 --- a/types/models/spt/callbacks/IHideoutCallbacks.d.ts +++ b/types/models/spt/callbacks/IHideoutCallbacks.d.ts @@ -1,14 +1,14 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IHideoutUpgradeRequestData } from "../../eft/hideout/IHideoutUpgradeRequestData"; -import { IHideoutUpgradeCompleteRequestData } from "../../eft/hideout/IHideoutUpgradeCompleteRequestData"; -import { IHideoutScavCaseStartRequestData } from "../../eft/hideout/IHideoutScavCaseStartRequestData"; -import { IHideoutPutItemInRequestData } from "../../eft/hideout/IHideoutPutItemInRequestData"; -import { IHideoutTakeItemOutRequestData } from "../../eft/hideout/IHideoutTakeItemOutRequestData"; -import { IHideoutToggleAreaRequestData } from "../../eft/hideout/IHideoutToggleAreaRequestData"; -import { IHideoutSingleProductionStartRequestData } from "../../eft/hideout/IHideoutSingleProductionStartRequestData"; -import { IHideoutContinuousProductionStartRequestData } from "../../eft/hideout/IHideoutContinuousProductionStartRequestData"; -import { IHideoutTakeProductionRequestData } from "../../eft/hideout/IHideoutTakeProductionRequestData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IHideoutContinuousProductionStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutContinuousProductionStartRequestData"; +import { IHideoutPutItemInRequestData } from "@spt-aki/models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutScavCaseStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutScavCaseStartRequestData"; +import { IHideoutSingleProductionStartRequestData } from "@spt-aki/models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutTakeItemOutRequestData } from "@spt-aki/models/eft/hideout/IHideoutTakeItemOutRequestData"; +import { IHideoutTakeProductionRequestData } from "@spt-aki/models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IHideoutToggleAreaRequestData } from "@spt-aki/models/eft/hideout/IHideoutToggleAreaRequestData"; +import { IHideoutUpgradeCompleteRequestData } from "@spt-aki/models/eft/hideout/IHideoutUpgradeCompleteRequestData"; +import { IHideoutUpgradeRequestData } from "@spt-aki/models/eft/hideout/IHideoutUpgradeRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export interface IHideoutCallbacks { upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; upgradeComplete(pmcData: IPmcData, body: IHideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/types/models/spt/callbacks/IInraidCallbacks.d.ts b/types/models/spt/callbacks/IInraidCallbacks.d.ts index e959b98..4754c0c 100644 --- a/types/models/spt/callbacks/IInraidCallbacks.d.ts +++ b/types/models/spt/callbacks/IInraidCallbacks.d.ts @@ -1,8 +1,8 @@ -import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; -import { IAkiProfile } from "../../eft/profile/IAkiProfile"; -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { IRegisterPlayerRequestData } from "../../eft/inRaid/IRegisterPlayerRequestData"; -import { ISaveProgressRequestData } from "../../eft/inRaid/ISaveProgressRequestData"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { IRegisterPlayerRequestData } from "@spt-aki/models/eft/inRaid/IRegisterPlayerRequestData"; +import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IInraidCallbacks { onLoad(sessionID: string): IAkiProfile; registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; diff --git a/types/models/spt/callbacks/IInsuranceCallbacks.d.ts b/types/models/spt/callbacks/IInsuranceCallbacks.d.ts index 082112d..649039a 100644 --- a/types/models/spt/callbacks/IInsuranceCallbacks.d.ts +++ b/types/models/spt/callbacks/IInsuranceCallbacks.d.ts @@ -1,7 +1,7 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IAkiProfile } from "../../eft/profile/IAkiProfile"; -import { IGetInsuranceCostRequestData } from "../../eft/insurance/IGetInsuranceCostRequestData"; -import { IInsureRequestData } from "../../eft/insurance/IInsureRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IGetInsuranceCostRequestData } from "@spt-aki/models/eft/insurance/IGetInsuranceCostRequestData"; +import { IInsureRequestData } from "@spt-aki/models/eft/insurance/IInsureRequestData"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IInsuranceCallbacks { onLoad(sessionID: string): IAkiProfile; getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): any; diff --git a/types/models/spt/callbacks/IInventoryCallbacks.d.ts b/types/models/spt/callbacks/IInventoryCallbacks.d.ts index e53f7d0..7abe819 100644 --- a/types/models/spt/callbacks/IInventoryCallbacks.d.ts +++ b/types/models/spt/callbacks/IInventoryCallbacks.d.ts @@ -1,21 +1,21 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IInventoryFoldRequestData } from "../../eft/inventory/IInventoryFoldRequestData"; -import { IInventorySplitRequestData } from "../../eft/inventory/IInventorySplitRequestData"; -import { IInventoryMoveRequestData } from "../../eft/inventory/IInventoryMoveRequestData"; -import { IInventoryMergeRequestData } from "../../eft/inventory/IInventoryMergeRequestData"; -import { IInventoryRemoveRequestData } from "../../eft/inventory/IInventoryRemoveRequestData"; -import { IInventoryTransferRequestData } from "../../eft/inventory/IInventoryTransferRequestData"; -import { IInventorySwapRequestData } from "../../eft/inventory/IInventorySwapRequestData"; -import { IInventoryToggleRequestData } from "../../eft/inventory/IInventoryToggleRequestData"; -import { IInventoryTagRequestData } from "../../eft/inventory/IInventoryTagRequestData"; -import { IInventoryBindRequestData } from "../../eft/inventory/IInventoryBindRequestData"; -import { IInventoryExamineRequestData } from "../../eft/inventory/IInventoryExamineRequestData"; -import { IInventoryReadEncyclopediaRequestData } from "../../eft/inventory/IInventoryReadEncyclopediaRequestData"; -import { IInventorySortRequestData } from "../../eft/inventory/IInventorySortRequestData"; -import { IInventoryCreateMarkerRequestData } from "../../eft/inventory/IInventoryCreateMarkerRequestData"; -import { IInventoryDeleteMarkerRequestData } from "../../eft/inventory/IInventoryDeleteMarkerRequestData"; -import { IInventoryEditMarkerRequestData } from "../../eft/inventory/IInventoryEditMarkerRequestData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IInventoryBindRequestData } from "@spt-aki/models/eft/inventory/IInventoryBindRequestData"; +import { IInventoryCreateMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryCreateMarkerRequestData"; +import { IInventoryDeleteMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryDeleteMarkerRequestData"; +import { IInventoryEditMarkerRequestData } from "@spt-aki/models/eft/inventory/IInventoryEditMarkerRequestData"; +import { IInventoryExamineRequestData } from "@spt-aki/models/eft/inventory/IInventoryExamineRequestData"; +import { IInventoryFoldRequestData } from "@spt-aki/models/eft/inventory/IInventoryFoldRequestData"; +import { IInventoryMergeRequestData } from "@spt-aki/models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryMoveRequestData } from "@spt-aki/models/eft/inventory/IInventoryMoveRequestData"; +import { IInventoryReadEncyclopediaRequestData } from "@spt-aki/models/eft/inventory/IInventoryReadEncyclopediaRequestData"; +import { IInventoryRemoveRequestData } from "@spt-aki/models/eft/inventory/IInventoryRemoveRequestData"; +import { IInventorySortRequestData } from "@spt-aki/models/eft/inventory/IInventorySortRequestData"; +import { IInventorySplitRequestData } from "@spt-aki/models/eft/inventory/IInventorySplitRequestData"; +import { IInventorySwapRequestData } from "@spt-aki/models/eft/inventory/IInventorySwapRequestData"; +import { IInventoryTagRequestData } from "@spt-aki/models/eft/inventory/IInventoryTagRequestData"; +import { IInventoryToggleRequestData } from "@spt-aki/models/eft/inventory/IInventoryToggleRequestData"; +import { IInventoryTransferRequestData } from "@spt-aki/models/eft/inventory/IInventoryTransferRequestData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export interface IInventoryCallbacks { moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/types/models/spt/callbacks/IItemEventCallbacks.d.ts b/types/models/spt/callbacks/IItemEventCallbacks.d.ts index 59db771..6778e54 100644 --- a/types/models/spt/callbacks/IItemEventCallbacks.d.ts +++ b/types/models/spt/callbacks/IItemEventCallbacks.d.ts @@ -1,6 +1,6 @@ -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { IItemEventRouterRequest } from "../../eft/itemEvent/IItemEventRouterRequest"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterRequest } from "@spt-aki/models/eft/itemEvent/IItemEventRouterRequest"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export interface IItemEventCallbacks { handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; } diff --git a/types/models/spt/callbacks/ILauncherCallbacks.d.ts b/types/models/spt/callbacks/ILauncherCallbacks.d.ts index 52dfec6..d37e58c 100644 --- a/types/models/spt/callbacks/ILauncherCallbacks.d.ts +++ b/types/models/spt/callbacks/ILauncherCallbacks.d.ts @@ -1,8 +1,8 @@ -import { IRegisterData } from "../../eft/launcher/IRegisterData"; -import { IRemoveProfileData } from "../../eft/launcher/IRemoveProfileData"; -import { ILoginRequestData } from "../../eft/launcher/ILoginRequestData"; -import { IChangeRequestData } from "../../eft/launcher/IChangeRequestData"; -import { IGetMiniProfileRequestData } from "../../eft/launcher/IGetMiniProfileRequestData.js"; +import { IChangeRequestData } from "@spt-aki/models/eft/launcher/IChangeRequestData"; +import { IGetMiniProfileRequestData } from "@spt-aki/models/eft/launcher/IGetMiniProfileRequestData"; +import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestData"; +import { IRegisterData } from "@spt-aki/models/eft/launcher/IRegisterData"; +import { IRemoveProfileData } from "@spt-aki/models/eft/launcher/IRemoveProfileData"; export interface ILauncherCallbacks { connect(): string; login(url: string, info: ILoginRequestData, sessionID: string): string; diff --git a/types/models/spt/callbacks/ILocationCallbacks.d.ts b/types/models/spt/callbacks/ILocationCallbacks.d.ts index 71656a4..a031a29 100644 --- a/types/models/spt/callbacks/ILocationCallbacks.d.ts +++ b/types/models/spt/callbacks/ILocationCallbacks.d.ts @@ -1,7 +1,7 @@ -import { IGetLocationRequestData } from "../../eft/location/IGetLocationRequestData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { ILocationsGenerateAllResponse } from "../../eft/common/ILocationsSourceDestinationBase"; -import { ILocationBase } from "../../eft/common/ILocationBase"; +import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { ILocationsGenerateAllResponse } from "@spt-aki/models/eft/common/ILocationsSourceDestinationBase"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IGetLocationRequestData } from "@spt-aki/models/eft/location/IGetLocationRequestData"; export interface ILocationCallbacks { getLocationData(url: string, info: any, sessionID: string): IGetBodyResponseData; getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; diff --git a/types/models/spt/callbacks/INoteCallbacks.d.ts b/types/models/spt/callbacks/INoteCallbacks.d.ts index 8453a4f..aec8099 100644 --- a/types/models/spt/callbacks/INoteCallbacks.d.ts +++ b/types/models/spt/callbacks/INoteCallbacks.d.ts @@ -1,6 +1,6 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { INoteActionData } from "../../eft/notes/INoteActionData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { INoteActionData } from "@spt-aki/models/eft/notes/INoteActionData"; export interface INoteCallbacks { addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; diff --git a/types/models/spt/callbacks/INotifierCallbacks.d.ts b/types/models/spt/callbacks/INotifierCallbacks.d.ts index a211310..60b3695 100644 --- a/types/models/spt/callbacks/INotifierCallbacks.d.ts +++ b/types/models/spt/callbacks/INotifierCallbacks.d.ts @@ -1,7 +1,7 @@ -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { INotifierChannel } from "../../eft/notifier/INotifier"; -import { ISelectProfileRequestData } from "../../eft/notifier/ISelectProfileRequestData"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INotifierChannel } from "@spt-aki/models/eft/notifier/INotifier"; +import { ISelectProfileRequestData } from "@spt-aki/models/eft/notifier/ISelectProfileRequestData"; export interface INotifierCallbacks { /** * If we don't have anything to send, it's ok to not send anything back diff --git a/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts b/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts index 4865683..886cc9c 100644 --- a/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts +++ b/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts @@ -1,8 +1,8 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; -import { IPresetBuildActionRequestData } from "../../eft/presetBuild/IPresetBuildActionRequestData"; -import { IWeaponBuild } from "../../eft/profile/IAkiProfile"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IPresetBuildActionRequestData } from "@spt-aki/models/eft/presetBuild/IPresetBuildActionRequestData"; +import { IWeaponBuild } from "@spt-aki/models/eft/profile/IAkiProfile"; export interface IPresetBuildCallbacks { getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; saveWeaponBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/types/models/spt/callbacks/IProfileCallbacks.d.ts b/types/models/spt/callbacks/IProfileCallbacks.d.ts index 9d4d2df..f05532a 100644 --- a/types/models/spt/callbacks/IProfileCallbacks.d.ts +++ b/types/models/spt/callbacks/IProfileCallbacks.d.ts @@ -1,12 +1,12 @@ -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; -import { IProfileChangeNicknameRequestData } from "../../eft/profile/IProfileChangeNicknameRequestData"; -import { IProfileChangeVoiceRequestData } from "../../eft/profile/IProfileChangeVoiceRequestData"; -import { IProfileCreateRequestData } from "../../eft/profile/IProfileCreateRequestData"; -import { IValidateNicknameRequestData } from "../../eft/profile/IValidateNicknameRequestData"; -import { ISearchFriendRequestData } from "../../eft/profile/ISearchFriendRequestData"; -import { ISearchFriendResponse } from "../../eft/profile/ISearchFriendResponse"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { IProfileChangeNicknameRequestData } from "@spt-aki/models/eft/profile/IProfileChangeNicknameRequestData"; +import { IProfileChangeVoiceRequestData } from "@spt-aki/models/eft/profile/IProfileChangeVoiceRequestData"; +import { IProfileCreateRequestData } from "@spt-aki/models/eft/profile/IProfileCreateRequestData"; +import { ISearchFriendRequestData } from "@spt-aki/models/eft/profile/ISearchFriendRequestData"; +import { ISearchFriendResponse } from "@spt-aki/models/eft/profile/ISearchFriendResponse"; +import { IValidateNicknameRequestData } from "@spt-aki/models/eft/profile/IValidateNicknameRequestData"; export interface IProfileCallbacks { onLoad(sessionID: string): any; createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; diff --git a/types/models/spt/callbacks/IQuestCallbacks.d.ts b/types/models/spt/callbacks/IQuestCallbacks.d.ts index 1c4d0c3..546191f 100644 --- a/types/models/spt/callbacks/IQuestCallbacks.d.ts +++ b/types/models/spt/callbacks/IQuestCallbacks.d.ts @@ -1,14 +1,14 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IAcceptQuestRequestData } from "../../eft/quests/IAcceptQuestRequestData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { IListQuestsRequestData } from "../../eft/quests/IListQuestsRequestData"; -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { ICompleteQuestRequestData } from "../../eft/quests/ICompleteQuestRequestData"; -import { IHandoverQuestRequestData } from "../../eft/quests/IHandoverQuestRequestData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; -import { IQuest } from "../../eft/common/tables/IQuest"; -import { IPmcDataRepeatableQuest } from "../../eft/common/tables/IRepeatableQuests"; -import { IRepeatableQuestChangeRequest } from "../../eft/quests/IRepeatableQuestChangeRequest"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IQuest } from "@spt-aki/models/eft/common/tables/IQuest"; +import { IPmcDataRepeatableQuest } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAcceptQuestRequestData } from "@spt-aki/models/eft/quests/IAcceptQuestRequestData"; +import { ICompleteQuestRequestData } from "@spt-aki/models/eft/quests/ICompleteQuestRequestData"; +import { IHandoverQuestRequestData } from "@spt-aki/models/eft/quests/IHandoverQuestRequestData"; +import { IListQuestsRequestData } from "@spt-aki/models/eft/quests/IListQuestsRequestData"; +import { IRepeatableQuestChangeRequest } from "@spt-aki/models/eft/quests/IRepeatableQuestChangeRequest"; export interface IQuestCallbacks { changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/types/models/spt/callbacks/IRagfairCallbacks.d.ts b/types/models/spt/callbacks/IRagfairCallbacks.d.ts index 9282bd4..1157349 100644 --- a/types/models/spt/callbacks/IRagfairCallbacks.d.ts +++ b/types/models/spt/callbacks/IRagfairCallbacks.d.ts @@ -1,13 +1,13 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { ISearchRequestData } from "../../eft/ragfair/ISearchRequestData"; -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { IGetMarketPriceRequestData } from "../../eft/ragfair/IGetMarketPriceRequestData"; -import { IAddOfferRequestData } from "../../eft/ragfair/IAddOfferRequestData"; -import { IRemoveOfferRequestData } from "../../eft/ragfair/IRemoveOfferRequestData"; -import { IExtendOfferRequestData } from "../../eft/ragfair/IExtendOfferRequestData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; -import { IGetItemPriceResult } from "../../eft/ragfair/IGetItemPriceResult"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IAddOfferRequestData } from "@spt-aki/models/eft/ragfair/IAddOfferRequestData"; +import { IExtendOfferRequestData } from "@spt-aki/models/eft/ragfair/IExtendOfferRequestData"; +import { IGetItemPriceResult } from "@spt-aki/models/eft/ragfair/IGetItemPriceResult"; +import { IGetMarketPriceRequestData } from "@spt-aki/models/eft/ragfair/IGetMarketPriceRequestData"; +import { IRemoveOfferRequestData } from "@spt-aki/models/eft/ragfair/IRemoveOfferRequestData"; +import { ISearchRequestData } from "@spt-aki/models/eft/ragfair/ISearchRequestData"; export interface IRagfairCallbacks { load(): void; search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData; diff --git a/types/models/spt/callbacks/IRepairCallbacks.d.ts b/types/models/spt/callbacks/IRepairCallbacks.d.ts index e8183c9..b83fde8 100644 --- a/types/models/spt/callbacks/IRepairCallbacks.d.ts +++ b/types/models/spt/callbacks/IRepairCallbacks.d.ts @@ -1,7 +1,7 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; -import { IRepairActionDataRequest } from "../../eft/repair/IRepairActionDataRequest"; -import { ITraderRepairActionDataRequest } from "../../eft/repair/ITraderRepairActionDataRequest"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IRepairActionDataRequest } from "@spt-aki/models/eft/repair/IRepairActionDataRequest"; +import { ITraderRepairActionDataRequest } from "@spt-aki/models/eft/repair/ITraderRepairActionDataRequest"; export interface IRepairCallbacks { traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; diff --git a/types/models/spt/callbacks/ITradeCallbacks.d.ts b/types/models/spt/callbacks/ITradeCallbacks.d.ts index 2f41d54..b6daa5d 100644 --- a/types/models/spt/callbacks/ITradeCallbacks.d.ts +++ b/types/models/spt/callbacks/ITradeCallbacks.d.ts @@ -1,7 +1,7 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IProcessRagfairTradeRequestData } from "../../eft/trade/IProcessRagfairTradeRequestData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; -import { IProcessBaseTradeRequestData } from "../../eft/trade/IProcessBaseTradeRequestData"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBaseTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBaseTradeRequestData"; +import { IProcessRagfairTradeRequestData } from "@spt-aki/models/eft/trade/IProcessRagfairTradeRequestData"; export interface ITradeCallbacks { processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/types/models/spt/callbacks/ITraderCallbacks.d.ts b/types/models/spt/callbacks/ITraderCallbacks.d.ts index b784408..23cd532 100644 --- a/types/models/spt/callbacks/ITraderCallbacks.d.ts +++ b/types/models/spt/callbacks/ITraderCallbacks.d.ts @@ -1,6 +1,6 @@ -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; -import { ITraderAssort, ITraderBase } from "../../eft/common/tables/ITrader"; -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { ITraderAssort, ITraderBase } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; export interface ITraderCallbacks { load(): void; getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; diff --git a/types/models/spt/callbacks/IWeatherCallbacks.d.ts b/types/models/spt/callbacks/IWeatherCallbacks.d.ts index 9ac72ae..1ba5b47 100644 --- a/types/models/spt/callbacks/IWeatherCallbacks.d.ts +++ b/types/models/spt/callbacks/IWeatherCallbacks.d.ts @@ -1,5 +1,5 @@ -import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; -import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; export interface IWeatherCallbacks { getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; } diff --git a/types/models/spt/callbacks/IWishlistCallbacks.d.ts b/types/models/spt/callbacks/IWishlistCallbacks.d.ts index e5d519c..3ab5c68 100644 --- a/types/models/spt/callbacks/IWishlistCallbacks.d.ts +++ b/types/models/spt/callbacks/IWishlistCallbacks.d.ts @@ -1,6 +1,6 @@ -import { IPmcData } from "../../eft/common/IPmcData"; -import { IWishlistActionData } from "../../eft/wishlist/IWishlistActionData"; -import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IWishlistActionData } from "@spt-aki/models/eft/wishlist/IWishlistActionData"; export interface IWishlistCallbacks { addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; diff --git a/types/models/spt/config/IAirdropConfig.d.ts b/types/models/spt/config/IAirdropConfig.d.ts index 21bb32e..1975cf7 100644 --- a/types/models/spt/config/IAirdropConfig.d.ts +++ b/types/models/spt/config/IAirdropConfig.d.ts @@ -1,6 +1,6 @@ -import { AirdropTypeEnum } from "../../../models/enums/AirdropType"; -import { MinMax } from "../../common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { AirdropTypeEnum } from "@spt-aki/models/enums/AirdropType"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IAirdropConfig extends IBaseConfig { kind: "aki-airdrop"; airdropChancePercent: AirdropChancePercent; @@ -52,4 +52,6 @@ export interface AirdropLoot { itemStackLimits: Record; /** Armor levels to allow inside crate e.g. [4,5,6] */ armorLevelWhitelist?: number[]; + /** Should boss items be added to airdrop crate */ + allowBossItems: boolean; } diff --git a/types/models/spt/config/IBotConfig.d.ts b/types/models/spt/config/IBotConfig.d.ts index 65aaa97..517ec27 100644 --- a/types/models/spt/config/IBotConfig.d.ts +++ b/types/models/spt/config/IBotConfig.d.ts @@ -1,7 +1,7 @@ -import { GenerationData } from "../../../models/eft/common/tables/IBotType"; -import { MinMax } from "../../common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; -import { IBotDurability } from "./IBotDurability"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { GenerationData } from "@spt-aki/models/eft/common/tables/IBotType"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; +import { IBotDurability } from "@spt-aki/models/spt/config/IBotDurability"; export interface IBotConfig extends IBaseConfig { kind: "aki-bot"; /** How many variants of each bot should be generated on raid start */ @@ -25,6 +25,8 @@ export interface IBotConfig extends IBaseConfig { showTypeInNickname: boolean; /** What ai brain should a normal scav use per map */ assaultBrainType: Record>; + /** What ai brain should a player scav use per map */ + playerScavBrainType: Record>; /** Max number of bots that can be spawned in a raid at any one time */ maxBotCap: Record; /** Chance scav has fake pscav name e.g. Scav name (player name) */ @@ -102,6 +104,8 @@ export interface EquipmentFilters { weightingAdjustmentsByBotLevel: WeightingAdjustmentDetails[]; /** Same as weightingAdjustments but based on player level instead of bot level */ weightingAdjustmentsByPlayerLevel?: WeightingAdjustmentDetails[]; + /** Should the stock mod be forced to spawn on bot */ + forceStock: boolean; } export interface ModLimits { /** How many scopes are allowed on a weapon - hard coded to work with OPTIC_SCOPE, ASSAULT_SCOPE, COLLIMATOR, COMPACT_COLLIMATOR */ diff --git a/types/models/spt/config/ICoreConfig.d.ts b/types/models/spt/config/ICoreConfig.d.ts index 1207359..68fbc14 100644 --- a/types/models/spt/config/ICoreConfig.d.ts +++ b/types/models/spt/config/ICoreConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface ICoreConfig extends IBaseConfig { kind: "aki-core"; akiVersion: string; @@ -19,7 +19,19 @@ export interface IGameFixes { fixShotgunDispersion: boolean; /** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load*/ removeModItemsFromProfile: boolean; + /** Fix issues that cause the game to not start due to inventory item issues */ + fixProfileBreakingInventoryItemIssues: boolean; } export interface IServerFeatures { autoInstallModDependencies: boolean; + compressProfile: boolean; + chatbotFeatures: IChatbotFeatures; +} +export interface IChatbotFeatures { + sptFriendEnabled: boolean; + commandoEnabled: boolean; + commandoFeatures: ICommandoFeatures; +} +export interface ICommandoFeatures { + giveCommandEnabled: boolean; } diff --git a/types/models/spt/config/IGiftsConfig.d.ts b/types/models/spt/config/IGiftsConfig.d.ts index 37a132d..b73761b 100644 --- a/types/models/spt/config/IGiftsConfig.d.ts +++ b/types/models/spt/config/IGiftsConfig.d.ts @@ -1,9 +1,10 @@ -import { Item } from "../../../models/eft/common/tables/IItem"; -import { IUserDialogInfo } from "../../../models/eft/profile/IAkiProfile"; -import { GiftSenderType } from "../../../models/enums/GiftSenderType"; -import { SeasonalEventType } from "../../../models/enums/SeasonalEventType"; -import { Traders } from "../../../models/enums/Traders"; -import { IBaseConfig } from "./IBaseConfig"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { GiftSenderType } from "@spt-aki/models/enums/GiftSenderType"; +import { SeasonalEventType } from "@spt-aki/models/enums/SeasonalEventType"; +import { Traders } from "@spt-aki/models/enums/Traders"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; +import { IProfileChangeEvent } from "../dialog/ISendMessageDetails"; export interface IGiftsConfig extends IBaseConfig { kind: "aki-gifts"; gifts: Record; @@ -25,4 +26,6 @@ export interface Gift { timestampToSend?: number; associatedEvent: SeasonalEventType; collectionTimeHours: number; + /** Optional, can be used to change profile settings like level/skills */ + profileChangeEvents?: IProfileChangeEvent[]; } diff --git a/types/models/spt/config/IHealthConfig.d.ts b/types/models/spt/config/IHealthConfig.d.ts index fdbf656..49b405f 100644 --- a/types/models/spt/config/IHealthConfig.d.ts +++ b/types/models/spt/config/IHealthConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IHealthConfig extends IBaseConfig { kind: "aki-health"; healthMultipliers: HealthMultipliers; diff --git a/types/models/spt/config/IHideoutConfig.d.ts b/types/models/spt/config/IHideoutConfig.d.ts index bedd941..5386fb3 100644 --- a/types/models/spt/config/IHideoutConfig.d.ts +++ b/types/models/spt/config/IHideoutConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IHideoutConfig extends IBaseConfig { kind: "aki-hideout"; runIntervalSeconds: number; diff --git a/types/models/spt/config/IHttpConfig.d.ts b/types/models/spt/config/IHttpConfig.d.ts index aff7aec..9007245 100644 --- a/types/models/spt/config/IHttpConfig.d.ts +++ b/types/models/spt/config/IHttpConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IHttpConfig extends IBaseConfig { webSocketPingDelayMs: number; kind: "aki-http"; diff --git a/types/models/spt/config/IInRaidConfig.d.ts b/types/models/spt/config/IInRaidConfig.d.ts index 3d3b1a2..5b60526 100644 --- a/types/models/spt/config/IInRaidConfig.d.ts +++ b/types/models/spt/config/IInRaidConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IInRaidConfig extends IBaseConfig { kind: "aki-inraid"; MIAOnRaidEnd: boolean; @@ -8,8 +8,12 @@ export interface IInRaidConfig extends IBaseConfig { save: Save; /** Names of car extracts */ carExtracts: string[]; - /** Fene rep gain from a single car extract */ + /** Names of coop extracts */ + coopExtracts: string[]; + /** Fence rep gain from a single car extract */ carExtractBaseStandingGain: number; + /** Fence rep gain from a single coop extract */ + coopExtractBaseStandingGain: number; /** Fence rep gain when successfully extracting as pscav */ scavExtractGain: number; /** On death should items in your secure keep their Find in raid status regardless of how you finished the raid */ diff --git a/types/models/spt/config/IInsuranceConfig.d.ts b/types/models/spt/config/IInsuranceConfig.d.ts index b51dc8b..ffd0245 100644 --- a/types/models/spt/config/IInsuranceConfig.d.ts +++ b/types/models/spt/config/IInsuranceConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IInsuranceConfig extends IBaseConfig { kind: "aki-insurance"; /** Insurance price multiplier */ diff --git a/types/models/spt/config/IInventoryConfig.d.ts b/types/models/spt/config/IInventoryConfig.d.ts index 6657a1a..6f1498d 100644 --- a/types/models/spt/config/IInventoryConfig.d.ts +++ b/types/models/spt/config/IInventoryConfig.d.ts @@ -1,5 +1,5 @@ -import { MinMax } from "../../../models/common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IInventoryConfig extends IBaseConfig { kind: "aki-inventory"; /** Should new items purchased by flagged as found in raid */ @@ -23,4 +23,5 @@ export interface ISealedAirdropContainerSettings { weaponModRewardLimits: Record; rewardTypeLimits: Record; ammoBoxWhitelist: string[]; + allowBossItems: boolean; } diff --git a/types/models/spt/config/IItemConfig.d.ts b/types/models/spt/config/IItemConfig.d.ts index 5ecccc2..506ee76 100644 --- a/types/models/spt/config/IItemConfig.d.ts +++ b/types/models/spt/config/IItemConfig.d.ts @@ -1,5 +1,8 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IItemConfig extends IBaseConfig { kind: "aki-item"; + /** Items that should be globally blacklisted */ blacklist: string[]; + /** Items that can only be found on bosses */ + bossItems: string[]; } diff --git a/types/models/spt/config/ILocaleConfig.d.ts b/types/models/spt/config/ILocaleConfig.d.ts index 0a8955c..78e1cfb 100644 --- a/types/models/spt/config/ILocaleConfig.d.ts +++ b/types/models/spt/config/ILocaleConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface ILocaleConfig extends IBaseConfig { kind: "aki-locale"; /** e.g. ru/en/cn/fr etc, or 'system', will take computer locale setting */ diff --git a/types/models/spt/config/ILocationConfig.d.ts b/types/models/spt/config/ILocationConfig.d.ts index d1af8b3..5c804a4 100644 --- a/types/models/spt/config/ILocationConfig.d.ts +++ b/types/models/spt/config/ILocationConfig.d.ts @@ -1,6 +1,6 @@ -import { MinMax } from "../../../models/common/MinMax"; -import { BossLocationSpawn, Wave } from "../../../models/eft/common/ILocationBase"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { BossLocationSpawn, Wave } from "@spt-aki/models/eft/common/ILocationBase"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface ILocationConfig extends IBaseConfig { kind: "aki-location"; /** Waves with a min/max of the same value don't spawn any bots, bsg only spawn the difference between min and max */ @@ -36,15 +36,8 @@ export interface ILocationConfig extends IBaseConfig { allowDuplicateItemsInStaticContainers: boolean; /** Key: map, value: loose loot ids to ignore */ looseLootBlacklist: Record; -} -export interface IContainerRandomistionSettings { - enabled: boolean; - /** What maps can use the container randomisation feature */ - maps: Record; - /** Some container types don't work when randomised */ - containerTypesToNotRandomise: string[]; - containerGroupMinSizeMultiplier: number; - containerGroupMaxSizeMultiplier: number; + /** Key: map, value: settings to control how long scav raids are*/ + scavRaidTimeSettings: IScavRaidTimeSettings; } export interface IFixEmptyBotWavesSettings { enabled: boolean; @@ -86,3 +79,33 @@ export interface LootMultiplier { terminal: number; town: number; } +export interface IContainerRandomistionSettings { + enabled: boolean; + /** What maps can use the container randomisation feature */ + maps: Record; + /** Some container types don't work when randomised */ + containerTypesToNotRandomise: string[]; + containerGroupMinSizeMultiplier: number; + containerGroupMaxSizeMultiplier: number; +} +export interface IScavRaidTimeSettings { + settings: IScavRaidTimeConfigSettings; + maps: Record; +} +export interface IScavRaidTimeConfigSettings { + trainArrivalDelayObservedSeconds: number; +} +export interface IScavRaidTimeLocationSettings { + /** Should loot be reduced by same percent length of raid is reduced by */ + reduceLootByPercent: boolean; + /** Smallest % of container loot that should be spawned */ + minStaticLootPercent: number; + /** Smallest % of loose loot that should be spawned */ + minDynamicLootPercent: number; + /** Chance raid time is reduced */ + reducedChancePercent: number; + /** How much should raid time be reduced - weighted */ + reductionPercentWeights: Record; + /** Should bot waves be removed / spawn times be adjusted */ + adjustWaves: boolean; +} diff --git a/types/models/spt/config/ILootConfig.d.ts b/types/models/spt/config/ILootConfig.d.ts index f7fb472..003d6c6 100644 --- a/types/models/spt/config/ILootConfig.d.ts +++ b/types/models/spt/config/ILootConfig.d.ts @@ -1,5 +1,5 @@ -import { Spawnpoint } from "../../../models/eft/common/ILooseLoot"; -import { IBaseConfig } from "./IBaseConfig"; +import { Spawnpoint } from "@spt-aki/models/eft/common/ILooseLoot"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface ILootConfig extends IBaseConfig { kind: "aki-loot"; /** Spawn positions to add into a map, key=mapid */ diff --git a/types/models/spt/config/ILostOnDeathConfig.d.ts b/types/models/spt/config/ILostOnDeathConfig.d.ts index 3fb98fb..ad7e7b9 100644 --- a/types/models/spt/config/ILostOnDeathConfig.d.ts +++ b/types/models/spt/config/ILostOnDeathConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface ILostOnDeathConfig extends IBaseConfig { kind: "aki-lostondeath"; /** What equipment in each slot should be lost on death */ diff --git a/types/models/spt/config/IMatchConfig.d.ts b/types/models/spt/config/IMatchConfig.d.ts index 92c4d77..dc7a8cb 100644 --- a/types/models/spt/config/IMatchConfig.d.ts +++ b/types/models/spt/config/IMatchConfig.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IMatchConfig extends IBaseConfig { kind: "aki-match"; enabled: boolean; diff --git a/types/models/spt/config/IPlayerScavConfig.d.ts b/types/models/spt/config/IPlayerScavConfig.d.ts index a10f28f..7f587e0 100644 --- a/types/models/spt/config/IPlayerScavConfig.d.ts +++ b/types/models/spt/config/IPlayerScavConfig.d.ts @@ -1,5 +1,5 @@ -import { GenerationData } from "../../../models/eft/common/tables/IBotType"; -import { IBaseConfig } from "./IBaseConfig"; +import { GenerationData } from "@spt-aki/models/eft/common/tables/IBotType"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IPlayerScavConfig extends IBaseConfig { kind: "aki-playerscav"; karmaLevel: Record; diff --git a/types/models/spt/config/IPmChatResponse.d.ts b/types/models/spt/config/IPmChatResponse.d.ts index c48b274..50afdbc 100644 --- a/types/models/spt/config/IPmChatResponse.d.ts +++ b/types/models/spt/config/IPmChatResponse.d.ts @@ -1,4 +1,4 @@ -import { IBaseConfig } from "./IBaseConfig"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IPmcChatResponse extends IBaseConfig { kind: "aki-pmcchatresponse"; victim: IResponseSettings; diff --git a/types/models/spt/config/IPmcConfig.d.ts b/types/models/spt/config/IPmcConfig.d.ts index 0f74620..d67e6c2 100644 --- a/types/models/spt/config/IPmcConfig.d.ts +++ b/types/models/spt/config/IPmcConfig.d.ts @@ -1,6 +1,6 @@ -import { MemberCategory } from "../../../models/enums/MemberCategory"; -import { MinMax } from "../../common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { MemberCategory } from "@spt-aki/models/enums/MemberCategory"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IPmcConfig extends IBaseConfig { kind: "aki-pmc"; /** What game version should the PMC have */ diff --git a/types/models/spt/config/IQuestConfig.d.ts b/types/models/spt/config/IQuestConfig.d.ts index 8ce461b..c190d01 100644 --- a/types/models/spt/config/IQuestConfig.d.ts +++ b/types/models/spt/config/IQuestConfig.d.ts @@ -1,7 +1,7 @@ -import { MinMax } from "../../../models/common/MinMax"; -import { SeasonalEventType } from "../../../models/enums/SeasonalEventType"; -import { ELocationName } from "../../enums/ELocationName"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { ELocationName } from "@spt-aki/models/enums/ELocationName"; +import { SeasonalEventType } from "@spt-aki/models/enums/SeasonalEventType"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IQuestConfig extends IBaseConfig { kind: "aki-quest"; redeemTime: number; @@ -31,6 +31,7 @@ export interface IEventQuestData { yearly: boolean; } export interface IRepeatableQuestConfig { + id: string; name: string; side: string; types: string[]; @@ -54,33 +55,49 @@ export interface IRewardScaling { items: number[]; reputation: number[]; rewardSpread: number; + skillRewardChance: number[]; + skillPointReward: number[]; } export interface ITraderWhitelist { traderId: string; questTypes: string[]; + rewardBaseWhitelist: string[]; + rewardCanBeWeapon: boolean; + weaponRewardChancePercent: number; } export interface IRepeatableQuestTypesConfig { Exploration: IExploration; Completion: ICompletion; + Pickup: IPickup; Elimination: IEliminationConfig[]; } -export interface IExploration { +export interface IExploration extends IBaseQuestConfig { maxExtracts: number; + maxExtractsWithSpecificExit: number; specificExits: ISpecificExits; } export interface ISpecificExits { probability: number; passageRequirementWhitelist: string[]; } -export interface ICompletion { +export interface ICompletion extends IBaseQuestConfig { minRequestedAmount: number; maxRequestedAmount: number; + uniqueItemCount: number; minRequestedBulletAmount: number; maxRequestedBulletAmount: number; useWhitelist: boolean; useBlacklist: boolean; } -export interface IEliminationConfig { +export interface IPickup extends IBaseQuestConfig { + ItemTypeToFetchWithMaxCount: IPickupTypeWithMaxCount[]; +} +export interface IPickupTypeWithMaxCount { + itemType: string; + maxPickupCount: number; + minPickupCount: number; +} +export interface IEliminationConfig extends IBaseQuestConfig { levelRange: MinMax; targets: ITarget[]; bodyPartProb: number; @@ -92,16 +109,31 @@ export interface IEliminationConfig { minDist: number; maxKills: number; minKills: number; + minBossKills: number; + maxBossKills: number; + minPmcKills: number; + maxPmcKills: number; + weaponCategoryRequirementProb: number; + weaponCategoryRequirements: IWeaponRequirement[]; + weaponRequirementProb: number; + weaponRequirements: IWeaponRequirement[]; +} +export interface IBaseQuestConfig { + possibleSkillRewards: string[]; } export interface ITarget extends IProbabilityObject { data: IBossInfo; } export interface IBossInfo { isBoss: boolean; + isPmc: boolean; } export interface IBodyPart extends IProbabilityObject { data: string[]; } +export interface IWeaponRequirement extends IProbabilityObject { + data: string[]; +} export interface IProbabilityObject { key: string; relativeProbability: number; diff --git a/types/models/spt/config/IRagfairConfig.d.ts b/types/models/spt/config/IRagfairConfig.d.ts index 7aea24f..14d77f1 100644 --- a/types/models/spt/config/IRagfairConfig.d.ts +++ b/types/models/spt/config/IRagfairConfig.d.ts @@ -1,5 +1,5 @@ -import { MinMax } from "../../common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IRagfairConfig extends IBaseConfig { kind: "aki-ragfair"; /** How many seconds should pass before expired offers and procesed + player offers checked if sold */ @@ -19,15 +19,18 @@ export interface Sell { time: Time; /** Player offer reputation gain/loss settings */ reputation: Reputation; - /** How many hours are simulated to figure out if player offer was sold */ - simulatedSellHours: number; /**Seconds from clicking remove to remove offer from market */ expireSeconds: number; } export interface Chance { + /** Base chance percent to sell an item */ base: number; - overpriced: number; - underpriced: number; + /** Value to multiply the sell chance by */ + sellMultiplier: number; + /** Max possible sell chance % for a player listed offer */ + maxSellChancePercent: number; + /** Min possible sell chance % for a player listed offer */ + minSellChancePercent: number; } export interface Time extends MinMax { base: number; @@ -129,7 +132,7 @@ export interface Blacklist { enableBsgList: boolean; /** Should quest items be blacklisted from flea */ enableQuestList: boolean; - /** Should trader items that are blacklisted by bsg */ + /** Should trader items that are blacklisted by bsg be listed on flea */ traderItems: boolean; } export interface IUnreasonableModPrices { diff --git a/types/models/spt/config/IRepairConfig.d.ts b/types/models/spt/config/IRepairConfig.d.ts index b6db332..9e23cc4 100644 --- a/types/models/spt/config/IRepairConfig.d.ts +++ b/types/models/spt/config/IRepairConfig.d.ts @@ -1,13 +1,35 @@ -import { MinMax } from "../../../models/common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IRepairConfig extends IBaseConfig { kind: "aki-repair"; priceMultiplier: number; applyRandomizeDurabilityLoss: boolean; weaponSkillRepairGain: number; armorKitSkillPointGainPerRepairPointMultiplier: number; + /** INT gain multiplier per repaired item type */ + repairKitIntellectGainMultiplier: IIntellectGainValues; + maxIntellectGainPerRepair: IMaxIntellectGainValues; + weaponTreatment: IWeaponTreatmentRepairValues; repairKit: RepairKit; } +export interface IIntellectGainValues { + weapon: number; + armor: number; +} +export interface IMaxIntellectGainValues { + kit: number; + trader: number; +} +export interface IWeaponTreatmentRepairValues { + /** The chance to gain more weapon maintenance skill */ + critSuccessChance: number; + critSuccessAmount: number; + /** The chance to gain less weapon maintenance skill */ + critFailureChance: number; + critFailureAmount: number; + /** The multiplier used for calculating weapon maintenance XP */ + pointGainMultiplier: number; +} export interface RepairKit { armor: BonusSettings; weapon: BonusSettings; diff --git a/types/models/spt/config/IScavCaseConfig.d.ts b/types/models/spt/config/IScavCaseConfig.d.ts index 86a8df3..92f2722 100644 --- a/types/models/spt/config/IScavCaseConfig.d.ts +++ b/types/models/spt/config/IScavCaseConfig.d.ts @@ -1,5 +1,5 @@ -import { MinMax } from "../../common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IScavCaseConfig extends IBaseConfig { kind: "aki-scavcase"; rewardItemValueRangeRub: Record; @@ -9,6 +9,7 @@ export interface IScavCaseConfig extends IBaseConfig { rewardItemBlacklist: string[]; allowMultipleMoneyRewardsPerRarity: boolean; allowMultipleAmmoRewardsPerRarity: boolean; + allowBossItemsAsRewards: boolean; } export interface MoneyRewards { moneyRewardChancePercent: number; diff --git a/types/models/spt/config/ISeasonalEventConfig.d.ts b/types/models/spt/config/ISeasonalEventConfig.d.ts index 7a5295c..4ac903b 100644 --- a/types/models/spt/config/ISeasonalEventConfig.d.ts +++ b/types/models/spt/config/ISeasonalEventConfig.d.ts @@ -1,5 +1,5 @@ -import { SeasonalEventType } from "../../../models/enums/SeasonalEventType"; -import { IBaseConfig } from "./IBaseConfig"; +import { SeasonalEventType } from "@spt-aki/models/enums/SeasonalEventType"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface ISeasonalEventConfig extends IBaseConfig { kind: "aki-seasonalevents"; enableSeasonalEventDetection: boolean; diff --git a/types/models/spt/config/ITraderConfig.d.ts b/types/models/spt/config/ITraderConfig.d.ts index 85adf73..29b3d2d 100644 --- a/types/models/spt/config/ITraderConfig.d.ts +++ b/types/models/spt/config/ITraderConfig.d.ts @@ -1,5 +1,6 @@ -import { MinMax } from "../../../models/common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; +import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; export interface ITraderConfig extends IBaseConfig { kind: "aki-trader"; updateTime: UpdateTime[]; @@ -35,6 +36,12 @@ export interface FenceConfig { /** Block seasonal items from appearing when season is inactive */ blacklistSeasonalItems: boolean; blacklist: string[]; + coopExtractGift: CoopExtractReward; +} +export interface CoopExtractReward extends LootRequest { + sendGift: boolean; + messageLocaleIds: string[]; + giftExpiryHours: number; } export interface DiscountOptions { assortSize: number; diff --git a/types/models/spt/config/IWeatherConfig.d.ts b/types/models/spt/config/IWeatherConfig.d.ts index 6ecf35b..10f5459 100644 --- a/types/models/spt/config/IWeatherConfig.d.ts +++ b/types/models/spt/config/IWeatherConfig.d.ts @@ -1,6 +1,6 @@ -import { WindDirection } from "../../../models/enums/WindDirection"; -import { MinMax } from "../../common/MinMax"; -import { IBaseConfig } from "./IBaseConfig"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { WindDirection } from "@spt-aki/models/enums/WindDirection"; +import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig"; export interface IWeatherConfig extends IBaseConfig { kind: "aki-weather"; acceleration: number; diff --git a/types/models/spt/controllers/IBotController.d.ts b/types/models/spt/controllers/IBotController.d.ts index 010e208..3e8e035 100644 --- a/types/models/spt/controllers/IBotController.d.ts +++ b/types/models/spt/controllers/IBotController.d.ts @@ -1,7 +1,7 @@ -import { IGenerateBotsRequestData } from "../../eft/bot/IGenerateBotsRequestData"; -import { IBotBase } from "../../eft/common/tables/IBotBase"; -import { IBotCore } from "../../eft/common/tables/IBotCore"; -import { Difficulty } from "../../eft/common/tables/IBotType"; +import { IGenerateBotsRequestData } from "@spt-aki/models/eft/bot/IGenerateBotsRequestData"; +import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IBotCore } from "@spt-aki/models/eft/common/tables/IBotCore"; +import { Difficulty } from "@spt-aki/models/eft/common/tables/IBotType"; export interface IBotController { getBotLimit(type: string): number; getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty; diff --git a/types/models/spt/dialog/ISendMessageDetails.d.ts b/types/models/spt/dialog/ISendMessageDetails.d.ts index 2f09733..2068ede 100644 --- a/types/models/spt/dialog/ISendMessageDetails.d.ts +++ b/types/models/spt/dialog/ISendMessageDetails.d.ts @@ -1,7 +1,7 @@ -import { Item } from "../../../models/eft/common/tables/IItem"; -import { ISystemData, IUserDialogInfo, MessageContentRagfair } from "../../../models/eft/profile/IAkiProfile"; -import { MessageType } from "../../../models/enums/MessageType"; -import { Traders } from "../../../models/enums/Traders"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ISystemData, IUserDialogInfo, MessageContentRagfair } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; +import { Traders } from "@spt-aki/models/enums/Traders"; export interface ISendMessageDetails { /** Player id */ recipientId: string; @@ -25,6 +25,12 @@ export interface ISendMessageDetails { systemData?: ISystemData; /** Optional - Used by ragfair messages */ ragfairDetails?: MessageContentRagfair; - /** Optional - Usage not known, unsure of purpose, even dumps dont have it */ - profileChangeEvents?: any[]; + /** OPTIONAL - allows modification of profile settings via mail */ + profileChangeEvents?: IProfileChangeEvent[]; +} +export interface IProfileChangeEvent { + _id: string; + Type: "TraderSalesSum" | "TraderStanding" | "ProfileLevel" | "SkillPoints" | "ExamineAllItems" | "UnlockTrader"; + value: number; + entity?: string; } diff --git a/types/models/spt/generators/IBotGenerator.d.ts b/types/models/spt/generators/IBotGenerator.d.ts index 9043945..8c0b979 100644 --- a/types/models/spt/generators/IBotGenerator.d.ts +++ b/types/models/spt/generators/IBotGenerator.d.ts @@ -1,5 +1,5 @@ -import { Inventory as PmcInventory } from "../../eft/common/tables/IBotBase"; -import { Inventory, Chances, Generation } from "../../eft/common/tables/IBotType"; +import { Inventory as PmcInventory } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { Chances, Generation, Inventory } from "@spt-aki/models/eft/common/tables/IBotType"; export interface IBotGenerator { generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; } diff --git a/types/models/spt/generators/ILocationGenerator.d.ts b/types/models/spt/generators/ILocationGenerator.d.ts index 530ceca..347d5fa 100644 --- a/types/models/spt/generators/ILocationGenerator.d.ts +++ b/types/models/spt/generators/ILocationGenerator.d.ts @@ -1,5 +1,5 @@ -import { IStaticContainerProps, IStaticLootDetails, IStaticAmmoDetails, IStaticForcedProps } from "../../eft/common/tables/ILootBase"; -import { ILooseLoot, SpawnpointTemplate } from "../../eft/common/ILooseLoot"; +import { ILooseLoot, SpawnpointTemplate } from "@spt-aki/models/eft/common/ILooseLoot"; +import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "@spt-aki/models/eft/common/tables/ILootBase"; export interface ILocationGenerator { generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record, staticAmmoDist: Record, locationName: string): IStaticContainerProps; generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): SpawnpointTemplate[]; diff --git a/types/models/spt/generators/IRagfairAssortGenerator.d.ts b/types/models/spt/generators/IRagfairAssortGenerator.d.ts index 6670540..bcd26c2 100644 --- a/types/models/spt/generators/IRagfairAssortGenerator.d.ts +++ b/types/models/spt/generators/IRagfairAssortGenerator.d.ts @@ -1,4 +1,4 @@ -import { Item } from "../../eft/common/tables/IItem"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; export interface IRagfairAssortGenerator { getAssortItems(): Item[]; } diff --git a/types/models/spt/generators/IRagfairOfferGenerator.d.ts b/types/models/spt/generators/IRagfairOfferGenerator.d.ts index 30b4be5..bb5fdf9 100644 --- a/types/models/spt/generators/IRagfairOfferGenerator.d.ts +++ b/types/models/spt/generators/IRagfairOfferGenerator.d.ts @@ -1,6 +1,6 @@ -import { IBarterScheme } from "../../eft/common/tables/ITrader"; -import { IRagfairOffer } from "../../eft/ragfair/IRagfairOffer"; -import { Item } from "../../eft/common/tables/IItem"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { IBarterScheme } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; export interface IRagfairOfferGenerator { createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece: boolean): IRagfairOffer; } diff --git a/types/models/spt/location/IRaidChanges.d.ts b/types/models/spt/location/IRaidChanges.d.ts new file mode 100644 index 0000000..b7a989b --- /dev/null +++ b/types/models/spt/location/IRaidChanges.d.ts @@ -0,0 +1,8 @@ +export interface IRaidChanges { + /** What percentage of dynamic loot should the map contain */ + dynamicLootPercent: number; + /** What percentage of static loot should the map contain */ + staticLootPercent: number; + /** How many seconds into the raid is the player simulated to spawn in at */ + simulatedRaidStartSeconds: number; +} diff --git a/types/models/spt/logging/IClientLogRequest.d.ts b/types/models/spt/logging/IClientLogRequest.d.ts new file mode 100644 index 0000000..b7e1b36 --- /dev/null +++ b/types/models/spt/logging/IClientLogRequest.d.ts @@ -0,0 +1,8 @@ +import { LogLevel } from "@spt-aki/models/spt/logging/LogLevel"; +export interface IClientLogRequest { + Source: string; + Level: LogLevel | string; + Message: string; + Color?: string; + BackgroundColor?: string; +} diff --git a/types/models/spt/logging/LogLevel.d.ts b/types/models/spt/logging/LogLevel.d.ts new file mode 100644 index 0000000..567733b --- /dev/null +++ b/types/models/spt/logging/LogLevel.d.ts @@ -0,0 +1,8 @@ +export declare enum LogLevel { + ERROR = 0, + WARN = 1, + SUCCESS = 2, + INFO = 3, + CUSTOM = 4, + DEBUG = 5 +} diff --git a/types/models/spt/mod/IPackageJsonData.d.ts b/types/models/spt/mod/IPackageJsonData.d.ts index 06f7454..b07d00e 100644 --- a/types/models/spt/mod/IPackageJsonData.d.ts +++ b/types/models/spt/mod/IPackageJsonData.d.ts @@ -1,11 +1,16 @@ export interface IPackageJsonData { incompatibilities?: string[]; + loadBefore?: string[]; + loadAfter?: string[]; dependencies?: Record; modDependencies?: Record; name: string; author: string; version: string; akiVersion: string; + /** We deliberately purge this data */ + scripts: Record; + devDependencies: Record; licence: string; main: string; isBundleMod: boolean; diff --git a/types/models/spt/mod/NewItemDetails.d.ts b/types/models/spt/mod/NewItemDetails.d.ts index 9e37cc9..304462d 100644 --- a/types/models/spt/mod/NewItemDetails.d.ts +++ b/types/models/spt/mod/NewItemDetails.d.ts @@ -1,4 +1,4 @@ -import { ITemplateItem, Props } from "../../eft/common/tables/ITemplateItem"; +import { ITemplateItem, Props } from "@spt-aki/models/eft/common/tables/ITemplateItem"; export declare abstract class NewItemDetailsBase { /** Price of the item on flea market */ fleaPriceRoubles: number; diff --git a/types/models/spt/repeatable/IQuestTypePool.d.ts b/types/models/spt/repeatable/IQuestTypePool.d.ts new file mode 100644 index 0000000..bce68e8 --- /dev/null +++ b/types/models/spt/repeatable/IQuestTypePool.d.ts @@ -0,0 +1,32 @@ +import { ELocationName } from "@spt-aki/models/enums/ELocationName"; +export interface IQuestTypePool { + types: string[]; + pool: IQuestPool; +} +export interface IQuestPool { + Exploration: IExplorationPool; + Elimination: IEliminationPool; + Pickup: IExplorationPool; +} +export interface IExplorationPool { + locations: Partial>; +} +export interface IEliminationPool { + targets: IEliminationTargetPool; +} +export interface IEliminationTargetPool { + Savage?: ITargetLocation; + AnyPmc?: ITargetLocation; + bossBully?: ITargetLocation; + bossGluhar?: ITargetLocation; + bossKilla?: ITargetLocation; + bossSanitar?: ITargetLocation; + bossTagilla?: ITargetLocation; + bossKnight?: ITargetLocation; + bossZryachiy?: ITargetLocation; + bossBoar?: ITargetLocation; + bossBoarSniper?: ITargetLocation; +} +export interface ITargetLocation { + locations: string[]; +} diff --git a/types/models/spt/server/IDatabaseTables.d.ts b/types/models/spt/server/IDatabaseTables.d.ts index 66f9afb..98a0dbd 100644 --- a/types/models/spt/server/IDatabaseTables.d.ts +++ b/types/models/spt/server/IDatabaseTables.d.ts @@ -1,26 +1,26 @@ -import { IQteData } from "../../../models/eft/hideout/IQteData"; -import { IEquipmentBuild } from "../../../models/eft/profile/IAkiProfile"; -import { IGlobals } from "../../eft/common/IGlobals"; -import { IBotBase } from "../../eft/common/tables/IBotBase"; -import { IBotCore } from "../../eft/common/tables/IBotCore"; -import { IBotType } from "../../eft/common/tables/IBotType"; -import { ICustomizationItem } from "../../eft/common/tables/ICustomizationItem"; -import { IHandbookBase } from "../../eft/common/tables/IHandbookBase"; -import { ILootBase } from "../../eft/common/tables/ILootBase"; -import { IMatch } from "../../eft/common/tables/IMatch"; -import { IProfileTemplates } from "../../eft/common/tables/IProfileTemplate"; -import { IQuest } from "../../eft/common/tables/IQuest"; -import { IRepeatableQuestDatabase } from "../../eft/common/tables/IRepeatableQuests"; -import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; -import { ITrader } from "../../eft/common/tables/ITrader"; -import { IHideoutArea } from "../../eft/hideout/IHideoutArea"; -import { IHideoutProduction } from "../../eft/hideout/IHideoutProduction"; -import { IHideoutScavCase } from "../../eft/hideout/IHideoutScavCase"; -import { IHideoutSettingsBase } from "../../eft/hideout/IHideoutSettingsBase"; -import { ILocaleBase } from "./ILocaleBase"; -import { ILocations } from "./ILocations"; -import { IServerBase } from "./IServerBase"; -import { ISettingsBase } from "./ISettingsBase"; +import { IGlobals } from "@spt-aki/models/eft/common/IGlobals"; +import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IBotCore } from "@spt-aki/models/eft/common/tables/IBotCore"; +import { IBotType } from "@spt-aki/models/eft/common/tables/IBotType"; +import { ICustomizationItem } from "@spt-aki/models/eft/common/tables/ICustomizationItem"; +import { IHandbookBase } from "@spt-aki/models/eft/common/tables/IHandbookBase"; +import { ILootBase } from "@spt-aki/models/eft/common/tables/ILootBase"; +import { IMatch } from "@spt-aki/models/eft/common/tables/IMatch"; +import { IProfileTemplates } from "@spt-aki/models/eft/common/tables/IProfileTemplate"; +import { IQuest } from "@spt-aki/models/eft/common/tables/IQuest"; +import { IRepeatableQuestDatabase } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { ITrader } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IHideoutArea } from "@spt-aki/models/eft/hideout/IHideoutArea"; +import { IHideoutProduction } from "@spt-aki/models/eft/hideout/IHideoutProduction"; +import { IHideoutScavCase } from "@spt-aki/models/eft/hideout/IHideoutScavCase"; +import { IHideoutSettingsBase } from "@spt-aki/models/eft/hideout/IHideoutSettingsBase"; +import { IQteData } from "@spt-aki/models/eft/hideout/IQteData"; +import { IEquipmentBuild } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ILocaleBase } from "@spt-aki/models/spt/server/ILocaleBase"; +import { ILocations } from "@spt-aki/models/spt/server/ILocations"; +import { IServerBase } from "@spt-aki/models/spt/server/IServerBase"; +import { ISettingsBase } from "@spt-aki/models/spt/server/ISettingsBase"; export interface IDatabaseTables { bots?: { types: Record; diff --git a/types/models/spt/server/ILocations.d.ts b/types/models/spt/server/ILocations.d.ts index 18f0262..9987d8c 100644 --- a/types/models/spt/server/ILocations.d.ts +++ b/types/models/spt/server/ILocations.d.ts @@ -1,6 +1,6 @@ -import { ILocationBase } from "../../eft/common/ILocationBase"; -import { ILooseLoot } from "../../eft/common/ILooseLoot"; -import { ILocationsBase } from "../../eft/common/tables/ILocationsBase"; +import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { bigmap?: ILocationData; develop?: ILocationData; diff --git a/types/models/spt/services/CustomPreset.d.ts b/types/models/spt/services/CustomPreset.d.ts index 785e0a4..989c58f 100644 --- a/types/models/spt/services/CustomPreset.d.ts +++ b/types/models/spt/services/CustomPreset.d.ts @@ -1,4 +1,4 @@ -import { IPreset } from "../../eft/common/IGlobals"; +import { IPreset } from "@spt-aki/models/eft/common/IGlobals"; export interface CustomPreset { key: string; preset: IPreset; diff --git a/types/models/spt/services/CustomTraderAssortData.d.ts b/types/models/spt/services/CustomTraderAssortData.d.ts index 265a26a..289d66a 100644 --- a/types/models/spt/services/CustomTraderAssortData.d.ts +++ b/types/models/spt/services/CustomTraderAssortData.d.ts @@ -1,5 +1,5 @@ -import { ITraderAssort } from "../../eft/common/tables/ITrader"; -import { Traders } from "../../enums/Traders"; +import { ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader"; +import { Traders } from "@spt-aki/models/enums/Traders"; export interface CustomTraderAssortData { traderId: Traders; assorts: ITraderAssort; diff --git a/types/models/spt/services/LootRequest.d.ts b/types/models/spt/services/LootRequest.d.ts index 044935d..f277553 100644 --- a/types/models/spt/services/LootRequest.d.ts +++ b/types/models/spt/services/LootRequest.d.ts @@ -1,4 +1,4 @@ -import { MinMax } from "../../common/MinMax"; +import { MinMax } from "@spt-aki/models/common/MinMax"; export interface LootRequest { presetCount: MinMax; itemCount: MinMax; @@ -9,4 +9,5 @@ export interface LootRequest { itemLimits: Record; itemStackLimits: Record; armorLevelWhitelist: number[]; + allowBossItems: boolean; } diff --git a/types/models/spt/utils/IAsyncQueue.d.ts b/types/models/spt/utils/IAsyncQueue.d.ts index 2be801a..464139a 100644 --- a/types/models/spt/utils/IAsyncQueue.d.ts +++ b/types/models/spt/utils/IAsyncQueue.d.ts @@ -1,4 +1,4 @@ -import { ICommand } from "./ICommand"; +import { ICommand } from "@spt-aki/models/spt/utils/ICommand"; export interface IAsyncQueue { waitFor(command: ICommand): Promise; } diff --git a/types/models/spt/utils/ILogger.d.ts b/types/models/spt/utils/ILogger.d.ts index 2af3fac..340f26b 100644 --- a/types/models/spt/utils/ILogger.d.ts +++ b/types/models/spt/utils/ILogger.d.ts @@ -1,6 +1,6 @@ -import { Daum } from "../../eft/itemEvent/IItemEventRouterRequest"; -import { LogBackgroundColor } from "../logging/LogBackgroundColor"; -import { LogTextColor } from "../logging/LogTextColor"; +import { Daum } from "@spt-aki/models/eft/itemEvent/IItemEventRouterRequest"; +import { LogBackgroundColor } from "@spt-aki/models/spt/logging/LogBackgroundColor"; +import { LogTextColor } from "@spt-aki/models/spt/logging/LogTextColor"; export interface ILogger { writeToLogFile(data: string | Daum): void; log(data: string | Record | Error, color: string, backgroundColor?: string): void; diff --git a/types/routers/EventOutputHolder.d.ts b/types/routers/EventOutputHolder.d.ts index 1966741..8ee10ef 100644 --- a/types/routers/EventOutputHolder.d.ts +++ b/types/routers/EventOutputHolder.d.ts @@ -1,9 +1,10 @@ -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IHideoutImprovement, Productive, TraderData, TraderInfo } from "../models/eft/common/tables/IBotBase"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { JsonUtil } from "../utils/JsonUtil"; -import { TimeUtil } from "../utils/TimeUtil"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IHideoutImprovement, Productive, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { TraderData } from "@spt-aki/models/eft/itemEvent/IItemEventRouterBase"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class EventOutputHolder { protected jsonUtil: JsonUtil; protected profileHelper: ProfileHelper; @@ -29,7 +30,7 @@ export declare class EventOutputHolder { /** * Convert the internal trader data object into an object we can send to the client * @param traderData server data for traders - * @returns + * @returns dict of trader id + TraderData */ protected constructTraderRelations(traderData: Record): Record; /** @@ -44,4 +45,9 @@ export declare class EventOutputHolder { * @returns dictionary of hideout productions */ protected getProductionsFromProfileAndFlagComplete(productions: Record): Record; + /** + * Required as continuous productions don't reset and stay at 100% completion but client thinks it hasn't started + * @param productions Productions in a profile + */ + protected cleanUpCompleteCraftsInProfile(productions: Record): void; } diff --git a/types/routers/HttpRouter.d.ts b/types/routers/HttpRouter.d.ts index f75a47d..875182d 100644 --- a/types/routers/HttpRouter.d.ts +++ b/types/routers/HttpRouter.d.ts @@ -1,6 +1,6 @@ /// -import { IncomingMessage } from "http"; -import { DynamicRouter, Router, StaticRouter } from "../di/Router"; +import { IncomingMessage } from "node:http"; +import { DynamicRouter, Router, StaticRouter } from "@spt-aki/di/Router"; export declare class HttpRouter { protected staticRouters: StaticRouter[]; protected dynamicRoutes: DynamicRouter[]; diff --git a/types/routers/ImageRouter.d.ts b/types/routers/ImageRouter.d.ts index 675441c..9d13b7a 100644 --- a/types/routers/ImageRouter.d.ts +++ b/types/routers/ImageRouter.d.ts @@ -1,8 +1,8 @@ /// -import { IncomingMessage, ServerResponse } from "http"; -import { ImageRouteService } from "../services/mod/image/ImageRouteService"; -import { HttpFileUtil } from "../utils/HttpFileUtil"; -import { VFS } from "../utils/VFS"; +import { IncomingMessage, ServerResponse } from "node:http"; +import { ImageRouteService } from "@spt-aki/services/mod/image/ImageRouteService"; +import { HttpFileUtil } from "@spt-aki/utils/HttpFileUtil"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class ImageRouter { protected vfs: VFS; protected imageRouteService: ImageRouteService; diff --git a/types/routers/ItemEventRouter.d.ts b/types/routers/ItemEventRouter.d.ts index 9c7f70e..6c770ec 100644 --- a/types/routers/ItemEventRouter.d.ts +++ b/types/routers/ItemEventRouter.d.ts @@ -1,10 +1,10 @@ -import { ItemEventRouterDefinition } from "../di/Router"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IItemEventRouterRequest } from "../models/eft/itemEvent/IItemEventRouterRequest"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "../services/LocalisationService"; -import { EventOutputHolder } from "./EventOutputHolder"; +import { ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IItemEventRouterRequest } from "@spt-aki/models/eft/itemEvent/IItemEventRouterRequest"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; export declare class ItemEventRouter { protected logger: ILogger; protected profileHelper: ProfileHelper; @@ -13,7 +13,6 @@ export declare class ItemEventRouter { protected eventOutputHolder: EventOutputHolder; constructor(logger: ILogger, profileHelper: ProfileHelper, itemEventRouters: ItemEventRouterDefinition[], localisationService: LocalisationService, eventOutputHolder: EventOutputHolder); /** - * * @param info Event request * @param sessionID Session id * @returns Item response diff --git a/types/routers/dynamic/BotDynamicRouter.d.ts b/types/routers/dynamic/BotDynamicRouter.d.ts index 6d0ab4b..5c54065 100644 --- a/types/routers/dynamic/BotDynamicRouter.d.ts +++ b/types/routers/dynamic/BotDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { BotCallbacks } from "../../callbacks/BotCallbacks"; -import { DynamicRouter } from "../../di/Router"; +import { BotCallbacks } from "@spt-aki/callbacks/BotCallbacks"; +import { DynamicRouter } from "@spt-aki/di/Router"; export declare class BotDynamicRouter extends DynamicRouter { protected botCallbacks: BotCallbacks; constructor(botCallbacks: BotCallbacks); diff --git a/types/routers/dynamic/BundleDynamicRouter.d.ts b/types/routers/dynamic/BundleDynamicRouter.d.ts index a765410..c73860a 100644 --- a/types/routers/dynamic/BundleDynamicRouter.d.ts +++ b/types/routers/dynamic/BundleDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; -import { DynamicRouter } from "../../di/Router"; +import { BundleCallbacks } from "@spt-aki/callbacks/BundleCallbacks"; +import { DynamicRouter } from "@spt-aki/di/Router"; export declare class BundleDynamicRouter extends DynamicRouter { protected bundleCallbacks: BundleCallbacks; constructor(bundleCallbacks: BundleCallbacks); diff --git a/types/routers/dynamic/CustomizationDynamicRouter.d.ts b/types/routers/dynamic/CustomizationDynamicRouter.d.ts index 2db7cc5..79e60e6 100644 --- a/types/routers/dynamic/CustomizationDynamicRouter.d.ts +++ b/types/routers/dynamic/CustomizationDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; -import { DynamicRouter } from "../../di/Router"; +import { CustomizationCallbacks } from "@spt-aki/callbacks/CustomizationCallbacks"; +import { DynamicRouter } from "@spt-aki/di/Router"; export declare class CustomizationDynamicRouter extends DynamicRouter { protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); diff --git a/types/routers/dynamic/DataDynamicRouter.d.ts b/types/routers/dynamic/DataDynamicRouter.d.ts index 836ed8d..098748f 100644 --- a/types/routers/dynamic/DataDynamicRouter.d.ts +++ b/types/routers/dynamic/DataDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { DataCallbacks } from "../../callbacks/DataCallbacks"; -import { DynamicRouter } from "../../di/Router"; +import { DataCallbacks } from "@spt-aki/callbacks/DataCallbacks"; +import { DynamicRouter } from "@spt-aki/di/Router"; export declare class DataDynamicRouter extends DynamicRouter { protected dataCallbacks: DataCallbacks; constructor(dataCallbacks: DataCallbacks); diff --git a/types/routers/dynamic/HttpDynamicRouter.d.ts b/types/routers/dynamic/HttpDynamicRouter.d.ts index a152b4d..5fda392 100644 --- a/types/routers/dynamic/HttpDynamicRouter.d.ts +++ b/types/routers/dynamic/HttpDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { DynamicRouter } from "../../di/Router"; -import { ImageRouter } from "../ImageRouter"; +import { DynamicRouter } from "@spt-aki/di/Router"; +import { ImageRouter } from "@spt-aki/routers/ImageRouter"; export declare class HttpDynamicRouter extends DynamicRouter { protected imageRouter: ImageRouter; constructor(imageRouter: ImageRouter); diff --git a/types/routers/dynamic/InraidDynamicRouter.d.ts b/types/routers/dynamic/InraidDynamicRouter.d.ts index 7c0561f..b68282e 100644 --- a/types/routers/dynamic/InraidDynamicRouter.d.ts +++ b/types/routers/dynamic/InraidDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; -import { DynamicRouter } from "../../di/Router"; +import { InraidCallbacks } from "@spt-aki/callbacks/InraidCallbacks"; +import { DynamicRouter } from "@spt-aki/di/Router"; export declare class InraidDynamicRouter extends DynamicRouter { protected inraidCallbacks: InraidCallbacks; constructor(inraidCallbacks: InraidCallbacks); diff --git a/types/routers/dynamic/LocationDynamicRouter.d.ts b/types/routers/dynamic/LocationDynamicRouter.d.ts index b8e5cdf..aef354f 100644 --- a/types/routers/dynamic/LocationDynamicRouter.d.ts +++ b/types/routers/dynamic/LocationDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; -import { DynamicRouter } from "../../di/Router"; +import { LocationCallbacks } from "@spt-aki/callbacks/LocationCallbacks"; +import { DynamicRouter } from "@spt-aki/di/Router"; export declare class LocationDynamicRouter extends DynamicRouter { protected locationCallbacks: LocationCallbacks; constructor(locationCallbacks: LocationCallbacks); diff --git a/types/routers/dynamic/NotifierDynamicRouter.d.ts b/types/routers/dynamic/NotifierDynamicRouter.d.ts index 83c60c5..f1c0ea7 100644 --- a/types/routers/dynamic/NotifierDynamicRouter.d.ts +++ b/types/routers/dynamic/NotifierDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; -import { DynamicRouter } from "../../di/Router"; +import { NotifierCallbacks } from "@spt-aki/callbacks/NotifierCallbacks"; +import { DynamicRouter } from "@spt-aki/di/Router"; export declare class NotifierDynamicRouter extends DynamicRouter { protected notifierCallbacks: NotifierCallbacks; constructor(notifierCallbacks: NotifierCallbacks); diff --git a/types/routers/dynamic/TraderDynamicRouter.d.ts b/types/routers/dynamic/TraderDynamicRouter.d.ts index 5b7cc1b..2cde752 100644 --- a/types/routers/dynamic/TraderDynamicRouter.d.ts +++ b/types/routers/dynamic/TraderDynamicRouter.d.ts @@ -1,5 +1,5 @@ -import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; -import { DynamicRouter } from "../../di/Router"; +import { TraderCallbacks } from "@spt-aki/callbacks/TraderCallbacks"; +import { DynamicRouter } from "@spt-aki/di/Router"; export declare class TraderDynamicRouter extends DynamicRouter { protected traderCallbacks: TraderCallbacks; constructor(traderCallbacks: TraderCallbacks); diff --git a/types/routers/item_events/CustomizationItemEventRouter.d.ts b/types/routers/item_events/CustomizationItemEventRouter.d.ts index 32519b1..473c8ed 100644 --- a/types/routers/item_events/CustomizationItemEventRouter.d.ts +++ b/types/routers/item_events/CustomizationItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { CustomizationCallbacks } from "@spt-aki/callbacks/CustomizationCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class CustomizationItemEventRouter extends ItemEventRouterDefinition { protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); diff --git a/types/routers/item_events/HealthItemEventRouter.d.ts b/types/routers/item_events/HealthItemEventRouter.d.ts index 2b2b91d..5243153 100644 --- a/types/routers/item_events/HealthItemEventRouter.d.ts +++ b/types/routers/item_events/HealthItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { HealthCallbacks } from "@spt-aki/callbacks/HealthCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class HealthItemEventRouter extends ItemEventRouterDefinition { protected healthCallbacks: HealthCallbacks; constructor(healthCallbacks: HealthCallbacks); diff --git a/types/routers/item_events/HideoutItemEventRouter.d.ts b/types/routers/item_events/HideoutItemEventRouter.d.ts index 44bd1cd..8775212 100644 --- a/types/routers/item_events/HideoutItemEventRouter.d.ts +++ b/types/routers/item_events/HideoutItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { HideoutCallbacks } from "../../callbacks/HideoutCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { HideoutCallbacks } from "@spt-aki/callbacks/HideoutCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class HideoutItemEventRouter extends ItemEventRouterDefinition { protected hideoutCallbacks: HideoutCallbacks; constructor(hideoutCallbacks: HideoutCallbacks); diff --git a/types/routers/item_events/InsuranceItemEventRouter.d.ts b/types/routers/item_events/InsuranceItemEventRouter.d.ts index 3b6ae8c..f2c9ab6 100644 --- a/types/routers/item_events/InsuranceItemEventRouter.d.ts +++ b/types/routers/item_events/InsuranceItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { InsuranceCallbacks } from "@spt-aki/callbacks/InsuranceCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class InsuranceItemEventRouter extends ItemEventRouterDefinition { protected insuranceCallbacks: InsuranceCallbacks; constructor(insuranceCallbacks: InsuranceCallbacks); diff --git a/types/routers/item_events/InventoryItemEventRouter.d.ts b/types/routers/item_events/InventoryItemEventRouter.d.ts index d6a6ae5..cb93d29 100644 --- a/types/routers/item_events/InventoryItemEventRouter.d.ts +++ b/types/routers/item_events/InventoryItemEventRouter.d.ts @@ -1,8 +1,8 @@ -import { HideoutCallbacks } from "../../callbacks/HideoutCallbacks"; -import { InventoryCallbacks } from "../../callbacks/InventoryCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { HideoutCallbacks } from "@spt-aki/callbacks/HideoutCallbacks"; +import { InventoryCallbacks } from "@spt-aki/callbacks/InventoryCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class InventoryItemEventRouter extends ItemEventRouterDefinition { protected inventoryCallbacks: InventoryCallbacks; protected hideoutCallbacks: HideoutCallbacks; diff --git a/types/routers/item_events/NoteItemEventRouter.d.ts b/types/routers/item_events/NoteItemEventRouter.d.ts index 71ed5d4..35907cc 100644 --- a/types/routers/item_events/NoteItemEventRouter.d.ts +++ b/types/routers/item_events/NoteItemEventRouter.d.ts @@ -1,10 +1,11 @@ -import { NoteCallbacks } from "../../callbacks/NoteCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { NoteCallbacks } from "@spt-aki/callbacks/NoteCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { INoteActionData } from "@spt-aki/models/eft/notes/INoteActionData"; export declare class NoteItemEventRouter extends ItemEventRouterDefinition { protected noteCallbacks: NoteCallbacks; constructor(noteCallbacks: NoteCallbacks); getHandledRoutes(): HandledRoute[]; - handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; + handleItemEvent(url: string, pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; } diff --git a/types/routers/item_events/PresetBuildItemEventRouter.d.ts b/types/routers/item_events/PresetBuildItemEventRouter.d.ts index f2a7bf3..d5dbf9d 100644 --- a/types/routers/item_events/PresetBuildItemEventRouter.d.ts +++ b/types/routers/item_events/PresetBuildItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { PresetBuildCallbacks } from "@spt-aki/callbacks/PresetBuildCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class PresetBuildItemEventRouter extends ItemEventRouterDefinition { protected presetBuildCallbacks: PresetBuildCallbacks; constructor(presetBuildCallbacks: PresetBuildCallbacks); diff --git a/types/routers/item_events/QuestItemEventRouter.d.ts b/types/routers/item_events/QuestItemEventRouter.d.ts index a092aa6..32715e5 100644 --- a/types/routers/item_events/QuestItemEventRouter.d.ts +++ b/types/routers/item_events/QuestItemEventRouter.d.ts @@ -1,8 +1,8 @@ -import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; -import { ILogger } from "../../models/spt/utils/ILogger"; +import { QuestCallbacks } from "@spt-aki/callbacks/QuestCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; export declare class QuestItemEventRouter extends ItemEventRouterDefinition { protected logger: ILogger; protected questCallbacks: QuestCallbacks; diff --git a/types/routers/item_events/RagfairItemEventRouter.d.ts b/types/routers/item_events/RagfairItemEventRouter.d.ts index 986d9e7..b8cf48c 100644 --- a/types/routers/item_events/RagfairItemEventRouter.d.ts +++ b/types/routers/item_events/RagfairItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { RagfairCallbacks } from "@spt-aki/callbacks/RagfairCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class RagfairItemEventRouter extends ItemEventRouterDefinition { protected ragfairCallbacks: RagfairCallbacks; constructor(ragfairCallbacks: RagfairCallbacks); diff --git a/types/routers/item_events/RepairItemEventRouter.d.ts b/types/routers/item_events/RepairItemEventRouter.d.ts index 1c2768c..282c47a 100644 --- a/types/routers/item_events/RepairItemEventRouter.d.ts +++ b/types/routers/item_events/RepairItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { RepairCallbacks } from "../../callbacks/RepairCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { RepairCallbacks } from "@spt-aki/callbacks/RepairCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class RepairItemEventRouter extends ItemEventRouterDefinition { protected repairCallbacks: RepairCallbacks; constructor(repairCallbacks: RepairCallbacks); diff --git a/types/routers/item_events/TradeItemEventRouter.d.ts b/types/routers/item_events/TradeItemEventRouter.d.ts index 5d84559..1494963 100644 --- a/types/routers/item_events/TradeItemEventRouter.d.ts +++ b/types/routers/item_events/TradeItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { TradeCallbacks } from "../../callbacks/TradeCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { TradeCallbacks } from "@spt-aki/callbacks/TradeCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class TradeItemEventRouter extends ItemEventRouterDefinition { protected tradeCallbacks: TradeCallbacks; constructor(tradeCallbacks: TradeCallbacks); diff --git a/types/routers/item_events/WishlistItemEventRouter.d.ts b/types/routers/item_events/WishlistItemEventRouter.d.ts index 9e3c2a0..1d6f601 100644 --- a/types/routers/item_events/WishlistItemEventRouter.d.ts +++ b/types/routers/item_events/WishlistItemEventRouter.d.ts @@ -1,7 +1,7 @@ -import { WishlistCallbacks } from "../../callbacks/WishlistCallbacks"; -import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; -import { IPmcData } from "../../models/eft/common/IPmcData"; -import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { WishlistCallbacks } from "@spt-aki/callbacks/WishlistCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "@spt-aki/di/Router"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; export declare class WishlistItemEventRouter extends ItemEventRouterDefinition { protected wishlistCallbacks: WishlistCallbacks; constructor(wishlistCallbacks: WishlistCallbacks); diff --git a/types/routers/save_load/HealthSaveLoadRouter.d.ts b/types/routers/save_load/HealthSaveLoadRouter.d.ts index 26cb07a..1ecfa44 100644 --- a/types/routers/save_load/HealthSaveLoadRouter.d.ts +++ b/types/routers/save_load/HealthSaveLoadRouter.d.ts @@ -1,7 +1,6 @@ -import { HandledRoute, SaveLoadRouter } from "../../di/Router"; -import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "@spt-aki/di/Router"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; export declare class HealthSaveLoadRouter extends SaveLoadRouter { - constructor(); getHandledRoutes(): HandledRoute[]; handleLoad(profile: IAkiProfile): IAkiProfile; } diff --git a/types/routers/save_load/InraidSaveLoadRouter.d.ts b/types/routers/save_load/InraidSaveLoadRouter.d.ts index 40f388e..7cc9a08 100644 --- a/types/routers/save_load/InraidSaveLoadRouter.d.ts +++ b/types/routers/save_load/InraidSaveLoadRouter.d.ts @@ -1,7 +1,6 @@ -import { HandledRoute, SaveLoadRouter } from "../../di/Router"; -import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "@spt-aki/di/Router"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; export declare class InraidSaveLoadRouter extends SaveLoadRouter { - constructor(); getHandledRoutes(): HandledRoute[]; handleLoad(profile: IAkiProfile): IAkiProfile; } diff --git a/types/routers/save_load/InsuranceSaveLoadRouter.d.ts b/types/routers/save_load/InsuranceSaveLoadRouter.d.ts index 22d645e..af5222a 100644 --- a/types/routers/save_load/InsuranceSaveLoadRouter.d.ts +++ b/types/routers/save_load/InsuranceSaveLoadRouter.d.ts @@ -1,7 +1,6 @@ -import { HandledRoute, SaveLoadRouter } from "../../di/Router"; -import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "@spt-aki/di/Router"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; export declare class InsuranceSaveLoadRouter extends SaveLoadRouter { - constructor(); getHandledRoutes(): HandledRoute[]; handleLoad(profile: IAkiProfile): IAkiProfile; } diff --git a/types/routers/save_load/ProfileSaveLoadRouter.d.ts b/types/routers/save_load/ProfileSaveLoadRouter.d.ts index f60af15..8047834 100644 --- a/types/routers/save_load/ProfileSaveLoadRouter.d.ts +++ b/types/routers/save_load/ProfileSaveLoadRouter.d.ts @@ -1,7 +1,6 @@ -import { HandledRoute, SaveLoadRouter } from "../../di/Router"; -import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "@spt-aki/di/Router"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; export declare class ProfileSaveLoadRouter extends SaveLoadRouter { - constructor(); getHandledRoutes(): HandledRoute[]; handleLoad(profile: IAkiProfile): IAkiProfile; } diff --git a/types/routers/serializers/BundleSerializer.d.ts b/types/routers/serializers/BundleSerializer.d.ts index ca4d8b6..52db030 100644 --- a/types/routers/serializers/BundleSerializer.d.ts +++ b/types/routers/serializers/BundleSerializer.d.ts @@ -1,9 +1,9 @@ /// -import { IncomingMessage, ServerResponse } from "http"; -import { Serializer } from "../../di/Serializer"; -import { BundleLoader } from "../../loaders/BundleLoader"; -import { ILogger } from "../../models/spt/utils/ILogger"; -import { HttpFileUtil } from "../../utils/HttpFileUtil"; +import { IncomingMessage, ServerResponse } from "node:http"; +import { Serializer } from "@spt-aki/di/Serializer"; +import { BundleLoader } from "@spt-aki/loaders/BundleLoader"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { HttpFileUtil } from "@spt-aki/utils/HttpFileUtil"; export declare class BundleSerializer extends Serializer { protected logger: ILogger; protected bundleLoader: BundleLoader; diff --git a/types/routers/serializers/ImageSerializer.d.ts b/types/routers/serializers/ImageSerializer.d.ts index 5de48ff..3b1ff6d 100644 --- a/types/routers/serializers/ImageSerializer.d.ts +++ b/types/routers/serializers/ImageSerializer.d.ts @@ -1,7 +1,7 @@ /// -import { IncomingMessage, ServerResponse } from "http"; -import { Serializer } from "../../di/Serializer"; -import { ImageRouter } from "../ImageRouter"; +import { IncomingMessage, ServerResponse } from "node:http"; +import { Serializer } from "@spt-aki/di/Serializer"; +import { ImageRouter } from "@spt-aki/routers/ImageRouter"; export declare class ImageSerializer extends Serializer { protected imageRouter: ImageRouter; constructor(imageRouter: ImageRouter); diff --git a/types/routers/serializers/NotifySerializer.d.ts b/types/routers/serializers/NotifySerializer.d.ts index 1d179b2..f8730b6 100644 --- a/types/routers/serializers/NotifySerializer.d.ts +++ b/types/routers/serializers/NotifySerializer.d.ts @@ -1,9 +1,9 @@ /// -import { IncomingMessage, ServerResponse } from "http"; -import { NotifierController } from "../../controllers/NotifierController"; -import { Serializer } from "../../di/Serializer"; -import { HttpServerHelper } from "../../helpers/HttpServerHelper"; -import { JsonUtil } from "../../utils/JsonUtil"; +import { IncomingMessage, ServerResponse } from "node:http"; +import { NotifierController } from "@spt-aki/controllers/NotifierController"; +import { Serializer } from "@spt-aki/di/Serializer"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class NotifySerializer extends Serializer { protected notifierController: NotifierController; protected jsonUtil: JsonUtil; diff --git a/types/routers/static/BotStaticRouter.d.ts b/types/routers/static/BotStaticRouter.d.ts index aeea220..e7e9ff5 100644 --- a/types/routers/static/BotStaticRouter.d.ts +++ b/types/routers/static/BotStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { BotCallbacks } from "../../callbacks/BotCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { BotCallbacks } from "@spt-aki/callbacks/BotCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class BotStaticRouter extends StaticRouter { protected botCallbacks: BotCallbacks; constructor(botCallbacks: BotCallbacks); diff --git a/types/routers/static/BundleStaticRouter.d.ts b/types/routers/static/BundleStaticRouter.d.ts index fb682fc..62056ba 100644 --- a/types/routers/static/BundleStaticRouter.d.ts +++ b/types/routers/static/BundleStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { BundleCallbacks } from "@spt-aki/callbacks/BundleCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class BundleStaticRouter extends StaticRouter { protected bundleCallbacks: BundleCallbacks; constructor(bundleCallbacks: BundleCallbacks); diff --git a/types/routers/static/ClientLogStaticRouter.d.ts b/types/routers/static/ClientLogStaticRouter.d.ts new file mode 100644 index 0000000..6ae3f50 --- /dev/null +++ b/types/routers/static/ClientLogStaticRouter.d.ts @@ -0,0 +1,6 @@ +import { ClientLogCallbacks } from "@spt-aki/callbacks/ClientLogCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; +export declare class ClientLogStaticRouter extends StaticRouter { + protected clientLogCallbacks: ClientLogCallbacks; + constructor(clientLogCallbacks: ClientLogCallbacks); +} diff --git a/types/routers/static/CustomizationStaticRouter.d.ts b/types/routers/static/CustomizationStaticRouter.d.ts index 21bc4bb..cebf043 100644 --- a/types/routers/static/CustomizationStaticRouter.d.ts +++ b/types/routers/static/CustomizationStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { CustomizationCallbacks } from "@spt-aki/callbacks/CustomizationCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class CustomizationStaticRouter extends StaticRouter { protected customizationCallbacks: CustomizationCallbacks; constructor(customizationCallbacks: CustomizationCallbacks); diff --git a/types/routers/static/DataStaticRouter.d.ts b/types/routers/static/DataStaticRouter.d.ts index 84ba7fd..7e84ae1 100644 --- a/types/routers/static/DataStaticRouter.d.ts +++ b/types/routers/static/DataStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { DataCallbacks } from "../../callbacks/DataCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { DataCallbacks } from "@spt-aki/callbacks/DataCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class DataStaticRouter extends StaticRouter { protected dataCallbacks: DataCallbacks; constructor(dataCallbacks: DataCallbacks); diff --git a/types/routers/static/DialogStaticRouter.d.ts b/types/routers/static/DialogStaticRouter.d.ts index 546cdf1..7f3ef7a 100644 --- a/types/routers/static/DialogStaticRouter.d.ts +++ b/types/routers/static/DialogStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { DialogueCallbacks } from "../../callbacks/DialogueCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { DialogueCallbacks } from "@spt-aki/callbacks/DialogueCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class DialogStaticRouter extends StaticRouter { protected dialogueCallbacks: DialogueCallbacks; constructor(dialogueCallbacks: DialogueCallbacks); diff --git a/types/routers/static/GameStaticRouter.d.ts b/types/routers/static/GameStaticRouter.d.ts index a9a7496..878f494 100644 --- a/types/routers/static/GameStaticRouter.d.ts +++ b/types/routers/static/GameStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { GameCallbacks } from "../../callbacks/GameCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { GameCallbacks } from "@spt-aki/callbacks/GameCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class GameStaticRouter extends StaticRouter { protected gameCallbacks: GameCallbacks; constructor(gameCallbacks: GameCallbacks); diff --git a/types/routers/static/HealthStaticRouter.d.ts b/types/routers/static/HealthStaticRouter.d.ts index 863fd5e..79dedea 100644 --- a/types/routers/static/HealthStaticRouter.d.ts +++ b/types/routers/static/HealthStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { HealthCallbacks } from "@spt-aki/callbacks/HealthCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class HealthStaticRouter extends StaticRouter { protected healthCallbacks: HealthCallbacks; constructor(healthCallbacks: HealthCallbacks); diff --git a/types/routers/static/InraidStaticRouter.d.ts b/types/routers/static/InraidStaticRouter.d.ts index b29ad23..eb9c3b1 100644 --- a/types/routers/static/InraidStaticRouter.d.ts +++ b/types/routers/static/InraidStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { InraidCallbacks } from "@spt-aki/callbacks/InraidCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class InraidStaticRouter extends StaticRouter { protected inraidCallbacks: InraidCallbacks; constructor(inraidCallbacks: InraidCallbacks); diff --git a/types/routers/static/InsuranceStaticRouter.d.ts b/types/routers/static/InsuranceStaticRouter.d.ts index 5676499..58c1583 100644 --- a/types/routers/static/InsuranceStaticRouter.d.ts +++ b/types/routers/static/InsuranceStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { InsuranceCallbacks } from "@spt-aki/callbacks/InsuranceCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class InsuranceStaticRouter extends StaticRouter { protected insuranceCallbacks: InsuranceCallbacks; constructor(insuranceCallbacks: InsuranceCallbacks); diff --git a/types/routers/static/ItemEventStaticRouter.d.ts b/types/routers/static/ItemEventStaticRouter.d.ts index c30a7fc..772493a 100644 --- a/types/routers/static/ItemEventStaticRouter.d.ts +++ b/types/routers/static/ItemEventStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { ItemEventCallbacks } from "../../callbacks/ItemEventCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { ItemEventCallbacks } from "@spt-aki/callbacks/ItemEventCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class ItemEventStaticRouter extends StaticRouter { protected itemEventCallbacks: ItemEventCallbacks; constructor(itemEventCallbacks: ItemEventCallbacks); diff --git a/types/routers/static/LauncherStaticRouter.d.ts b/types/routers/static/LauncherStaticRouter.d.ts index 0040cbd..46a5bd6 100644 --- a/types/routers/static/LauncherStaticRouter.d.ts +++ b/types/routers/static/LauncherStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { LauncherCallbacks } from "../../callbacks/LauncherCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { LauncherCallbacks } from "@spt-aki/callbacks/LauncherCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class LauncherStaticRouter extends StaticRouter { protected launcherCallbacks: LauncherCallbacks; constructor(launcherCallbacks: LauncherCallbacks); diff --git a/types/routers/static/LocationStaticRouter.d.ts b/types/routers/static/LocationStaticRouter.d.ts index b6de956..f577ba9 100644 --- a/types/routers/static/LocationStaticRouter.d.ts +++ b/types/routers/static/LocationStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { LocationCallbacks } from "@spt-aki/callbacks/LocationCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class LocationStaticRouter extends StaticRouter { protected locationCallbacks: LocationCallbacks; constructor(locationCallbacks: LocationCallbacks); diff --git a/types/routers/static/MatchStaticRouter.d.ts b/types/routers/static/MatchStaticRouter.d.ts index 9920a92..e26c8bd 100644 --- a/types/routers/static/MatchStaticRouter.d.ts +++ b/types/routers/static/MatchStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { MatchCallbacks } from "../../callbacks/MatchCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { MatchCallbacks } from "@spt-aki/callbacks/MatchCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class MatchStaticRouter extends StaticRouter { protected matchCallbacks: MatchCallbacks; constructor(matchCallbacks: MatchCallbacks); diff --git a/types/routers/static/NotifierStaticRouter.d.ts b/types/routers/static/NotifierStaticRouter.d.ts index 8f1f5cc..9427d00 100644 --- a/types/routers/static/NotifierStaticRouter.d.ts +++ b/types/routers/static/NotifierStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { NotifierCallbacks } from "@spt-aki/callbacks/NotifierCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class NotifierStaticRouter extends StaticRouter { protected notifierCallbacks: NotifierCallbacks; constructor(notifierCallbacks: NotifierCallbacks); diff --git a/types/routers/static/PresetStaticRouter.d.ts b/types/routers/static/PresetStaticRouter.d.ts index a9e7458..cac8da6 100644 --- a/types/routers/static/PresetStaticRouter.d.ts +++ b/types/routers/static/PresetStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { PresetBuildCallbacks } from "@spt-aki/callbacks/PresetBuildCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class PresetStaticRouter extends StaticRouter { protected presetCallbacks: PresetBuildCallbacks; constructor(presetCallbacks: PresetBuildCallbacks); diff --git a/types/routers/static/ProfileStaticRouter.d.ts b/types/routers/static/ProfileStaticRouter.d.ts index 83403f2..31470f3 100644 --- a/types/routers/static/ProfileStaticRouter.d.ts +++ b/types/routers/static/ProfileStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { ProfileCallbacks } from "../../callbacks/ProfileCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { ProfileCallbacks } from "@spt-aki/callbacks/ProfileCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class ProfileStaticRouter extends StaticRouter { protected profileCallbacks: ProfileCallbacks; constructor(profileCallbacks: ProfileCallbacks); diff --git a/types/routers/static/QuestStaticRouter.d.ts b/types/routers/static/QuestStaticRouter.d.ts index 8f7ca0a..a505e5c 100644 --- a/types/routers/static/QuestStaticRouter.d.ts +++ b/types/routers/static/QuestStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { QuestCallbacks } from "@spt-aki/callbacks/QuestCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class QuestStaticRouter extends StaticRouter { protected questCallbacks: QuestCallbacks; constructor(questCallbacks: QuestCallbacks); diff --git a/types/routers/static/RagfairStaticRouter.d.ts b/types/routers/static/RagfairStaticRouter.d.ts index 6c41467..e56a9c1 100644 --- a/types/routers/static/RagfairStaticRouter.d.ts +++ b/types/routers/static/RagfairStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { RagfairCallbacks } from "@spt-aki/callbacks/RagfairCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class RagfairStaticRouter extends StaticRouter { protected ragfairCallbacks: RagfairCallbacks; constructor(ragfairCallbacks: RagfairCallbacks); diff --git a/types/routers/static/TraderStaticRouter.d.ts b/types/routers/static/TraderStaticRouter.d.ts index 41728a1..1b9cbd1 100644 --- a/types/routers/static/TraderStaticRouter.d.ts +++ b/types/routers/static/TraderStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { TraderCallbacks } from "@spt-aki/callbacks/TraderCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class TraderStaticRouter extends StaticRouter { protected traderCallbacks: TraderCallbacks; constructor(traderCallbacks: TraderCallbacks); diff --git a/types/routers/static/WeatherStaticRouter.d.ts b/types/routers/static/WeatherStaticRouter.d.ts index 72ed851..499f911 100644 --- a/types/routers/static/WeatherStaticRouter.d.ts +++ b/types/routers/static/WeatherStaticRouter.d.ts @@ -1,5 +1,5 @@ -import { WeatherCallbacks } from "../../callbacks/WeatherCallbacks"; -import { StaticRouter } from "../../di/Router"; +import { WeatherCallbacks } from "@spt-aki/callbacks/WeatherCallbacks"; +import { StaticRouter } from "@spt-aki/di/Router"; export declare class WeatherStaticRouter extends StaticRouter { protected weatherCallbacks: WeatherCallbacks; constructor(weatherCallbacks: WeatherCallbacks); diff --git a/types/servers/ConfigServer.d.ts b/types/servers/ConfigServer.d.ts index f01be24..c932dfe 100644 --- a/types/servers/ConfigServer.d.ts +++ b/types/servers/ConfigServer.d.ts @@ -1,7 +1,7 @@ -import { JsonUtil } from "../utils/JsonUtil"; -import { VFS } from "../utils/VFS"; -import { ConfigTypes } from "../models/enums/ConfigTypes"; -import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class ConfigServer { protected logger: ILogger; protected vfs: VFS; diff --git a/types/servers/DatabaseServer.d.ts b/types/servers/DatabaseServer.d.ts index b3d29e9..fc69a61 100644 --- a/types/servers/DatabaseServer.d.ts +++ b/types/servers/DatabaseServer.d.ts @@ -1,4 +1,4 @@ -import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; +import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables"; export declare class DatabaseServer { protected tableData: IDatabaseTables; getTables(): IDatabaseTables; diff --git a/types/servers/HttpServer.d.ts b/types/servers/HttpServer.d.ts index 97e0705..20b7999 100644 --- a/types/servers/HttpServer.d.ts +++ b/types/servers/HttpServer.d.ts @@ -1,14 +1,14 @@ /// -import http, { IncomingMessage, ServerResponse } from "http"; -import { ApplicationContext } from "../context/ApplicationContext"; -import { HttpServerHelper } from "../helpers/HttpServerHelper"; -import { IHttpConfig } from "../models/spt/config/IHttpConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "../services/LocalisationService"; -import { ConfigServer } from "./ConfigServer"; -import { DatabaseServer } from "./DatabaseServer"; -import { IHttpListener } from "./http/IHttpListener"; -import { WebSocketServer } from "./WebSocketServer"; +import http, { IncomingMessage, ServerResponse } from "node:http"; +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { WebSocketServer } from "@spt-aki/servers/WebSocketServer"; +import { IHttpListener } from "@spt-aki/servers/http/IHttpListener"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; export declare class HttpServer { protected logger: ILogger; protected databaseServer: DatabaseServer; diff --git a/types/servers/RagfairServer.d.ts b/types/servers/RagfairServer.d.ts index f49654a..f6f9730 100644 --- a/types/servers/RagfairServer.d.ts +++ b/types/servers/RagfairServer.d.ts @@ -1,14 +1,15 @@ -import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; -import { TraderAssortHelper } from "../helpers/TraderAssortHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "../services/LocalisationService"; -import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; -import { RagfairOfferService } from "../services/RagfairOfferService"; -import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; -import { ConfigServer } from "./ConfigServer"; +import { RagfairOfferGenerator } from "@spt-aki/generators/RagfairOfferGenerator"; +import { TraderAssortHelper } from "@spt-aki/helpers/TraderAssortHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { ISearchRequestData } from "@spt-aki/models/eft/ragfair/ISearchRequestData"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RagfairCategoriesService } from "@spt-aki/services/RagfairCategoriesService"; +import { RagfairOfferService } from "@spt-aki/services/RagfairOfferService"; +import { RagfairRequiredItemsService } from "@spt-aki/services/RagfairRequiredItemsService"; export declare class RagfairServer { protected logger: ILogger; protected ragfairOfferGenerator: RagfairOfferGenerator; @@ -27,9 +28,8 @@ export declare class RagfairServer { * Get traders who need to be periodically refreshed * @returns string array of traders */ - protected getUpdateableTraders(): string[]; - getAllCategories(): Record; - getBespokeCategories(offers: IRagfairOffer[]): Record; + getUpdateableTraders(): string[]; + getAllActiveCategories(fleaUnlocked: boolean, searchRequestData: ISearchRequestData, offers: IRagfairOffer[]): Record; /** * Disable/Hide an offer from flea * @param offerId diff --git a/types/servers/SaveServer.d.ts b/types/servers/SaveServer.d.ts index 402befc..88a9b26 100644 --- a/types/servers/SaveServer.d.ts +++ b/types/servers/SaveServer.d.ts @@ -1,10 +1,11 @@ -import { SaveLoadRouter } from "../di/Router"; -import { IAkiProfile, Info } from "../models/eft/profile/IAkiProfile"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "../services/LocalisationService"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { VFS } from "../utils/VFS"; +import { SaveLoadRouter } from "@spt-aki/di/Router"; +import { IAkiProfile, Info } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { VFS } from "@spt-aki/utils/VFS"; +import { ConfigServer } from "./ConfigServer"; export declare class SaveServer { protected vfs: VFS; protected saveLoadRouters: SaveLoadRouter[]; @@ -12,11 +13,12 @@ export declare class SaveServer { protected hashUtil: HashUtil; protected localisationService: LocalisationService; protected logger: ILogger; + protected configServer: ConfigServer; protected profileFilepath: string; protected profiles: {}; protected onBeforeSaveCallbacks: {}; protected saveMd5: {}; - constructor(vfs: VFS, saveLoadRouters: SaveLoadRouter[], jsonUtil: JsonUtil, hashUtil: HashUtil, localisationService: LocalisationService, logger: ILogger); + constructor(vfs: VFS, saveLoadRouters: SaveLoadRouter[], jsonUtil: JsonUtil, hashUtil: HashUtil, localisationService: LocalisationService, logger: ILogger, configServer: ConfigServer); /** * Add callback to occur prior to saving profile changes * @param id Id for save callback diff --git a/types/servers/WebSocketServer.d.ts b/types/servers/WebSocketServer.d.ts index fffbea2..e0bf025 100644 --- a/types/servers/WebSocketServer.d.ts +++ b/types/servers/WebSocketServer.d.ts @@ -1,14 +1,15 @@ /// -import http, { IncomingMessage } from "http"; +import http, { IncomingMessage } from "node:http"; import WebSocket from "ws"; -import { HttpServerHelper } from "../helpers/HttpServerHelper"; -import { INotification } from "../models/eft/notifier/INotifier"; -import { IHttpConfig } from "../models/spt/config/IHttpConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "../services/LocalisationService"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { ConfigServer } from "./ConfigServer"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; +import { INotification } from "@spt-aki/models/eft/notifier/INotifier"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; export declare class WebSocketServer { protected logger: ILogger; protected randomUtil: RandomUtil; @@ -16,7 +17,8 @@ export declare class WebSocketServer { protected localisationService: LocalisationService; protected jsonUtil: JsonUtil; protected httpServerHelper: HttpServerHelper; - constructor(logger: ILogger, randomUtil: RandomUtil, configServer: ConfigServer, localisationService: LocalisationService, jsonUtil: JsonUtil, httpServerHelper: HttpServerHelper); + protected profileHelper: ProfileHelper; + constructor(logger: ILogger, randomUtil: RandomUtil, configServer: ConfigServer, localisationService: LocalisationService, jsonUtil: JsonUtil, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper); protected httpConfig: IHttpConfig; protected defaultNotification: INotification; protected webSockets: Record; diff --git a/types/servers/http/AkiHttpListener.d.ts b/types/servers/http/AkiHttpListener.d.ts index c72e18f..9499884 100644 --- a/types/servers/http/AkiHttpListener.d.ts +++ b/types/servers/http/AkiHttpListener.d.ts @@ -1,14 +1,13 @@ /// /// -import { IncomingMessage, ServerResponse } from "http"; -import { Serializer } from "../../di/Serializer"; -import { ILogger } from "../../models/spt/utils/ILogger"; -import { HttpRouter } from "../../routers/HttpRouter"; -import { LocalisationService } from "../../services/LocalisationService"; -import { HttpResponseUtil } from "../../utils/HttpResponseUtil"; -import { JsonUtil } from "../../utils/JsonUtil"; -import { HttpBufferHandler } from "./HttpBufferHandler"; -import { IHttpListener } from "./IHttpListener"; +import { IncomingMessage, ServerResponse } from "node:http"; +import { Serializer } from "@spt-aki/di/Serializer"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { HttpRouter } from "@spt-aki/routers/HttpRouter"; +import { IHttpListener } from "@spt-aki/servers/http/IHttpListener"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class AkiHttpListener implements IHttpListener { protected httpRouter: HttpRouter; protected serializers: Serializer[]; @@ -17,11 +16,18 @@ export declare class AkiHttpListener implements IHttpListener { protected jsonUtil: JsonUtil; protected httpResponse: HttpResponseUtil; protected localisationService: LocalisationService; - protected httpBufferHandler: HttpBufferHandler; constructor(httpRouter: HttpRouter, // TODO: delay required - serializers: Serializer[], logger: ILogger, requestsLogger: ILogger, jsonUtil: JsonUtil, httpResponse: HttpResponseUtil, localisationService: LocalisationService, httpBufferHandler: HttpBufferHandler); + serializers: Serializer[], logger: ILogger, requestsLogger: ILogger, jsonUtil: JsonUtil, httpResponse: HttpResponseUtil, localisationService: LocalisationService); canHandle(_: string, req: IncomingMessage): boolean; handle(sessionId: string, req: IncomingMessage, resp: ServerResponse): void; + /** + * Send http response to the client + * @param sessionID Player id + * @param req Incoming request + * @param resp Outgoing response + * @param body Buffer + * @param output Server generated response data + */ sendResponse(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: Buffer, output: string): void; getResponse(sessionID: string, req: IncomingMessage, body: Buffer): string; protected getBodyInfo(body: Buffer, requestUrl?: any): any; diff --git a/types/servers/http/HttpBufferHandler.d.ts b/types/servers/http/HttpBufferHandler.d.ts deleted file mode 100644 index fec4936..0000000 --- a/types/servers/http/HttpBufferHandler.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare class HttpBufferHandler { - protected buffers: {}; - resetBuffer(sessionID: string): void; - putInBuffer(sessionID: any, data: any, bufLength: number): boolean; - getFromBuffer(sessionID: string): any; -} diff --git a/types/servers/http/IHttpListener.d.ts b/types/servers/http/IHttpListener.d.ts index 758bb5a..29d5fce 100644 --- a/types/servers/http/IHttpListener.d.ts +++ b/types/servers/http/IHttpListener.d.ts @@ -1,5 +1,5 @@ /// -import { IncomingMessage, ServerResponse } from "http"; +import { IncomingMessage, ServerResponse } from "node:http"; export interface IHttpListener { canHandle(sessionId: string, req: IncomingMessage): boolean; handle(sessionId: string, req: IncomingMessage, resp: ServerResponse): void; diff --git a/types/services/BotEquipmentFilterService.d.ts b/types/services/BotEquipmentFilterService.d.ts index d50c52d..f0cc787 100644 --- a/types/services/BotEquipmentFilterService.d.ts +++ b/types/services/BotEquipmentFilterService.d.ts @@ -1,10 +1,10 @@ -import { BotHelper } from "../helpers/BotHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { EquipmentChances, Generation, GenerationData, IBotType, ModsChances } from "../models/eft/common/tables/IBotType"; -import { BotGenerationDetails } from "../models/spt/bots/BotGenerationDetails"; -import { AdjustmentDetails, EquipmentFilterDetails, EquipmentFilters, IBotConfig, WeightingAdjustmentDetails } from "../models/spt/config/IBotConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { EquipmentChances, Generation, GenerationData, IBotType, ModsChances } from "@spt-aki/models/eft/common/tables/IBotType"; +import { BotGenerationDetails } from "@spt-aki/models/spt/bots/BotGenerationDetails"; +import { AdjustmentDetails, EquipmentFilterDetails, EquipmentFilters, IBotConfig, WeightingAdjustmentDetails } from "@spt-aki/models/spt/config/IBotConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; export declare class BotEquipmentFilterService { protected logger: ILogger; protected botHelper: BotHelper; diff --git a/types/services/BotEquipmentModPoolService.d.ts b/types/services/BotEquipmentModPoolService.d.ts index b81ff01..8cca127 100644 --- a/types/services/BotEquipmentModPoolService.d.ts +++ b/types/services/BotEquipmentModPoolService.d.ts @@ -1,12 +1,12 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { Mods } from "../models/eft/common/tables/IBotType"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IBotConfig } from "../models/spt/config/IBotConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { VFS } from "../utils/VFS"; -import { LocalisationService } from "./LocalisationService"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { Mods } from "@spt-aki/models/eft/common/tables/IBotType"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { VFS } from "@spt-aki/utils/VFS"; /** Store a mapping between weapons, their slots and the items that fit those slots */ export declare class BotEquipmentModPoolService { protected logger: ILogger; diff --git a/types/services/BotGenerationCacheService.d.ts b/types/services/BotGenerationCacheService.d.ts index 65b3ae0..fb84ede 100644 --- a/types/services/BotGenerationCacheService.d.ts +++ b/types/services/BotGenerationCacheService.d.ts @@ -1,9 +1,9 @@ -import { BotHelper } from "../helpers/BotHelper"; -import { IBotBase } from "../models/eft/common/tables/IBotBase"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { LocalisationService } from "./LocalisationService"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class BotGenerationCacheService { protected logger: ILogger; protected randomUtil: RandomUtil; diff --git a/types/services/BotLootCacheService.d.ts b/types/services/BotLootCacheService.d.ts index 5c1560c..a2205f3 100644 --- a/types/services/BotLootCacheService.d.ts +++ b/types/services/BotLootCacheService.d.ts @@ -1,13 +1,13 @@ -import { PMCLootGenerator } from "../generators/PMCLootGenerator"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { IBotType } from "../models/eft/common/tables/IBotType"; -import { ITemplateItem, Props } from "../models/eft/common/tables/ITemplateItem"; -import { IBotLootCache, LootCacheType } from "../models/spt/bots/IBotLootCache"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { JsonUtil } from "../utils/JsonUtil"; -import { LocalisationService } from "./LocalisationService"; -import { RagfairPriceService } from "./RagfairPriceService"; +import { PMCLootGenerator } from "@spt-aki/generators/PMCLootGenerator"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { IBotType } from "@spt-aki/models/eft/common/tables/IBotType"; +import { ITemplateItem, Props } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IBotLootCache, LootCacheType } from "@spt-aki/models/spt/bots/IBotLootCache"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RagfairPriceService } from "@spt-aki/services/RagfairPriceService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class BotLootCacheService { protected logger: ILogger; protected jsonUtil: JsonUtil; diff --git a/types/services/BotWeaponModLimitService.d.ts b/types/services/BotWeaponModLimitService.d.ts index f8ebc2f..cf530a9 100644 --- a/types/services/BotWeaponModLimitService.d.ts +++ b/types/services/BotWeaponModLimitService.d.ts @@ -1,9 +1,9 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IBotConfig } from "../models/spt/config/IBotConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; export declare class BotModLimits { scope: ItemCount; scopeMax: number; diff --git a/types/services/CustomLocationWaveService.d.ts b/types/services/CustomLocationWaveService.d.ts index 7d14f07..f32c082 100644 --- a/types/services/CustomLocationWaveService.d.ts +++ b/types/services/CustomLocationWaveService.d.ts @@ -1,10 +1,10 @@ -import { BossLocationSpawn, Wave } from "../models/eft/common/ILocationBase"; -import { ILocationConfig } from "../models/spt/config/ILocationConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; +import { BossLocationSpawn, Wave } from "@spt-aki/models/eft/common/ILocationBase"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class CustomLocationWaveService { protected logger: ILogger; protected randomUtil: RandomUtil; diff --git a/types/services/FenceService.d.ts b/types/services/FenceService.d.ts index dfd8820..63cd726 100644 --- a/types/services/FenceService.d.ts +++ b/types/services/FenceService.d.ts @@ -1,21 +1,21 @@ -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PresetHelper } from "../helpers/PresetHelper"; -import { IFenceLevel, IPreset } from "../models/eft/common/IGlobals"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; -import { ITraderConfig } from "../models/spt/config/ITraderConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { ItemFilterService } from "./ItemFilterService"; -import { LocalisationService } from "./LocalisationService"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { IFenceLevel, IPreset } from "@spt-aki/models/eft/common/IGlobals"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; /** * Handle actions surrounding Fence * e.g. generating or refreshing assorts / get next refresh time @@ -140,7 +140,7 @@ export declare class FenceService { max: number; }>, loyaltyLevel: number): void; /** - * Get stack size ofr a singular item (no mods) + * Get stack size of a singular item (no mods) * @param itemDbDetails item being added to fence * @returns Stack size */ diff --git a/types/services/GiftService.d.ts b/types/services/GiftService.d.ts index 163635e..2dbf09a 100644 --- a/types/services/GiftService.d.ts +++ b/types/services/GiftService.d.ts @@ -1,12 +1,12 @@ -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { GiftSentResult } from "../models/enums/GiftSentResult"; -import { MessageType } from "../models/enums/MessageType"; -import { Gift, IGiftsConfig } from "../models/spt/config/IGiftsConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { HashUtil } from "../utils/HashUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { MailSendService } from "./MailSendService"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { GiftSentResult } from "@spt-aki/models/enums/GiftSentResult"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; +import { Gift, IGiftsConfig } from "@spt-aki/models/spt/config/IGiftsConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class GiftService { protected logger: ILogger; protected mailSendService: MailSendService; diff --git a/types/services/HashCacheService.d.ts b/types/services/HashCacheService.d.ts index 9968478..0097c96 100644 --- a/types/services/HashCacheService.d.ts +++ b/types/services/HashCacheService.d.ts @@ -1,7 +1,7 @@ -import { ILogger } from "../models/spt/utils/ILogger"; -import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; -import { VFS } from "../utils/VFS"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class HashCacheService { protected vfs: VFS; protected hashUtil: HashUtil; diff --git a/types/services/InsuranceService.d.ts b/types/services/InsuranceService.d.ts index 69bf0e4..fa13e9c 100644 --- a/types/services/InsuranceService.d.ts +++ b/types/services/InsuranceService.d.ts @@ -1,24 +1,24 @@ -import { ITraderBase } from "../models/eft/common/tables/ITrader"; -import { DialogueHelper } from "../helpers/DialogueHelper"; -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { SecureContainerHelper } from "../helpers/SecureContainerHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { IInsuredItemsData } from "../models/eft/inRaid/IInsuredItemsData"; -import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; -import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { LocaleService } from "./LocaleService"; -import { LocalisationService } from "./LocalisationService"; -import { MailSendService } from "./MailSendService"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { SecureContainerHelper } from "@spt-aki/helpers/SecureContainerHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITraderBase } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IInsuredItemsData } from "@spt-aki/models/eft/inRaid/IInsuredItemsData"; +import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; +import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocaleService } from "@spt-aki/services/LocaleService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { MailSendService } from "@spt-aki/services/MailSendService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class InsuranceService { protected logger: ILogger; protected databaseServer: DatabaseServer; diff --git a/types/services/ItemBaseClassService.d.ts b/types/services/ItemBaseClassService.d.ts index 43fe451..83994ad 100644 --- a/types/services/ItemBaseClassService.d.ts +++ b/types/services/ItemBaseClassService.d.ts @@ -1,7 +1,7 @@ -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "./LocalisationService"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; /** * Cache the baseids for each item in the tiems db inside a dictionary */ diff --git a/types/services/ItemFilterService.d.ts b/types/services/ItemFilterService.d.ts index b830d74..791bb34 100644 --- a/types/services/ItemFilterService.d.ts +++ b/types/services/ItemFilterService.d.ts @@ -1,13 +1,12 @@ -import { IItemConfig } from "../models/spt/config/IItemConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; +import { IItemConfig } from "@spt-aki/models/spt/config/IItemConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; /** Centralise the handling of blacklisting items, uses blacklist found in config/item.json, stores items that should not be used by players / broken items */ export declare class ItemFilterService { protected logger: ILogger; protected databaseServer: DatabaseServer; protected configServer: ConfigServer; - protected blacklist: string[]; protected itemConfig: IItemConfig; constructor(logger: ILogger, databaseServer: DatabaseServer, configServer: ConfigServer); /** @@ -21,4 +20,15 @@ export declare class ItemFilterService { * @returns string array of blacklisted tempalte ids */ getBlacklistedItems(): string[]; + /** + * Check if the provided template id is boss item in config/item.json + * @param tpl template id + * @returns true if boss item + */ + isBossItem(tpl: string): boolean; + /** + * Return boss items in config/item.json + * @returns string array of boss item tempalte ids + */ + getBossItems(): string[]; } diff --git a/types/services/LocaleService.d.ts b/types/services/LocaleService.d.ts index 09c658b..5ee5540 100644 --- a/types/services/LocaleService.d.ts +++ b/types/services/LocaleService.d.ts @@ -1,7 +1,7 @@ -import { ILocaleConfig } from "../models/spt/config/ILocaleConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; +import { ILocaleConfig } from "@spt-aki/models/spt/config/ILocaleConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; /** * Handles getting locales from config or users machine */ diff --git a/types/services/LocalisationService.d.ts b/types/services/LocalisationService.d.ts index ec6eecf..939db6f 100644 --- a/types/services/LocalisationService.d.ts +++ b/types/services/LocalisationService.d.ts @@ -1,9 +1,9 @@ import { I18n } from "i18n"; -import { ILocaleConfig } from "../models/spt/config/ILocaleConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { RandomUtil } from "../utils/RandomUtil"; -import { LocaleService } from "./LocaleService"; +import { ILocaleConfig } from "@spt-aki/models/spt/config/ILocaleConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocaleService } from "@spt-aki/services/LocaleService"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; /** * Handles translating server text into different langauges */ diff --git a/types/services/MailSendService.d.ts b/types/services/MailSendService.d.ts index 1d49638..08752bf 100644 --- a/types/services/MailSendService.d.ts +++ b/types/services/MailSendService.d.ts @@ -1,19 +1,19 @@ -import { DialogueHelper } from "../helpers/DialogueHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { NotificationSendHelper } from "../helpers/NotificationSendHelper"; -import { NotifierHelper } from "../helpers/NotifierHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { Item } from "../models/eft/common/tables/IItem"; -import { Dialogue, IUserDialogInfo, Message, MessageItems } from "../models/eft/profile/IAkiProfile"; -import { MessageType } from "../models/enums/MessageType"; -import { Traders } from "../models/enums/Traders"; -import { ISendMessageDetails } from "../models/spt/dialog/ISendMessageDetails"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { HashUtil } from "../utils/HashUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { LocalisationService } from "./LocalisationService"; +import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { NotificationSendHelper } from "@spt-aki/helpers/NotificationSendHelper"; +import { NotifierHelper } from "@spt-aki/helpers/NotifierHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { Dialogue, IUserDialogInfo, Message, MessageItems } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { MessageType } from "@spt-aki/models/enums/MessageType"; +import { Traders } from "@spt-aki/models/enums/Traders"; +import { ISendMessageDetails } from "@spt-aki/models/spt/dialog/ISendMessageDetails"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class MailSendService { protected logger: ILogger; protected hashUtil: HashUtil; @@ -63,7 +63,7 @@ export declare class MailSendService { * @param items Optional items to send to player * @param maxStorageTimeSeconds Optional time to collect items before they expire */ - sendLocalisedSystemMessageToPlayer(sessionId: string, messageLocaleId: string, items?: Item[], maxStorageTimeSeconds?: any): void; + sendLocalisedSystemMessageToPlayer(sessionId: string, messageLocaleId: string, items?: Item[], profileChangeEvents?: any[], maxStorageTimeSeconds?: any): void; /** * Send a USER message to a player with or without items * @param sessionId The session ID to send the message to diff --git a/types/services/MatchBotDetailsCacheService.d.ts b/types/services/MatchBotDetailsCacheService.d.ts index c1bd322..6521719 100644 --- a/types/services/MatchBotDetailsCacheService.d.ts +++ b/types/services/MatchBotDetailsCacheService.d.ts @@ -1,6 +1,6 @@ -import { IBotBase } from "../models/eft/common/tables/IBotBase"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "./LocalisationService"; +import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; /** Cache bots in a dictionary, keyed by the bots name, keying by name isnt ideal as its not unique but this is used by the post-raid system which doesnt have any bot ids, only name */ export declare class MatchBotDetailsCacheService { protected logger: ILogger; diff --git a/types/services/MatchLocationService.d.ts b/types/services/MatchLocationService.d.ts index c027bec..8f7b3bf 100644 --- a/types/services/MatchLocationService.d.ts +++ b/types/services/MatchLocationService.d.ts @@ -1,5 +1,5 @@ -import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; -import { TimeUtil } from "../utils/TimeUtil"; +import { ICreateGroupRequestData } from "@spt-aki/models/eft/match/ICreateGroupRequestData"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class MatchLocationService { protected timeUtil: TimeUtil; protected locations: {}; diff --git a/types/services/ModCompilerService.d.ts b/types/services/ModCompilerService.d.ts index 52d4e26..b8f2a37 100644 --- a/types/services/ModCompilerService.d.ts +++ b/types/services/ModCompilerService.d.ts @@ -1,7 +1,7 @@ -import { CompilerOptions } from "typescript"; -import type { ILogger } from "../models/spt/utils/ILogger"; -import { VFS } from "../utils/VFS"; -import { HashCacheService } from "./HashCacheService"; +import ts from "typescript"; +import type { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { HashCacheService } from "@spt-aki/services/HashCacheService"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class ModCompilerService { protected logger: ILogger; protected hashCacheService: HashCacheService; @@ -21,7 +21,7 @@ export declare class ModCompilerService { * @param fileNames Paths to TS files * @param options Compiler options */ - protected compile(fileNames: string[], options: CompilerOptions): Promise; + protected compile(fileNames: string[], options: ts.CompilerOptions): Promise; /** * Do the files at the provided paths exist * @param fileNames diff --git a/types/services/NotificationService.d.ts b/types/services/NotificationService.d.ts index 65a84dd..3f25b10 100644 --- a/types/services/NotificationService.d.ts +++ b/types/services/NotificationService.d.ts @@ -1,4 +1,4 @@ -import { INotification } from "../models/eft/notifier/INotifier"; +import { INotification } from "@spt-aki/models/eft/notifier/INotifier"; export declare class NotificationService { protected messageQueue: Record; getMessageQueue(): Record; diff --git a/types/services/OpenZoneService.d.ts b/types/services/OpenZoneService.d.ts index 8e70b94..581975b 100644 --- a/types/services/OpenZoneService.d.ts +++ b/types/services/OpenZoneService.d.ts @@ -1,10 +1,10 @@ -import { ILocationConfig } from "../models/spt/config/ILocationConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { JsonUtil } from "../utils/JsonUtil"; -import { RandomUtil } from "../utils/RandomUtil"; -import { LocalisationService } from "./LocalisationService"; +import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; /** Service for adding new zones to a maps OpenZones property */ export declare class OpenZoneService { protected logger: ILogger; diff --git a/types/services/PaymentService.d.ts b/types/services/PaymentService.d.ts index a604956..d6b22ed 100644 --- a/types/services/PaymentService.d.ts +++ b/types/services/PaymentService.d.ts @@ -1,17 +1,17 @@ -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { InventoryHelper } from "../helpers/InventoryHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PaymentHelper } from "../helpers/PaymentHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; -import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { LocalisationService } from "./LocalisationService"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBuyTradeRequestData } from "@spt-aki/models/eft/trade/IProcessBuyTradeRequestData"; +import { IProcessSellTradeRequestData } from "@spt-aki/models/eft/trade/IProcessSellTradeRequestData"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; export declare class PaymentService { protected logger: ILogger; protected httpResponse: HttpResponseUtil; @@ -49,13 +49,13 @@ export declare class PaymentService { */ getMoney(pmcData: IPmcData, amount: number, body: IProcessSellTradeRequestData, output: IItemEventRouterResponse, sessionID: string): IItemEventRouterResponse; /** - * Recursively checks if the given item is - * inside the stash, that is it has the stash as - * ancestor with slotId=hideout - */ + * Recursively checks if the given item is + * inside the stash, that is it has the stash as + * ancestor with slotId=hideout + */ protected isItemInStash(pmcData: IPmcData, item: Item): boolean; /** - * Remove currency from player stash/inventory + * Remove currency from player stash/inventory and update client object with changes * @param pmcData Player profile to find and remove currency from * @param currencyTpl Type of currency to pay * @param amountToPay money value to pay diff --git a/types/services/PlayerService.d.ts b/types/services/PlayerService.d.ts index 458ce82..f24e0dc 100644 --- a/types/services/PlayerService.d.ts +++ b/types/services/PlayerService.d.ts @@ -1,23 +1,14 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { TimeUtil } from "../utils/TimeUtil"; -import { LocalisationService } from "./LocalisationService"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class PlayerService { protected logger: ILogger; protected timeUtil: TimeUtil; protected localisationService: LocalisationService; protected databaseServer: DatabaseServer; constructor(logger: ILogger, timeUtil: TimeUtil, localisationService: LocalisationService, databaseServer: DatabaseServer); - /** - * Dupe of QuestHelper.rewardsSkillPoints() - * Add xp to a player skill - * @param pmcData Player profile - * @param skillName Name of skill to increment - * @param amount Amount of skill points to add to skill - * @param useSkillProgressRateMultipler Skills are multiplied by a value in globals, default is off to maintain compatibility with legacy code - */ - incrementSkillLevel(pmcData: IPmcData, skillName: string, amount: number, useSkillProgressRateMultipler?: boolean): void; /** * Get level of player * @param pmcData Player profile diff --git a/types/services/PmcChatResponseService.d.ts b/types/services/PmcChatResponseService.d.ts index 7d946e6..b5a0b8b 100644 --- a/types/services/PmcChatResponseService.d.ts +++ b/types/services/PmcChatResponseService.d.ts @@ -1,14 +1,14 @@ -import { NotificationSendHelper } from "../helpers/NotificationSendHelper"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Aggressor, Victim } from "../models/eft/common/tables/IBotBase"; -import { IUserDialogInfo } from "../models/eft/profile/IAkiProfile"; -import { IPmcChatResponse } from "../models/spt/config/IPmChatResponse"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { RandomUtil } from "../utils/RandomUtil"; -import { LocalisationService } from "./LocalisationService"; -import { MatchBotDetailsCacheService } from "./MatchBotDetailsCacheService"; +import { NotificationSendHelper } from "@spt-aki/helpers/NotificationSendHelper"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Aggressor, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IUserDialogInfo } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { IPmcChatResponse } from "@spt-aki/models/spt/config/IPmChatResponse"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { MatchBotDetailsCacheService } from "@spt-aki/services/MatchBotDetailsCacheService"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class PmcChatResponseService { protected logger: ILogger; protected randomUtil: RandomUtil; diff --git a/types/services/ProfileFixerService.d.ts b/types/services/ProfileFixerService.d.ts index bc1e42e..e2e140b 100644 --- a/types/services/ProfileFixerService.d.ts +++ b/types/services/ProfileFixerService.d.ts @@ -1,23 +1,24 @@ -import { HideoutHelper } from "../helpers/HideoutHelper"; -import { InventoryHelper } from "../helpers/InventoryHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Bonus, HideoutSlot } from "../models/eft/common/tables/IBotBase"; -import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; -import { StageBonus } from "../models/eft/hideout/IHideoutArea"; -import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; -import { HideoutAreas } from "../models/enums/HideoutAreas"; -import { ICoreConfig } from "../models/spt/config/ICoreConfig"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { JsonUtil } from "../utils/JsonUtil"; -import { TimeUtil } from "../utils/TimeUtil"; -import { Watermark } from "../utils/Watermark"; -import { LocalisationService } from "./LocalisationService"; +import { HideoutHelper } from "@spt-aki/helpers/HideoutHelper"; +import { InventoryHelper } from "@spt-aki/helpers/InventoryHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Bonus, HideoutSlot } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt-aki/models/eft/common/tables/IRepeatableQuests"; +import { StageBonus } from "@spt-aki/models/eft/hideout/IHideoutArea"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { HideoutAreas } from "@spt-aki/models/enums/HideoutAreas"; +import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; +import { Watermark } from "@spt-aki/utils/Watermark"; export declare class ProfileFixerService { protected logger: ILogger; protected watermark: Watermark; @@ -29,16 +30,22 @@ export declare class ProfileFixerService { protected localisationService: LocalisationService; protected timeUtil: TimeUtil; protected jsonUtil: JsonUtil; + protected hashUtil: HashUtil; protected databaseServer: DatabaseServer; protected configServer: ConfigServer; protected coreConfig: ICoreConfig; protected ragfairConfig: IRagfairConfig; - constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer); + constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer); /** * Find issues in the pmc profile data that may cause issues and fix them * @param pmcProfile profile to check and fix */ checkForAndFixPmcProfileIssues(pmcProfile: IPmcData): void; + /** + * Find issues in the scav profile data that may cause issues + * @param scavProfile profile to check and fix + */ + checkForAndFixScavProfileIssues(scavProfile: IPmcData): void; protected addMissingGunStandContainerImprovements(pmcProfile: IPmcData): void; protected ensureGunStandLevelsMatch(pmcProfile: IPmcData): void; protected addHideoutAreaStashes(pmcProfile: IPmcData): void; @@ -65,9 +72,9 @@ export declare class ProfileFixerService { * Adjust profile quest status and statusTimers object values * quest.status is numeric e.g. 2 * quest.statusTimers keys are numeric as strings e.g. "2" - * @param pmcProfile profile to update + * @param profile profile to update */ - protected updateProfileQuestDataValues(pmcProfile: IPmcData): void; + protected updateProfileQuestDataValues(profile: IPmcData): void; protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; /** * Some profiles have hideout maxed and therefore no improvements @@ -102,7 +109,6 @@ export declare class ProfileFixerService { */ addMissingHideoutBonusesToProfile(pmcProfile: IPmcData): void; /** - * * @param profileBonuses bonuses from profile * @param bonus bonus to find * @returns matching bonus @@ -114,6 +120,11 @@ export declare class ProfileFixerService { * @param pmcProfile Profile to check inventory of */ checkForOrphanedModdedItems(sessionId: string, fullProfile: IAkiProfile): void; + /** + * Attempt to fix common item issues that corrupt profiles + * @param pmcProfile Profile to check items of + */ + fixProfileBreakingInventoryItemIssues(pmcProfile: IPmcData): void; /** * Add `Improvements` object to hideout if missing - added in eft 13.0.21469 * @param pmcProfile profile to update @@ -129,6 +140,17 @@ export declare class ProfileFixerService { * @param pmcProfile Profile to update */ removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void; + /** + * 3.7.0 moved AIDs to be numeric, old profiles need to be migrated + * We store the old AID value in new field `sessionId` + * @param fullProfile Profile to update + */ + fixIncorrectAidValue(fullProfile: IAkiProfile): void; + /** + * Bsg nested `stats` into a sub object called 'eft' + * @param fullProfile Profile to check for and migrate stats data + */ + migrateStatsToNewStructure(fullProfile: IAkiProfile): void; /** * 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets * @param pmcProfile Profile to add missing IDs to @@ -136,7 +158,7 @@ export declare class ProfileFixerService { addMissingIdsToBonuses(pmcProfile: IPmcData): void; /** * At some point the property name was changed,migrate data across to new name - * @param pmcProfile + * @param pmcProfile Profile to migrate improvements in */ protected migrateImprovements(pmcProfile: IPmcData): void; } diff --git a/types/services/ProfileSnapshotService.d.ts b/types/services/ProfileSnapshotService.d.ts index 445ffd0..3f60d41 100644 --- a/types/services/ProfileSnapshotService.d.ts +++ b/types/services/ProfileSnapshotService.d.ts @@ -1,5 +1,5 @@ -import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; -import { JsonUtil } from "../utils/JsonUtil"; +import { IAkiProfile } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class ProfileSnapshotService { protected jsonUtil: JsonUtil; protected storedProfileSnapshots: Record; diff --git a/types/services/RagfairCategoriesService.d.ts b/types/services/RagfairCategoriesService.d.ts index 490b0bb..ef40275 100644 --- a/types/services/RagfairCategoriesService.d.ts +++ b/types/services/RagfairCategoriesService.d.ts @@ -1,40 +1,17 @@ -import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; -import { ILogger } from "../models/spt/utils/ILogger"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { ISearchRequestData } from "@spt-aki/models/eft/ragfair/ISearchRequestData"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; export declare class RagfairCategoriesService { protected logger: ILogger; - protected categories: Record; - constructor(logger: ILogger); + protected paymentHelper: PaymentHelper; + constructor(logger: ILogger, paymentHelper: PaymentHelper); /** - * Get all flea categories and their count of offers - * @returns item categories and count + * Get a dictionary of each item the play can see in their flea menu, filtered by what is available for them to buy + * @param offers All offers in flea + * @param searchRequestData Search criteria requested + * @param fleaUnlocked Can player see full flea yet (level 15 by default) + * @returns KVP of item tpls + count of offers */ - getAllCategories(): Record; - /** - * With the supplied items, get custom categories - * @returns a custom list of categories - */ - getBespokeCategories(offers: IRagfairOffer[]): Record; - /** - * Take an array of ragfair offers and create a dictionary of items with thier corrisponding offer count - * @param offers ragfair offers - * @returns categories and count - */ - protected processOffersIntoCategories(offers: IRagfairOffer[]): Record; - /** - * Increment or decrement a category array - * @param offer Offer to process - * @param categories Categories to update - * @param increment (Optional) Should item be incremented or decremented - */ - protected addOrIncrementCategory(offer: IRagfairOffer, categories: Record, increment?: boolean): void; - /** - * Increase category count by 1 - * @param offer - */ - incrementCategory(offer: IRagfairOffer): void; - /** - * Reduce category count by 1 - * @param offer - */ - decrementCategory(offer: IRagfairOffer): void; + getCategoriesFromOffers(offers: IRagfairOffer[], searchRequestData: ISearchRequestData, fleaUnlocked: boolean): Record; } diff --git a/types/services/RagfairLinkedItemService.d.ts b/types/services/RagfairLinkedItemService.d.ts index 0fe4d15..3d607ac 100644 --- a/types/services/RagfairLinkedItemService.d.ts +++ b/types/services/RagfairLinkedItemService.d.ts @@ -1,6 +1,6 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { DatabaseServer } from "../servers/DatabaseServer"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; export declare class RagfairLinkedItemService { protected databaseServer: DatabaseServer; protected itemHelper: ItemHelper; diff --git a/types/services/RagfairOfferService.d.ts b/types/services/RagfairOfferService.d.ts index fc08d39..ce86ee3 100644 --- a/types/services/RagfairOfferService.d.ts +++ b/types/services/RagfairOfferService.d.ts @@ -1,26 +1,24 @@ -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; -import { Item } from "../models/eft/common/tables/IItem"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { EventOutputHolder } from "../routers/EventOutputHolder"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { SaveServer } from "../servers/SaveServer"; -import { HttpResponseUtil } from "../utils/HttpResponseUtil"; -import { RagfairOfferHolder } from "../utils/RagfairOfferHolder"; -import { TimeUtil } from "../utils/TimeUtil"; -import { LocalisationService } from "./LocalisationService"; -import { RagfairCategoriesService } from "./RagfairCategoriesService"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { RagfairServerHelper } from "@spt-aki/helpers/RagfairServerHelper"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { EventOutputHolder } from "@spt-aki/routers/EventOutputHolder"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { SaveServer } from "@spt-aki/servers/SaveServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; +import { RagfairOfferHolder } from "@spt-aki/utils/RagfairOfferHolder"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class RagfairOfferService { protected logger: ILogger; protected timeUtil: TimeUtil; protected databaseServer: DatabaseServer; protected saveServer: SaveServer; protected ragfairServerHelper: RagfairServerHelper; - protected ragfairCategoriesService: RagfairCategoriesService; protected profileHelper: ProfileHelper; protected eventOutputHolder: EventOutputHolder; protected httpResponse: HttpResponseUtil; @@ -30,7 +28,7 @@ export declare class RagfairOfferService { protected expiredOffers: Record; protected ragfairConfig: IRagfairConfig; protected ragfairOfferHandler: RagfairOfferHolder; - constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, ragfairCategoriesService: RagfairCategoriesService, profileHelper: ProfileHelper, eventOutputHolder: EventOutputHolder, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, eventOutputHolder: EventOutputHolder, httpResponse: HttpResponseUtil, localisationService: LocalisationService, configServer: ConfigServer); /** * Get all offers * @returns IRagfairOffer array diff --git a/types/services/RagfairPriceService.d.ts b/types/services/RagfairPriceService.d.ts index ff35327..3e91d52 100644 --- a/types/services/RagfairPriceService.d.ts +++ b/types/services/RagfairPriceService.d.ts @@ -1,19 +1,19 @@ -import { OnLoad } from "../di/OnLoad"; -import { HandbookHelper } from "../helpers/HandbookHelper"; -import { ItemHelper } from "../helpers/ItemHelper"; -import { PresetHelper } from "../helpers/PresetHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { MinMax } from "../models/common/MinMax"; -import { IPreset } from "../models/eft/common/IGlobals"; -import { Item } from "../models/eft/common/tables/IItem"; -import { IBarterScheme } from "../models/eft/common/tables/ITrader"; -import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; -import { IRagfairServerPrices } from "../models/spt/ragfair/IRagfairServerPrices"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { RandomUtil } from "../utils/RandomUtil"; -import { LocalisationService } from "./LocalisationService"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { PresetHelper } from "@spt-aki/helpers/PresetHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { MinMax } from "@spt-aki/models/common/MinMax"; +import { IPreset } from "@spt-aki/models/eft/common/IGlobals"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { IBarterScheme } from "@spt-aki/models/eft/common/tables/ITrader"; +import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig"; +import { IRagfairServerPrices } from "@spt-aki/models/spt/ragfair/IRagfairServerPrices"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; /** * Stores flea prices for items as well as methods to interact with them */ diff --git a/types/services/RagfairRequiredItemsService.d.ts b/types/services/RagfairRequiredItemsService.d.ts index 95c3ddb..3d030c2 100644 --- a/types/services/RagfairRequiredItemsService.d.ts +++ b/types/services/RagfairRequiredItemsService.d.ts @@ -1,6 +1,6 @@ -import { PaymentHelper } from "../helpers/PaymentHelper"; -import { RagfairOfferService } from "../services/RagfairOfferService"; -import { ILogger } from "../models/spt/utils/ILogger"; +import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { RagfairOfferService } from "@spt-aki/services/RagfairOfferService"; export declare class RagfairRequiredItemsService { protected logger: ILogger; protected paymentHelper: PaymentHelper; diff --git a/types/services/RagfairTaxService.d.ts b/types/services/RagfairTaxService.d.ts index e6b3d7c..e72228f 100644 --- a/types/services/RagfairTaxService.d.ts +++ b/types/services/RagfairTaxService.d.ts @@ -1,11 +1,11 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IStorePlayerOfferTaxAmountRequestData } from "../models/eft/ragfair/IStorePlayerOfferTaxAmountRequestData"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { RagfairPriceService } from "../services/RagfairPriceService"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IStorePlayerOfferTaxAmountRequestData } from "@spt-aki/models/eft/ragfair/IStorePlayerOfferTaxAmountRequestData"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { RagfairPriceService } from "@spt-aki/services/RagfairPriceService"; export declare class RagfairTaxService { protected logger: ILogger; protected databaseServer: DatabaseServer; diff --git a/types/services/RaidTimeAdjustmentService.d.ts b/types/services/RaidTimeAdjustmentService.d.ts new file mode 100644 index 0000000..a2a223a --- /dev/null +++ b/types/services/RaidTimeAdjustmentService.d.ts @@ -0,0 +1,60 @@ +import { ApplicationContext } from "@spt-aki/context/ApplicationContext"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { IGetRaidTimeRequest } from "@spt-aki/models/eft/game/IGetRaidTimeRequest"; +import { ExtractChange, IGetRaidTimeResponse } from "@spt-aki/models/eft/game/IGetRaidTimeResponse"; +import { ILocationConfig, IScavRaidTimeLocationSettings, LootMultiplier } from "@spt-aki/models/spt/config/ILocationConfig"; +import { IRaidChanges } from "@spt-aki/models/spt/location/IRaidChanges"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; +export declare class RaidTimeAdjustmentService { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected randomUtil: RandomUtil; + protected weightedRandomHelper: WeightedRandomHelper; + protected applicationContext: ApplicationContext; + protected configServer: ConfigServer; + protected locationConfig: ILocationConfig; + constructor(logger: ILogger, databaseServer: DatabaseServer, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, applicationContext: ApplicationContext, configServer: ConfigServer); + /** + * Make alterations to the base map data passed in + * Loot multipliers/waves/wave start times + * @param raidAdjustments Changes to process on map + * @param mapBase Map to adjust + */ + makeAdjustmentsToMap(raidAdjustments: IRaidChanges, mapBase: ILocationBase): void; + /** + * Adjust the loot multiplier values passed in to be a % of their original value + * @param mapLootMultiplers Multiplers to adjust + * @param loosePercent Percent to change values to + */ + protected adjustLootMultipliers(mapLootMultiplers: LootMultiplier, loosePercent: number): void; + /** + * Adjust bot waves to act as if player spawned later + * @param mapBase map to adjust + * @param raidAdjustments Map adjustments + */ + protected adjustWaves(mapBase: ILocationBase, raidAdjustments: IRaidChanges): void; + /** + * Create a randomised adjustment to the raid based on map data in location.json + * @param sessionId Session id + * @param request Raid adjustment request + * @returns Response to send to client + */ + getRaidAdjustments(sessionId: string, request: IGetRaidTimeRequest): IGetRaidTimeResponse; + /** + * Get raid start time settings for specific map + * @param location Map Location e.g. bigmap + * @returns IScavRaidTimeLocationSettings + */ + protected getMapSettings(location: string): IScavRaidTimeLocationSettings; + /** + * Adjust exit times to handle scavs entering raids part-way through + * @param mapBase Map base file player is on + * @param newRaidTimeMinutes How long raid is in minutes + * @returns List of exit changes to send to client + */ + protected getExitAdjustments(mapBase: ILocationBase, newRaidTimeMinutes: number): ExtractChange[]; +} diff --git a/types/services/RepairService.d.ts b/types/services/RepairService.d.ts index 2fd22ed..cb0070f 100644 --- a/types/services/RepairService.d.ts +++ b/types/services/RepairService.d.ts @@ -1,25 +1,26 @@ -import { ItemHelper } from "../helpers/ItemHelper"; -import { QuestHelper } from "../helpers/QuestHelper"; -import { RepairHelper } from "../helpers/RepairHelper"; -import { TraderHelper } from "../helpers/TraderHelper"; -import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { RepairKitsInfo } from "../models/eft/repair/IRepairActionDataRequest"; -import { RepairItem } from "../models/eft/repair/ITraderRepairActionDataRequest"; -import { BonusSettings, IRepairConfig } from "../models/spt/config/IRepairConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { RandomUtil } from "../utils/RandomUtil"; -import { LocalisationService } from "./LocalisationService"; -import { PaymentService } from "./PaymentService"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { RepairHelper } from "@spt-aki/helpers/RepairHelper"; +import { TraderHelper } from "@spt-aki/helpers/TraderHelper"; +import { WeightedRandomHelper } from "@spt-aki/helpers/WeightedRandomHelper"; +import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; +import { Item } from "@spt-aki/models/eft/common/tables/IItem"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { RepairKitsInfo } from "@spt-aki/models/eft/repair/IRepairActionDataRequest"; +import { RepairItem } from "@spt-aki/models/eft/repair/ITraderRepairActionDataRequest"; +import { SkillTypes } from "@spt-aki/models/enums/SkillTypes"; +import { BonusSettings, IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { PaymentService } from "@spt-aki/services/PaymentService"; +import { RandomUtil } from "@spt-aki/utils/RandomUtil"; export declare class RepairService { protected logger: ILogger; protected databaseServer: DatabaseServer; - protected questHelper: QuestHelper; + protected profileHelper: ProfileHelper; protected randomUtil: RandomUtil; protected itemHelper: ItemHelper; protected traderHelper: TraderHelper; @@ -29,7 +30,7 @@ export declare class RepairService { protected localisationService: LocalisationService; protected configServer: ConfigServer; protected repairConfig: IRepairConfig; - constructor(logger: ILogger, databaseServer: DatabaseServer, questHelper: QuestHelper, randomUtil: RandomUtil, itemHelper: ItemHelper, traderHelper: TraderHelper, weightedRandomHelper: WeightedRandomHelper, paymentService: PaymentService, repairHelper: RepairHelper, localisationService: LocalisationService, configServer: ConfigServer); + constructor(logger: ILogger, databaseServer: DatabaseServer, profileHelper: ProfileHelper, randomUtil: RandomUtil, itemHelper: ItemHelper, traderHelper: TraderHelper, weightedRandomHelper: WeightedRandomHelper, paymentService: PaymentService, repairHelper: RepairHelper, localisationService: LocalisationService, configServer: ConfigServer); /** * Use trader to repair an items durability * @param sessionID Session id @@ -40,7 +41,6 @@ export declare class RepairService { */ repairItemByTrader(sessionID: string, pmcData: IPmcData, repairItemDetails: RepairItem, traderId: string): RepairDetails; /** - * * @param sessionID Session id * @param pmcData profile to take money from * @param repairedItemId Repaired item id @@ -56,8 +56,14 @@ export declare class RepairService { * @param pmcData Profile to add points to */ addRepairSkillPoints(sessionId: string, repairDetails: RepairDetails, pmcData: IPmcData): void; + protected getIntellectGainedFromRepair(repairDetails: RepairDetails): number; + /** + * Return an appromixation of the amount of skill points live would return for the given repairDetails + * @param repairDetails the repair details to calculate skill points for + * @returns the number of skill points to reward the user + */ + protected getWeaponRepairSkillPoints(repairDetails: RepairDetails): number; /** - * * @param sessionId Session id * @param pmcData Profile to update repaired item in * @param repairKits Array of Repair kits to use @@ -81,6 +87,13 @@ export declare class RepairService { * @returns Multiplier value */ protected getBonusMultiplierValue(skillBonusName: string, pmcData: IPmcData): number; + /** + * Should a repair kit apply total durability loss on repair + * @param pmcData Player profile + * @param applyRandomizeDurabilityLoss Value from repair config + * @returns True if loss should be applied + */ + protected shouldRepairKitApplyDurabilityLoss(pmcData: IPmcData, applyRandomizeDurabilityLoss: boolean): boolean; /** * Update repair kits Resource object if it doesn't exist * @param repairKitDetails Repair kit details from db @@ -112,7 +125,7 @@ export declare class RepairService { * @param itemTemplate Item to check for skill * @returns Skill name */ - protected getItemSkillType(itemTemplate: ITemplateItem): string; + protected getItemSkillType(itemTemplate: ITemplateItem): SkillTypes; /** * Ensure multiplier is between 1 and 0.01 * @param receiveDurabilityMaxPercent Max durabiltiy percent @@ -123,6 +136,7 @@ export declare class RepairService { } export declare class RepairDetails { repairCost?: number; + repairPoints?: number; repairedItem: Item; repairedItemIsArmor: boolean; repairAmount: number; diff --git a/types/services/SeasonalEventService.d.ts b/types/services/SeasonalEventService.d.ts index 9fb3454..3e20409 100644 --- a/types/services/SeasonalEventService.d.ts +++ b/types/services/SeasonalEventService.d.ts @@ -1,17 +1,17 @@ -import { BotHelper } from "../helpers/BotHelper"; -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { IConfig } from "../models/eft/common/IGlobals"; -import { Inventory } from "../models/eft/common/tables/IBotType"; -import { SeasonalEventType } from "../models/enums/SeasonalEventType"; -import { IHttpConfig } from "../models/spt/config/IHttpConfig"; -import { IQuestConfig } from "../models/spt/config/IQuestConfig"; -import { ISeasonalEvent, ISeasonalEventConfig } from "../models/spt/config/ISeasonalEventConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { DatabaseImporter } from "../utils/DatabaseImporter"; -import { GiftService } from "./GiftService"; -import { LocalisationService } from "./LocalisationService"; +import { BotHelper } from "@spt-aki/helpers/BotHelper"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { IConfig } from "@spt-aki/models/eft/common/IGlobals"; +import { Inventory } from "@spt-aki/models/eft/common/tables/IBotType"; +import { SeasonalEventType } from "@spt-aki/models/enums/SeasonalEventType"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig"; +import { ISeasonalEvent, ISeasonalEventConfig } from "@spt-aki/models/spt/config/ISeasonalEventConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { GiftService } from "@spt-aki/services/GiftService"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { DatabaseImporter } from "@spt-aki/utils/DatabaseImporter"; export declare class SeasonalEventService { protected logger: ILogger; protected databaseServer: DatabaseServer; @@ -24,6 +24,8 @@ export declare class SeasonalEventService { protected seasonalEventConfig: ISeasonalEventConfig; protected questConfig: IQuestConfig; protected httpConfig: IHttpConfig; + protected halloweenEventActive: any; + protected christmasEventActive: any; constructor(logger: ILogger, databaseServer: DatabaseServer, databaseImporter: DatabaseImporter, giftService: GiftService, localisationService: LocalisationService, botHelper: BotHelper, profileHelper: ProfileHelper, configServer: ConfigServer); protected get christmasEventItems(): string[]; protected get halloweenEventItems(): string[]; @@ -51,23 +53,18 @@ export declare class SeasonalEventService { * @returns array of tpl strings */ getAllSeasonalEventItems(): string[]; - /** - * Get an array of seasonal items that should be blocked as season is not currently active - * @returns Array of tpl strings - */ - getSeasonalEventItemsToBlock(): string[]; /** * Is a seasonal event currently active * @returns true if event is active */ seasonalEventEnabled(): boolean; /** - * Is christmas event active (Globals eventtype array contains even name) + * Is christmas event active * @returns true if active */ christmasEventEnabled(): boolean; /** - * is halloween event active (Globals eventtype array contains even name) + * is halloween event active * @returns true if active */ halloweenEventEnabled(): boolean; @@ -95,10 +92,11 @@ export declare class SeasonalEventService { */ isQuestRelatedToEvent(questId: string, event: SeasonalEventType): boolean; /** - * Check if current date falls inside any of the seasons events pased in, if so, handle them + * Handle seasonal events * @param sessionId Players id */ - checkForAndEnableSeasonalEvents(sessionId: string): void; + enableSeasonalEvents(sessionId: string): void; + protected cacheActiveEvents(): void; /** * Iterate through bots inventory and loot to find and remove christmas items (as defined in SeasonalEventService) * @param nodeInventory Bots inventory to iterate over diff --git a/types/services/TraderAssortService.d.ts b/types/services/TraderAssortService.d.ts index 03b4e12..9130de6 100644 --- a/types/services/TraderAssortService.d.ts +++ b/types/services/TraderAssortService.d.ts @@ -1,4 +1,4 @@ -import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader"; export declare class TraderAssortService { protected pristineTraderAssorts: Record; getPristineTraderAssort(traderId: string): ITraderAssort; diff --git a/types/services/TraderPurchasePersisterService.d.ts b/types/services/TraderPurchasePersisterService.d.ts index 25b02ad..cd7518c 100644 --- a/types/services/TraderPurchasePersisterService.d.ts +++ b/types/services/TraderPurchasePersisterService.d.ts @@ -1,10 +1,10 @@ -import { ProfileHelper } from "../helpers/ProfileHelper"; -import { TraderPurchaseData } from "../models/eft/profile/IAkiProfile"; -import { ITraderConfig } from "../models/spt/config/ITraderConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { TimeUtil } from "../utils/TimeUtil"; -import { LocalisationService } from "./LocalisationService"; +import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; +import { TraderPurchaseData } from "@spt-aki/models/eft/profile/IAkiProfile"; +import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; /** * Help with storing limited item purchases from traders in profile to persist them over server restarts */ diff --git a/types/services/mod/CustomItemService.d.ts b/types/services/mod/CustomItemService.d.ts index 87bda40..29329dc 100644 --- a/types/services/mod/CustomItemService.d.ts +++ b/types/services/mod/CustomItemService.d.ts @@ -1,17 +1,19 @@ -import { ITemplateItem, Props } from "../../models/eft/common/tables/ITemplateItem"; -import { CreateItemResult, LocaleDetails, NewItemDetails, NewItemFromCloneDetails } from "../../models/spt/mod/NewItemDetails"; -import { IDatabaseTables } from "../../models/spt/server/IDatabaseTables"; -import { ILogger } from "../../models/spt/utils/ILogger"; -import { DatabaseServer } from "../../servers/DatabaseServer"; -import { HashUtil } from "../../utils/HashUtil"; -import { JsonUtil } from "../../utils/JsonUtil"; +import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; +import { ITemplateItem, Props } from "@spt-aki/models/eft/common/tables/ITemplateItem"; +import { CreateItemResult, LocaleDetails, NewItemDetails, NewItemFromCloneDetails } from "@spt-aki/models/spt/mod/NewItemDetails"; +import { IDatabaseTables } from "@spt-aki/models/spt/server/IDatabaseTables"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class CustomItemService { protected logger: ILogger; protected hashUtil: HashUtil; protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; protected tables: IDatabaseTables; - constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer); + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper); /** * Create a new item from a cloned item base * WARNING - If no item id is supplied, an id will be generated, this id will be random every time you add an item and will not be the same on each subsequent server start @@ -77,4 +79,11 @@ export declare class CustomItemService { * @param fleaPriceRoubles Price of the new item */ protected addToFleaPriceDb(newItemId: string, fleaPriceRoubles: number): void; + /** + * Add a custom weapon to PMCs loadout + * @param weaponTpl Custom weapon tpl to add to PMCs + * @param weaponWeight The weighting for the weapon to be picked vs other weapons + * @param weaponSlot The slot the weapon should be added to (e.g. FirstPrimaryWeapon/SecondPrimaryWeapon/Holster) + */ + addCustomWeaponToPMCs(weaponTpl: string, weaponWeight: number, weaponSlot: string): void; } diff --git a/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts b/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts index abfe237..5eed5b4 100644 --- a/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts +++ b/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts @@ -1,4 +1,4 @@ -import { DynamicRouter, RouteAction } from "../../../di/Router"; +import { DynamicRouter, RouteAction } from "@spt-aki/di/Router"; export declare class DynamicRouterMod extends DynamicRouter { private topLevelRoute; constructor(routes: RouteAction[], topLevelRoute: string); diff --git a/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts b/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts index 6742fc6..648d191 100644 --- a/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts +++ b/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts @@ -1,5 +1,5 @@ import { DependencyContainer } from "tsyringe"; -import { RouteAction } from "../../../di/Router"; +import { RouteAction } from "@spt-aki/di/Router"; export declare class DynamicRouterModService { private container; constructor(container: DependencyContainer); diff --git a/types/services/mod/httpListener/HttpListenerMod.d.ts b/types/services/mod/httpListener/HttpListenerMod.d.ts index 2cdfbda..ebfa946 100644 --- a/types/services/mod/httpListener/HttpListenerMod.d.ts +++ b/types/services/mod/httpListener/HttpListenerMod.d.ts @@ -1,6 +1,6 @@ /// -import { IncomingMessage, ServerResponse } from "http"; -import { IHttpListener } from "../../../servers/http/IHttpListener"; +import { IncomingMessage, ServerResponse } from "node:http"; +import { IHttpListener } from "@spt-aki/servers/http/IHttpListener"; export declare class HttpListenerMod implements IHttpListener { private canHandleOverride; private handleOverride; diff --git a/types/services/mod/httpListener/HttpListenerModService.d.ts b/types/services/mod/httpListener/HttpListenerModService.d.ts index 9dd3473..23abfbe 100644 --- a/types/services/mod/httpListener/HttpListenerModService.d.ts +++ b/types/services/mod/httpListener/HttpListenerModService.d.ts @@ -1,5 +1,5 @@ /// -import { IncomingMessage, ServerResponse } from "http"; +import { IncomingMessage, ServerResponse } from "node:http"; import { DependencyContainer } from "tsyringe"; export declare class HttpListenerModService { protected container: DependencyContainer; diff --git a/types/services/mod/onLoad/OnLoadMod.d.ts b/types/services/mod/onLoad/OnLoadMod.d.ts index a4b58b5..2bd5a31 100644 --- a/types/services/mod/onLoad/OnLoadMod.d.ts +++ b/types/services/mod/onLoad/OnLoadMod.d.ts @@ -1,4 +1,4 @@ -import { OnLoad } from "../../../di/OnLoad"; +import { OnLoad } from "@spt-aki/di/OnLoad"; export declare class OnLoadMod implements OnLoad { private onLoadOverride; private getRouteOverride; diff --git a/types/services/mod/onUpdate/OnUpdateMod.d.ts b/types/services/mod/onUpdate/OnUpdateMod.d.ts index 8dfe6dd..bef1d1c 100644 --- a/types/services/mod/onUpdate/OnUpdateMod.d.ts +++ b/types/services/mod/onUpdate/OnUpdateMod.d.ts @@ -1,4 +1,4 @@ -import { OnUpdate } from "../../../di/OnUpdate"; +import { OnUpdate } from "@spt-aki/di/OnUpdate"; export declare class OnUpdateMod implements OnUpdate { private onUpdateOverride; private getRouteOverride; diff --git a/types/services/mod/staticRouter/StaticRouterMod.d.ts b/types/services/mod/staticRouter/StaticRouterMod.d.ts index 1e62747..e01aaab 100644 --- a/types/services/mod/staticRouter/StaticRouterMod.d.ts +++ b/types/services/mod/staticRouter/StaticRouterMod.d.ts @@ -1,4 +1,4 @@ -import { RouteAction, StaticRouter } from "../../../di/Router"; +import { RouteAction, StaticRouter } from "@spt-aki/di/Router"; export declare class StaticRouterMod extends StaticRouter { private topLevelRoute; constructor(routes: RouteAction[], topLevelRoute: string); diff --git a/types/services/mod/staticRouter/StaticRouterModService.d.ts b/types/services/mod/staticRouter/StaticRouterModService.d.ts index f28fd45..775caae 100644 --- a/types/services/mod/staticRouter/StaticRouterModService.d.ts +++ b/types/services/mod/staticRouter/StaticRouterModService.d.ts @@ -1,5 +1,5 @@ import { DependencyContainer } from "tsyringe"; -import { RouteAction } from "../../../di/Router"; +import { RouteAction } from "@spt-aki/di/Router"; export declare class StaticRouterModService { protected container: DependencyContainer; constructor(container: DependencyContainer); diff --git a/types/utils/App.d.ts b/types/utils/App.d.ts index dd8f24c..64800ce 100644 --- a/types/utils/App.d.ts +++ b/types/utils/App.d.ts @@ -1,19 +1,22 @@ -import { OnLoad } from "../di/OnLoad"; -import { OnUpdate } from "../di/OnUpdate"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { LocalisationService } from "../services/LocalisationService"; -import { EncodingUtil } from "./EncodingUtil"; -import { TimeUtil } from "./TimeUtil"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { OnUpdate } from "@spt-aki/di/OnUpdate"; +import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { EncodingUtil } from "@spt-aki/utils/EncodingUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class App { protected logger: ILogger; protected timeUtil: TimeUtil; protected localisationService: LocalisationService; + protected configServer: ConfigServer; protected encodingUtil: EncodingUtil; protected onLoadComponents: OnLoad[]; protected onUpdateComponents: OnUpdate[]; protected onUpdateLastRun: {}; - protected os: any; - constructor(logger: ILogger, timeUtil: TimeUtil, localisationService: LocalisationService, encodingUtil: EncodingUtil, onLoadComponents: OnLoad[], onUpdateComponents: OnUpdate[]); + protected coreConfig: ICoreConfig; + constructor(logger: ILogger, timeUtil: TimeUtil, localisationService: LocalisationService, configServer: ConfigServer, encodingUtil: EncodingUtil, onLoadComponents: OnLoad[], onUpdateComponents: OnUpdate[]); load(): Promise; protected update(onUpdateComponents: OnUpdate[]): Promise; protected logUpdateException(err: any, updateable: OnUpdate): void; diff --git a/types/utils/AsyncQueue.d.ts b/types/utils/AsyncQueue.d.ts index da6ab18..2fab517 100644 --- a/types/utils/AsyncQueue.d.ts +++ b/types/utils/AsyncQueue.d.ts @@ -1,5 +1,5 @@ -import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; -import { ICommand } from "../models/spt/utils/ICommand"; +import { IAsyncQueue } from "@spt-aki/models/spt/utils/IAsyncQueue"; +import { ICommand } from "@spt-aki/models/spt/utils/ICommand"; export declare class AsyncQueue implements IAsyncQueue { protected commandsQueue: ICommand[]; constructor(); diff --git a/types/utils/DatabaseImporter.d.ts b/types/utils/DatabaseImporter.d.ts index b1afefc..f8218bf 100644 --- a/types/utils/DatabaseImporter.d.ts +++ b/types/utils/DatabaseImporter.d.ts @@ -1,15 +1,15 @@ -import { OnLoad } from "../di/OnLoad"; -import { IHttpConfig } from "../models/spt/config/IHttpConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ImageRouter } from "../routers/ImageRouter"; -import { ConfigServer } from "../servers/ConfigServer"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { LocalisationService } from "../services/LocalisationService"; -import { EncodingUtil } from "./EncodingUtil"; -import { HashUtil } from "./HashUtil"; -import { ImporterUtil } from "./ImporterUtil"; -import { JsonUtil } from "./JsonUtil"; -import { VFS } from "./VFS"; +import { OnLoad } from "@spt-aki/di/OnLoad"; +import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ImageRouter } from "@spt-aki/routers/ImageRouter"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { EncodingUtil } from "@spt-aki/utils/EncodingUtil"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { ImporterUtil } from "@spt-aki/utils/ImporterUtil"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class DatabaseImporter implements OnLoad { protected logger: ILogger; protected vfs: VFS; diff --git a/types/utils/HashUtil.d.ts b/types/utils/HashUtil.d.ts index c017ca8..c51fb5c 100644 --- a/types/utils/HashUtil.d.ts +++ b/types/utils/HashUtil.d.ts @@ -1,6 +1,6 @@ /// -import crypto from "crypto"; -import { TimeUtil } from "./TimeUtil"; +import crypto from "node:crypto"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class HashUtil { protected timeUtil: TimeUtil; constructor(timeUtil: TimeUtil); diff --git a/types/utils/HttpFileUtil.d.ts b/types/utils/HttpFileUtil.d.ts index afc8409..4296fe4 100644 --- a/types/utils/HttpFileUtil.d.ts +++ b/types/utils/HttpFileUtil.d.ts @@ -1,6 +1,6 @@ /// -import { ServerResponse } from "http"; -import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { ServerResponse } from "node:http"; +import { HttpServerHelper } from "@spt-aki/helpers/HttpServerHelper"; export declare class HttpFileUtil { protected httpServerHelper: HttpServerHelper; constructor(httpServerHelper: HttpServerHelper); diff --git a/types/utils/HttpResponseUtil.d.ts b/types/utils/HttpResponseUtil.d.ts index 70282ab..9868c1e 100644 --- a/types/utils/HttpResponseUtil.d.ts +++ b/types/utils/HttpResponseUtil.d.ts @@ -1,9 +1,9 @@ -import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; -import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; -import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; -import { BackendErrorCodes } from "../models/enums/BackendErrorCodes"; -import { LocalisationService } from "../services/LocalisationService"; -import { JsonUtil } from "./JsonUtil"; +import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData"; +import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse"; +import { BackendErrorCodes } from "@spt-aki/models/enums/BackendErrorCodes"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; export declare class HttpResponseUtil { protected jsonUtil: JsonUtil; protected localisationService: LocalisationService; @@ -15,7 +15,14 @@ export declare class HttpResponseUtil { * @returns */ noBody(data: any): any; - getBody(data: T, err?: number, errmsg?: any): IGetBodyResponseData; + /** + * Game client needs server responses in a particular format + * @param data + * @param err + * @param errmsg + * @returns + */ + getBody(data: T, err?: number, errmsg?: any, sanitize?: boolean): IGetBodyResponseData; getUnclearedBody(data: any, err?: number, errmsg?: any): string; emptyResponse(): IGetBodyResponseData; nullResponse(): INullResponseData; diff --git a/types/utils/ImporterUtil.d.ts b/types/utils/ImporterUtil.d.ts index 75aaf54..7ce1bdb 100644 --- a/types/utils/ImporterUtil.d.ts +++ b/types/utils/ImporterUtil.d.ts @@ -1,5 +1,5 @@ -import { JsonUtil } from "./JsonUtil"; -import { VFS } from "./VFS"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class ImporterUtil { protected vfs: VFS; protected jsonUtil: JsonUtil; diff --git a/types/utils/JsonUtil.d.ts b/types/utils/JsonUtil.d.ts index 30cf2ac..befc3cb 100644 --- a/types/utils/JsonUtil.d.ts +++ b/types/utils/JsonUtil.d.ts @@ -1,7 +1,7 @@ import { IParseOptions, IStringifyOptions, Reviver } from "jsonc/lib/interfaces"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { HashUtil } from "./HashUtil"; -import { VFS } from "./VFS"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { VFS } from "@spt-aki/utils/VFS"; export declare class JsonUtil { protected vfs: VFS; protected hashUtil: HashUtil; @@ -28,9 +28,9 @@ export declare class JsonUtil { /** * From object to string * @param data object to turn into JSON - * @param filename Name of file being serialized - * @param options Stringify options or a replacer. - * @returns The string converted from the JavaScript value + * @param filename Name of file being serialized + * @param options Stringify options or a replacer. + * @returns The string converted from the JavaScript value */ serializeJsonC(data: any, filename?: string | null, options?: IStringifyOptions | Reviver): string; serializeJson5(data: any, filename?: string | null, prettify?: boolean): string; diff --git a/types/utils/MathUtil.d.ts b/types/utils/MathUtil.d.ts index ea5fd69..4acfeaf 100644 --- a/types/utils/MathUtil.d.ts +++ b/types/utils/MathUtil.d.ts @@ -1,9 +1,9 @@ export declare class MathUtil { /** * Helper to create the sum of all array elements - * @param {array} values The array with numbers of which to calculate the sum - * @return {number} sum(values) - */ + * @param {array} values The array with numbers of which to calculate the sum + * @return {number} sum(values) + */ arraySum(values: number[]): number; /** * Helper to create the cumulative sum of all array elements @@ -41,13 +41,13 @@ export declare class MathUtil { */ mapToRange(x: number, minIn: number, maxIn: number, minOut: number, maxOut: number): number; /** - * Linear interpolation - * e.g. used to do a continuous integration for quest rewards which are defined for specific support centers of pmcLevel - * - * @param {string} xp the point of x at which to interpolate - * @param {array} x support points in x (of same length as y) - * @param {array} y support points in y (of same length as x) - * @return {number} y(xp) - */ + * Linear interpolation + * e.g. used to do a continuous integration for quest rewards which are defined for specific support centers of pmcLevel + * + * @param {string} xp the point of x at which to interpolate + * @param {array} x support points in x (of same length as y) + * @param {array} y support points in y (of same length as x) + * @return {number} y(xp) + */ interp1(xp: number, x: number[], y: number[]): number; } diff --git a/types/utils/ObjectId.d.ts b/types/utils/ObjectId.d.ts index 03aae56..309354f 100644 --- a/types/utils/ObjectId.d.ts +++ b/types/utils/ObjectId.d.ts @@ -1,5 +1,5 @@ /// -import { TimeUtil } from "./TimeUtil"; +import { TimeUtil } from "@spt-aki/utils/TimeUtil"; export declare class ObjectId { protected timeUtil: TimeUtil; constructor(timeUtil: TimeUtil); diff --git a/types/utils/RagfairOfferHolder.d.ts b/types/utils/RagfairOfferHolder.d.ts index cc294da..f3c9957 100644 --- a/types/utils/RagfairOfferHolder.d.ts +++ b/types/utils/RagfairOfferHolder.d.ts @@ -1,4 +1,4 @@ -import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IRagfairOffer } from "@spt-aki/models/eft/ragfair/IRagfairOffer"; export declare class RagfairOfferHolder { protected offersById: Map; protected offersByTemplate: Map>; diff --git a/types/utils/RandomUtil.d.ts b/types/utils/RandomUtil.d.ts index 92c37da..3552fb4 100644 --- a/types/utils/RandomUtil.d.ts +++ b/types/utils/RandomUtil.d.ts @@ -1,21 +1,21 @@ -import { ILogger } from "../models/spt/utils/ILogger"; -import { JsonUtil } from "./JsonUtil"; -import { MathUtil } from "./MathUtil"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { JsonUtil } from "@spt-aki/utils/JsonUtil"; +import { MathUtil } from "@spt-aki/utils/MathUtil"; /** - * Array of ProbabilityObjectArray which allow to randomly draw of the contained objects - * based on the relative probability of each of its elements. - * The probabilities of the contained element is not required to be normalized. - * - * Example: - * po = new ProbabilityObjectArray( - * new ProbabilityObject("a", 5), - * new ProbabilityObject("b", 1), - * new ProbabilityObject("c", 1) - * ); - * res = po.draw(10000); - * // count the elements which should be distributed according to the relative probabilities - * res.filter(x => x==="b").reduce((sum, x) => sum + 1 , 0) - */ + * Array of ProbabilityObjectArray which allow to randomly draw of the contained objects + * based on the relative probability of each of its elements. + * The probabilities of the contained element is not required to be normalized. + * + * Example: + * po = new ProbabilityObjectArray( + * new ProbabilityObject("a", 5), + * new ProbabilityObject("b", 1), + * new ProbabilityObject("c", 1) + * ); + * res = po.draw(10000); + * // count the elements which should be distributed according to the relative probabilities + * res.filter(x => x==="b").reduce((sum, x) => sum + 1 , 0) + */ export declare class ProbabilityObjectArray extends Array> { private mathUtil; private jsonUtil; @@ -87,19 +87,19 @@ export declare class ProbabilityObjectArray extends Array): K[]; } /** - * A ProbabilityObject which is use as an element to the ProbabilityObjectArray array - * It contains a key, the relative probability as well as optional data. - */ + * A ProbabilityObject which is use as an element to the ProbabilityObjectArray array + * It contains a key, the relative probability as well as optional data. + */ export declare class ProbabilityObject { key: K; relativeProbability: number; data: V; /** - * Constructor for the ProbabilityObject - * @param {string} key The key of the element - * @param {number} relativeProbability The relative probability of this element - * @param {any} data Optional data attached to the element - */ + * Constructor for the ProbabilityObject + * @param {string} key The key of the element + * @param {number} relativeProbability The relative probability of this element + * @param {any} data Optional data attached to the element + */ constructor(key: K, relativeProbability: number, data?: V); } export declare class RandomUtil { @@ -111,6 +111,13 @@ export declare class RandomUtil { getFloat(min: number, max: number): number; getBool(): boolean; getPercentOfValue(percent: number, number: number, toFixed?: number): number; + /** + * Reduce a value by a percentage + * @param number Value to reduce + * @param percentage Percentage to reduce value by + * @returns Reduced value + */ + reduceValueByPercent(number: number, percentage: number): number; /** * Check if number passes a check out of 100 * @param chancePercent value check needs to be above diff --git a/types/utils/UUidGenerator.d.ts b/types/utils/UUidGenerator.d.ts index ed1ffa6..0d9ad2f 100644 --- a/types/utils/UUidGenerator.d.ts +++ b/types/utils/UUidGenerator.d.ts @@ -1,4 +1,4 @@ -import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; +import { IUUidGenerator } from "@spt-aki/models/spt/utils/IUuidGenerator"; export declare class UUidGenerator implements IUUidGenerator { generate(): string; } diff --git a/types/utils/VFS.d.ts b/types/utils/VFS.d.ts index 2cb09fa..eefcccb 100644 --- a/types/utils/VFS.d.ts +++ b/types/utils/VFS.d.ts @@ -1,9 +1,9 @@ /// /// -import fs from "fs"; +import fs from "node:fs"; import "reflect-metadata"; -import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; -import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; +import { IAsyncQueue } from "@spt-aki/models/spt/utils/IAsyncQueue"; +import { IUUidGenerator } from "@spt-aki/models/spt/utils/IUuidGenerator"; export declare class VFS { protected asyncQueue: IAsyncQueue; protected uuidGenerator: IUUidGenerator; diff --git a/types/utils/Watermark.d.ts b/types/utils/Watermark.d.ts index fa63205..703d7bc 100644 --- a/types/utils/Watermark.d.ts +++ b/types/utils/Watermark.d.ts @@ -1,15 +1,13 @@ -import { ICoreConfig } from "../models/spt/config/ICoreConfig"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ConfigServer } from "../servers/ConfigServer"; -import { LocalisationService } from "../services/LocalisationService"; +import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt-aki/servers/ConfigServer"; +import { LocalisationService } from "@spt-aki/services/LocalisationService"; export declare class WatermarkLocale { protected localisationService: LocalisationService; + protected description: string[]; + protected warning: string[]; + protected modding: string[]; constructor(localisationService: LocalisationService); - protected watermark: { - description: string[]; - warning: string[]; - modding: string[]; - }; getDescription(): string[]; getWarning(): string[]; getModding(): string[]; diff --git a/types/utils/logging/AbstractWinstonLogger.d.ts b/types/utils/logging/AbstractWinstonLogger.d.ts index 1ae1100..4d2eba7 100644 --- a/types/utils/logging/AbstractWinstonLogger.d.ts +++ b/types/utils/logging/AbstractWinstonLogger.d.ts @@ -1,13 +1,13 @@ /// -import fs from "fs"; +import fs from "node:fs"; import winston from "winston"; -import { Daum } from "../../models/eft/itemEvent/IItemEventRouterRequest"; -import { LogBackgroundColor } from "../../models/spt/logging/LogBackgroundColor"; -import { LogTextColor } from "../../models/spt/logging/LogTextColor"; -import { SptLogger } from "../../models/spt/logging/SptLogger"; -import { IAsyncQueue } from "../../models/spt/utils/IAsyncQueue"; -import { ILogger } from "../../models/spt/utils/ILogger"; -import { IUUidGenerator } from "../../models/spt/utils/IUuidGenerator"; +import { Daum } from "@spt-aki/models/eft/itemEvent/IItemEventRouterRequest"; +import { LogBackgroundColor } from "@spt-aki/models/spt/logging/LogBackgroundColor"; +import { LogTextColor } from "@spt-aki/models/spt/logging/LogTextColor"; +import { SptLogger } from "@spt-aki/models/spt/logging/SptLogger"; +import { IAsyncQueue } from "@spt-aki/models/spt/utils/IAsyncQueue"; +import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; +import { IUUidGenerator } from "@spt-aki/models/spt/utils/IUuidGenerator"; export declare abstract class AbstractWinstonLogger implements ILogger { protected asyncQueue: IAsyncQueue; protected uuidGenerator: IUUidGenerator; diff --git a/types/utils/logging/WinstonMainLogger.d.ts b/types/utils/logging/WinstonMainLogger.d.ts index 3c67902..ae1b6fc 100644 --- a/types/utils/logging/WinstonMainLogger.d.ts +++ b/types/utils/logging/WinstonMainLogger.d.ts @@ -1,6 +1,6 @@ -import { IAsyncQueue } from "../../models/spt/utils/IAsyncQueue"; -import { IUUidGenerator } from "../../models/spt/utils/IUuidGenerator"; -import { AbstractWinstonLogger } from "./AbstractWinstonLogger"; +import { IAsyncQueue } from "@spt-aki/models/spt/utils/IAsyncQueue"; +import { IUUidGenerator } from "@spt-aki/models/spt/utils/IUuidGenerator"; +import { AbstractWinstonLogger } from "@spt-aki/utils/logging/AbstractWinstonLogger"; export declare class WinstonMainLogger extends AbstractWinstonLogger { protected asyncQueue: IAsyncQueue; protected uuidGenerator: IUUidGenerator; diff --git a/types/utils/logging/WinstonRequestLogger.d.ts b/types/utils/logging/WinstonRequestLogger.d.ts index 1475e43..be14f1b 100644 --- a/types/utils/logging/WinstonRequestLogger.d.ts +++ b/types/utils/logging/WinstonRequestLogger.d.ts @@ -1,6 +1,6 @@ -import { IAsyncQueue } from "../../models/spt/utils/IAsyncQueue"; -import { IUUidGenerator } from "../../models/spt/utils/IUuidGenerator"; -import { AbstractWinstonLogger } from "./AbstractWinstonLogger"; +import { IAsyncQueue } from "@spt-aki/models/spt/utils/IAsyncQueue"; +import { IUUidGenerator } from "@spt-aki/models/spt/utils/IUuidGenerator"; +import { AbstractWinstonLogger } from "@spt-aki/utils/logging/AbstractWinstonLogger"; export declare class WinstonRequestLogger extends AbstractWinstonLogger { protected asyncQueue: IAsyncQueue; protected uuidGenerator: IUUidGenerator;