From ef3da47ec2d10420594fa86002f844098ec16ea9 Mon Sep 17 00:00:00 2001 From: Chomp Date: Sun, 22 May 2022 16:26:41 +0100 Subject: [PATCH] Add example 7 --- TypeScript/1LogToConsole/src/mod.js | 15 - TypeScript/2EditDatabase/src/mod.js | 20 - TypeScript/3.0GetSptConfigFile/src/mod.js | 22 - TypeScript/4UseACustomConfigFile/src/mod.js | 16 - TypeScript/5ReplaceMethod/src/mod.js | 25 - .../6ReferenceAnotherClass/src/MoreCode.js | 9 - TypeScript/6ReferenceAnotherClass/src/mod.js | 18 - TypeScript/7OnUpdateOnLoadHooks/package.json | 17 + .../7OnUpdateOnLoadHooks/src/MyOnLoadMod.ts | 21 + .../src/MyOnLoadOnUpdateMod.ts | 27 + .../7OnUpdateOnLoadHooks/src/MyOnUpdateMod.ts | 22 + TypeScript/7OnUpdateOnLoadHooks/src/mod.ts | 27 + TypeScript/7OnUpdateOnLoadHooks/tsconfig.json | 21 + .../7OnUpdateOnLoadHooks/types/Config.d.ts | 1 + .../7OnUpdateOnLoadHooks/types/Program.d.ts | 4 + .../7OnUpdateOnLoadHooks/types/TYPES.d.ts | 3 + .../7OnUpdateOnLoadHooks/types/Utils.d.ts | 0 .../types/callbacks/BotCallbacks.d.ts | 15 + .../types/callbacks/BundleCallbacks.d.ts | 17 + .../callbacks/CustomizationCallbacks.d.ts | 22 + .../types/callbacks/DataCallbacks.d.ts | 32 + .../types/callbacks/DialogueCallbacks.d.ts | 45 + .../types/callbacks/GameCallbacks.d.ts | 24 + .../types/callbacks/HandbookCallbacks.d.ts | 8 + .../types/callbacks/HealthCallbacks.d.ts | 20 + .../types/callbacks/HideoutCallbacks.d.ts | 31 + .../types/callbacks/HttpCallbacks.d.ts | 9 + .../types/callbacks/InraidCallbacks.d.ts | 21 + .../types/callbacks/InsuranceCallbacks.d.ts | 23 + .../types/callbacks/InventoryCallbacks.d.ts | 39 + .../types/callbacks/ItemEventCallbacks.d.ts | 11 + .../types/callbacks/LauncherCallbacks.d.ts | 27 + .../types/callbacks/LocationCallbacks.d.ts | 13 + .../types/callbacks/MatchCallbacks.d.ts | 34 + .../types/callbacks/ModCallbacks.d.ts | 21 + .../types/callbacks/NoteCallbacks.d.ts | 11 + .../types/callbacks/NotifierCallbacks.d.ts | 24 + .../types/callbacks/PresetBuildCallbacks.d.ts | 15 + .../types/callbacks/PresetCallbacks.d.ts | 8 + .../types/callbacks/ProfileCallbacks.d.ts | 30 + .../types/callbacks/QuestCallbacks.d.ts | 26 + .../types/callbacks/RagfairCallbacks.d.ts | 36 + .../types/callbacks/RepairCallbacks.d.ts | 11 + .../types/callbacks/SaveCallbacks.d.ts | 9 + .../types/callbacks/TradeCallbacks.d.ts | 11 + .../types/callbacks/TraderCallbacks.d.ts | 18 + .../types/callbacks/WeatherCallbacks.d.ts | 10 + .../types/callbacks/WishlistCallbacks.d.ts | 10 + .../types/controllers/BotController.d.ts | 20 + .../controllers/CustomizationController.d.ts | 22 + .../types/controllers/DialogueController.d.ts | 24 + .../types/controllers/GameController.d.ts | 20 + .../types/controllers/HandbookController.d.ts | 8 + .../types/controllers/HealthController.d.ts | 25 + .../types/controllers/HideoutController.d.ts | 56 + .../types/controllers/InraidController.d.ts | 30 + .../controllers/InsuranceController.d.ts | 36 + .../controllers/InventoryController.d.ts | 106 ++ .../types/controllers/LauncherController.d.ts | 27 + .../types/controllers/LocationController.d.ts | 18 + .../types/controllers/MatchController.d.ts | 27 + .../types/controllers/NoteController.d.ts | 12 + .../types/controllers/NotifierController.d.ts | 22 + .../controllers/PresetBuildController.d.ts | 18 + .../types/controllers/PresetController.d.ts | 8 + .../types/controllers/ProfileController.d.ts | 34 + .../types/controllers/QuestController.d.ts | 37 + .../types/controllers/RagfairController.d.ts | 69 + .../types/controllers/RepairController.d.ts | 40 + .../RepeatableQuestController.d.ts | 216 +++ .../types/controllers/TradeController.d.ts | 21 + .../types/controllers/TraderController.d.ts | 29 + .../types/controllers/WeatherController.d.ts | 10 + .../types/controllers/WishlistController.d.ts | 10 + .../types/di/Container.d.ts | 13 + .../7OnUpdateOnLoadHooks/types/di/OnLoad.d.ts | 4 + .../types/di/OnLoadOnUpdate.d.ts | 7 + .../types/di/OnUpdate.d.ts | 4 + .../7OnUpdateOnLoadHooks/types/di/Router.d.ts | 31 + .../types/di/Serializer.d.ts | 5 + .../types/generators/BotGenerator.d.ts | 36 + .../generators/BotInventoryGenerator.d.ts | 25 + .../types/generators/BotLootGenerator.d.ts | 27 + .../types/generators/BotWeaponGenerator.d.ts | 44 + .../types/generators/LocationGenerator.d.ts | 44 + .../types/generators/PMCLootGenerator.d.ts | 14 + .../generators/RagfairAssortGenerator.d.ts | 17 + .../generators/RagfairOfferGenerator.d.ts | 51 + .../types/generators/WeatherGenerator.d.ts | 19 + .../types/helpers/AssortHelper.d.ts | 16 + .../types/helpers/BotGeneratorHelper.d.ts | 79 ++ .../types/helpers/BotHelper.d.ts | 22 + .../types/helpers/ContainerHelper.d.ts | 12 + .../types/helpers/DialogueHelper.d.ts | 20 + .../types/helpers/DurabilityLimitsHelper.d.ts | 25 + .../types/helpers/ExtendedProfileHelper.d.ts | 22 + .../types/helpers/GameEventHelper.d.ts | 9 + .../types/helpers/HandbookHelper.d.ts | 33 + .../types/helpers/HealthHelper.d.ts | 23 + .../types/helpers/HideoutHelper.d.ts | 64 + .../types/helpers/HttpServerHelper.d.ts | 12 + .../types/helpers/InRaidHelper.d.ts | 33 + .../types/helpers/InventoryHelper.d.ts | 76 ++ .../types/helpers/ItemHelper.d.ts | 236 ++++ .../types/helpers/NotificationSendHelper.d.ts | 12 + .../types/helpers/NotifierHelper.d.ts | 17 + .../types/helpers/PaymentHelper.d.ts | 14 + .../types/helpers/PresetHelper.d.ts | 14 + .../types/helpers/ProfileHelper.d.ts | 33 + .../types/helpers/QuestConditionHelper.d.ts | 7 + .../types/helpers/QuestHelper.d.ts | 68 + .../types/helpers/RagfairHelper.d.ts | 43 + .../types/helpers/RagfairOfferHelper.d.ts | 49 + .../types/helpers/RagfairSellHelper.d.ts | 15 + .../types/helpers/RagfairServerHelper.d.ts | 39 + .../types/helpers/RagfairSortHelper.d.ts | 12 + .../types/helpers/RagfairTaxHelper.d.ts | 15 + .../types/helpers/RepairHelper.d.ts | 20 + .../types/helpers/SecureContainerHelper.d.ts | 13 + .../types/helpers/TradeHelper.d.ts | 31 + .../types/helpers/TraderAssortHelper.d.ts | 23 + .../types/helpers/TraderHelper.d.ts | 35 + .../types/helpers/UtilityHelper.d.ts | 3 + .../types/helpers/WeightedRandomHelper.d.ts | 28 + .../types/ide/Compiler.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 | 22 + .../types/loaders/DelayedModLoader.d.ts | 22 + .../types/loaders/InitialModLoader.d.ts | 38 + .../eft/bot/IGenerateBotsRequestData.d.ts | 8 + .../models/eft/common/IEmptyRequestData.d.ts | 2 + .../types/models/eft/common/IGlobals.d.ts | 1176 +++++++++++++++++ .../types/models/eft/common/ILocation.d.ts | 6 + .../models/eft/common/ILocationBase.d.ts | 189 +++ .../ILocationsSourceDestinationBase.d.ts | 9 + .../types/models/eft/common/ILooseLoot.d.ts | 45 + .../models/eft/common/IMetricsTableData.d.ts | 7 + .../types/models/eft/common/IPmcData.d.ts | 341 +++++ .../models/eft/common/MemberCategory.d.ts | 13 + .../request/IBaseInteractionRequestData.d.ts | 9 + .../models/eft/common/tables/IBotBase.d.ts | 101 ++ .../models/eft/common/tables/IBotCore.d.ts | 133 ++ .../models/eft/common/tables/IBotType.d.ts | 174 +++ .../eft/common/tables/ICustomizationItem.d.ts | 33 + .../eft/common/tables/IHandbookBase.d.ts | 16 + .../types/models/eft/common/tables/IItem.d.ts | 108 ++ .../eft/common/tables/ILocationsBase.d.ts | 10 + .../models/eft/common/tables/ILootBase.d.ts | 64 + .../models/eft/common/tables/IQuest.d.ts | 76 ++ .../eft/common/tables/IRepeatableQuests.d.ts | 219 +++ .../eft/common/tables/ITemplateItem.d.ts | 401 ++++++ .../models/eft/common/tables/ITrader.d.ts | 90 ++ .../IBuyClothingRequestData.d.ts | 10 + .../IWearClothingRequestData.d.ts | 4 + .../models/eft/dialog/IFriendRequestData.d.ts | 3 + .../dialog/IGetAllAttachmentsRequestData.d.ts | 3 + .../dialog/IGetAllAttachmentsResponse.d.ts | 6 + .../dialog/IGetChatServerListRequestData.d.ts | 3 + .../dialog/IGetFriendListDataResponse.d.ts | 16 + .../dialog/IGetMailDialogInfoRequestData.d.ts | 3 + .../dialog/IGetMailDialogListRequestData.d.ts | 4 + .../dialog/IGetMailDialogViewRequestData.d.ts | 7 + .../IGetMailDialogViewResponseData.d.ts | 7 + .../eft/dialog/IPinDialogRequestData.d.ts | 3 + .../eft/dialog/IRemoveDialogRequestData.d.ts | 3 + .../eft/dialog/ISendMessageRequest.d.ts | 7 + .../eft/dialog/ISetDialogReadRequestData.d.ts | 3 + .../models/eft/game/IGameConfigResponse.d.ts | 19 + .../eft/game/IGameEmptyCrcRequestData.d.ts | 3 + .../eft/game/IVersionValidateRequestData.d.ts | 11 + .../health/IHealthTreatmentRequestData.d.ts | 29 + .../eft/health/IOffraidEatRequestData.d.ts | 7 + .../eft/health/IOffraidHealRequestData.d.ts | 18 + .../eft/health/ISyncHealthRequestData.d.ts | 21 + .../models/eft/hideout/HideoutAreasEnum.d.ts | 25 + .../HideoutUpgradeCompleteRequestData.d.ts | 5 + .../models/eft/hideout/IHideoutArea.d.ts | 40 + ...utContinousProductionStartRequestData.d.ts | 5 + .../eft/hideout/IHideoutProduction.d.ts | 20 + .../hideout/IHideoutPutItemInRequestData.d.ts | 10 + .../models/eft/hideout/IHideoutScavCase.d.ts | 21 + .../IHideoutScavCaseStartRequestData.d.ts | 15 + .../eft/hideout/IHideoutSettingsBase.d.ts | 6 + ...deoutSingleProductionStartRequestData.d.ts | 10 + .../IHideoutTakeItemOutRequestData.d.ts | 6 + .../IHideoutTakeProductionRequestData.d.ts | 5 + .../IHideoutToggleAreaRequestData.d.ts | 6 + .../IHideoutUpgradeCompleteRequestData.d.ts | 5 + .../hideout/IHideoutUpgradeRequestData.d.ts | 10 + .../httpResponse/IGetBodyResponseData.d.ts | 5 + .../eft/httpResponse/INullResponseData.d.ts | 5 + .../inRaid/IRegisterPlayerRequestData.d.ts | 5 + .../eft/inRaid/ISaveProgressRequestData.d.ts | 8 + .../IGetInsuranceCostRequestData.d.ts | 4 + .../eft/insurance/IInsureRequestData.d.ts | 6 + .../inventory/IInventoryAddRequestData.d.ts | 6 + .../IInventoryBaseActionRequestData.d.ts | 27 + .../inventory/IInventoryBindRequestData.d.ts | 6 + .../IInventoryCreateMarkerRequestData.d.ts | 12 + .../IInventoryDeleteMarkerRequestData.d.ts | 7 + .../IInventoryEditMarkerRequestData.d.ts | 14 + .../IInventoryExamineRequestData.d.ts | 10 + .../inventory/IInventoryFoldRequestData.d.ts | 6 + .../inventory/IInventoryMergeRequestData.d.ts | 6 + .../inventory/IInventoryMoveRequestData.d.ts | 6 + ...IInventoryReadEncyclopediaRequestData.d.ts | 5 + .../IInventoryRemoveRequestData.d.ts | 5 + .../inventory/IInventorySortRequestData.d.ts | 20 + .../inventory/IInventorySplitRequestData.d.ts | 7 + .../inventory/IInventorySwapRequestData.d.ts | 11 + .../inventory/IInventoryTagRequestData.d.ts | 7 + .../IInventoryToggleRequestData.d.ts | 6 + .../IInventoryTransferRequestData.d.ts | 7 + .../IEmptyItemEventRouterResponse.d.ts | 4 + .../eft/itemEvent/IItemEventRouterBase.d.ts | 67 + .../itemEvent/IItemEventRouterRequest.d.ts | 21 + .../itemEvent/IItemEventRouterResponse.d.ts | 3 + .../eft/launcher/IChangeRequestData.d.ts | 4 + .../launcher/IGetMiniProfileRequestData.d.ts | 4 + .../eft/launcher/ILoginRequestData.d.ts | 4 + .../models/eft/launcher/IMiniProfile.d.ts | 14 + .../models/eft/launcher/IRegisterData.d.ts | 4 + .../eft/launcher/IRemoveProfileData.d.ts | 2 + .../eft/location/IGetLocationRequestData.d.ts | 5 + .../eft/match/IEndOfflineRaidRequestData.d.ts | 6 + .../match/IStartOffineRaidRequestData.d.ts | 27 + .../models/eft/notes/INoteActionData.d.ts | 10 + .../types/models/eft/notifier/INotifier.d.ts | 14 + .../notifier/ISelectProfileRequestData.d.ts | 3 + ...IPlayerIncrementSkillLevelRequestData.d.ts | 21 + .../IPresetBuildActionRequestData.d.ts | 25 + .../types/models/eft/profile/IAkiProfile.d.ts | 178 +++ .../IProfileChangeNicknameRequestData.d.ts | 3 + .../IProfileChangeVoiceRequestData.d.ts | 3 + .../profile/IProfileCreateRequestData.d.ts | 6 + .../eft/profile/ISearchFriendRequestData.d.ts | 3 + .../eft/profile/ISearchFriendResponse.d.ts | 9 + .../profile/IValidateNicknameRequestData.d.ts | 3 + .../eft/quests/IAcceptQuestRequestData.d.ts | 5 + .../eft/quests/ICompleteQuestRequestData.d.ts | 5 + .../eft/quests/IHandoverQuestRequestData.d.ts | 10 + .../eft/quests/IListQuestsRequestData.d.ts | 3 + .../quests/IRepeatableQuestChangeRequest.d.ts | 4 + .../eft/ragfair/IAddOfferRequestData.d.ts | 13 + .../eft/ragfair/IExtendOfferRequestData.d.ts | 4 + .../eft/ragfair/IGetItemPriceResult.d.ts | 5 + .../ragfair/IGetMarketPriceRequestData.d.ts | 3 + .../models/eft/ragfair/IGetOffersResult.d.ts | 7 + .../models/eft/ragfair/IRagfairOffer.d.ts | 42 + .../eft/ragfair/IRemoveOfferRequestData.d.ts | 4 + .../eft/ragfair/ISearchRequestData.d.ts | 32 + .../repair/IBaseRepairActionDataRequest.d.ts | 3 + .../eft/repair/IRepairActionDataRequest.d.ts | 10 + .../ITraderRepairActionDataRequest.d.ts | 10 + .../trade/IProcessBaseTradeRequestData.d.ts | 5 + .../trade/IProcessBuyTradeRequestData.d.ts | 14 + .../IProcessRagfairTradeRequestData.d.ts | 13 + .../trade/IProcessSellTradeRequestData.d.ts | 12 + .../models/eft/weather/IWeatherData.d.ts | 20 + .../eft/wishlist/IWishlistActionData.d.ts | 4 + .../types/models/external/mod.d.ts | 5 + .../types/models/external/tsyringe.d.ts | 2 + .../types/models/spt/bindings/Route.d.ts | 3 + .../models/spt/callbacks/IBotCallbacks.d.ts | 10 + .../spt/callbacks/IBundleCallbacks.d.ts | 5 + .../callbacks/ICustomizationCallbacks.d.ts | 12 + .../models/spt/callbacks/IDataCallbacks.d.ts | 26 + .../spt/callbacks/IDialogueCallbacks.d.ts | 34 + .../models/spt/callbacks/IGameCallbacks.d.ts | 16 + .../spt/callbacks/IHandbookCallbacks.d.ts | 3 + .../spt/callbacks/IHealthCallbacks.d.ts | 13 + .../spt/callbacks/IHideoutCallbacks.d.ts | 23 + .../models/spt/callbacks/IHttpCallbacks.d.ts | 5 + .../spt/callbacks/IInraidCallbacks.d.ts | 14 + .../spt/callbacks/IInsuranceCallbacks.d.ts | 10 + .../spt/callbacks/IInventoryCallbacks.d.ts | 36 + .../spt/callbacks/IItemEventCallbacks.d.ts | 6 + .../spt/callbacks/ILauncherCallbacks.d.ts | 20 + .../spt/callbacks/ILocationCallbacks.d.ts | 8 + .../models/spt/callbacks/IMatchCallbacks.d.ts | 25 + .../models/spt/callbacks/IModCallbacks.d.ts | 6 + .../models/spt/callbacks/INoteCallbacks.d.ts | 8 + .../spt/callbacks/INotifierCallbacks.d.ts | 17 + .../spt/callbacks/IPresetBuildCallbacks.d.ts | 10 + .../spt/callbacks/IPresetCallbacks.d.ts | 3 + .../spt/callbacks/IProfileCallbacks.d.ts | 21 + .../models/spt/callbacks/IQuestCallbacks.d.ts | 19 + .../spt/callbacks/IRagfairCallbacks.d.ts | 21 + .../spt/callbacks/IRepairCallbacks.d.ts | 8 + .../models/spt/callbacks/ISaveCallbacks.d.ts | 4 + .../models/spt/callbacks/ITradeCallbacks.d.ts | 8 + .../spt/callbacks/ITraderCallbacks.d.ts | 11 + .../spt/callbacks/IWeatherCallbacks.d.ts | 5 + .../spt/callbacks/IWishlistCallbacks.d.ts | 7 + .../models/spt/config/IAirdropConfig.d.ts | 20 + .../types/models/spt/config/IBaseConfig.d.ts | 3 + .../types/models/spt/config/IBotConfig.d.ts | 112 ++ .../types/models/spt/config/ICoreConfig.d.ts | 7 + .../models/spt/config/IHealthConfig.d.ts | 14 + .../models/spt/config/IHideoutConfig.d.ts | 27 + .../types/models/spt/config/IHttpConfig.d.ts | 6 + .../models/spt/config/IInRaidConfig.d.ts | 21 + .../models/spt/config/IInsuranceConfig.d.ts | 7 + .../models/spt/config/IInventoryConfig.d.ts | 5 + .../models/spt/config/ILocationConfig.d.ts | 24 + .../types/models/spt/config/IMatchConfig.d.ts | 5 + .../types/models/spt/config/IQuestConfig.d.ts | 87 ++ .../models/spt/config/IRagfairConfig.d.ts | 59 + .../models/spt/config/IRepairConfig.d.ts | 5 + .../models/spt/config/ITraderConfig.d.ts | 15 + .../models/spt/config/IWeatherConfig.d.ts | 21 + .../spt/controllers/IBotController.d.ts | 13 + .../models/spt/generators/IBotGenerator.d.ts | 10 + .../spt/generators/ILocationGenerator.d.ts | 6 + .../spt/generators/IPMCLootGenerator.d.ts | 4 + .../generators/IRagfairAssortGenerator.d.ts | 4 + .../generators/IRagfairOfferGenerator.d.ts | 6 + .../types/models/spt/helpers/Traders.d.ts | 10 + .../types/models/spt/mod/IMod.d.ts | 10 + .../types/models/spt/mod/IModLoader.d.ts | 8 + .../models/spt/mod/IPackageJsonData.d.ts | 11 + .../spt/ragfair/IRagfairServerPrices.d.ts | 4 + .../models/spt/server/IDatabaseTables.d.ts | 51 + .../types/models/spt/server/IHttpServer.d.ts | 11 + .../types/models/spt/server/ILocaleBase.d.ts | 61 + .../types/models/spt/server/ILocations.d.ts | 26 + .../types/models/spt/server/IServerBase.d.ts | 4 + .../models/spt/server/ISettingsBase.d.ts | 43 + .../types/models/spt/utils/IAsyncQueue.d.ts | 4 + .../types/models/spt/utils/ICommand.d.ts | 4 + .../types/models/spt/utils/ILogger.d.ts | 10 + .../models/spt/utils/IUuidGenerator.d.ts | 3 + .../types/models/spt/utils/IWatermark.d.ts | 22 + .../types/routers/HttpRouter.d.ts | 11 + .../types/routers/ImageRouter.d.ts | 12 + .../types/routers/ItemEventRouter.d.ts | 17 + .../routers/dynamic/BotDynamicRouter.d.ts | 9 + .../routers/dynamic/BundleDynamicRouter.d.ts | 9 + .../dynamic/CustomizationDynamicRouter.d.ts | 9 + .../routers/dynamic/DataDynamicRouter.d.ts | 9 + .../routers/dynamic/HttpDynamicRouter.d.ts | 9 + .../routers/dynamic/InraidDynamicRouter.d.ts | 10 + .../dynamic/LocationDynamicRouter.d.ts | 10 + .../dynamic/NotifierDynamicRouter.d.ts | 9 + .../routers/dynamic/TraderDynamicRouter.d.ts | 9 + .../CustomizationItemEventRouter.d.ts | 10 + .../item_events/HealthItemEventRouter.d.ts | 10 + .../item_events/HideoutItemEventRouter.d.ts | 10 + .../item_events/InsuranceItemEventRouter.d.ts | 10 + .../item_events/InventoryItemEventRouter.d.ts | 10 + .../item_events/NoteItemEventRouter.d.ts | 10 + .../PresetBuildItemEventRouter.d.ts | 10 + .../item_events/QuestItemEventRouter.d.ts | 10 + .../item_events/RagfairItemEventRouter.d.ts | 10 + .../item_events/RepairItemEventRouter.d.ts | 10 + .../item_events/TradeItemEventRouter.d.ts | 10 + .../item_events/WishlistItemEventRouter.d.ts | 10 + .../save_load/HealthSaveLoadRouter.d.ts | 7 + .../save_load/InraidSaveLoadRouter.d.ts | 7 + .../save_load/InsuranceSaveLoadRouter.d.ts | 7 + .../save_load/ProfileSaveLoadRouter.d.ts | 7 + .../routers/serializers/BundleSerializer.d.ts | 11 + .../routers/serializers/ImageSerializer.d.ts | 9 + .../routers/serializers/NotifySerializer.d.ts | 11 + .../types/routers/static/BotStaticRouter.d.ts | 8 + .../routers/static/BundleStaticRouter.d.ts | 8 + .../static/CustomizationStaticRouter.d.ts | 8 + .../routers/static/DataStaticRouter.d.ts | 8 + .../routers/static/DialogStaticRouter.d.ts | 8 + .../routers/static/GameStaticRouter.d.ts | 8 + .../routers/static/HealthStaticRouter.d.ts | 8 + .../routers/static/InraidStaticRouter.d.ts | 8 + .../routers/static/InsuranceStaticRouter.d.ts | 8 + .../routers/static/ItemEventStaticRouter.d.ts | 8 + .../routers/static/LauncherStaticRouter.d.ts | 8 + .../routers/static/LocationStaticRouter.d.ts | 8 + .../routers/static/MatchStaticRouter.d.ts | 8 + .../routers/static/NotifierStaticRouter.d.ts | 8 + .../routers/static/PresetStaticRouter.d.ts | 8 + .../routers/static/ProfileStaticRouter.d.ts | 8 + .../routers/static/QuestStaticRouter.d.ts | 8 + .../routers/static/RagfairStaticRouter.d.ts | 8 + .../routers/static/TraderStaticRouter.d.ts | 8 + .../routers/static/WeatherStaticRouter.d.ts | 8 + .../types/servers/ConfigServer.d.ts | 30 + .../types/servers/DatabaseServer.d.ts | 6 + .../types/servers/HttpServer.d.ts | 43 + .../types/servers/RagfairServer.d.ts | 46 + .../types/servers/SaveServer.d.ts | 28 + .../types/services/FenceService.d.ts | 38 + .../types/services/HashCacheService.d.ts | 19 + .../types/services/InsuranceService.d.ts | 41 + .../types/services/MatchLocationService.d.ts | 8 + .../types/services/ModCompilerService.d.ts | 11 + .../types/services/NotificationService.d.ts | 21 + .../types/services/PaymentService.d.ts | 48 + .../types/services/PlayerService.d.ts | 22 + .../services/RagfairCategoriesService.d.ts | 10 + .../services/RagfairLinkedItemService.d.ts | 9 + .../types/services/RagfairOfferService.d.ts | 52 + .../types/services/RagfairPriceService.d.ts | 30 + .../services/RagfairRequiredItemsService.d.ts | 12 + .../types/services/TraderAssortService.d.ts | 6 + .../7OnUpdateOnLoadHooks/types/utils/App.d.ts | 14 + .../types/utils/AyncQueue.d.ts | 7 + .../types/utils/DatabaseImporter.d.ts | 18 + .../types/utils/HashUtil.d.ts | 11 + .../types/utils/HttpResponseUtil.d.ts | 16 + .../types/utils/JsonUtil.d.ts | 25 + .../types/utils/Logger.d.ts | 25 + .../types/utils/MathUtil.d.ts | 53 + .../types/utils/ObjectId.d.ts | 14 + .../types/utils/RandomUtil.d.ts | 153 +++ .../types/utils/TimeUtil.d.ts | 8 + .../types/utils/UUidGenerator.d.ts | 4 + .../7OnUpdateOnLoadHooks/types/utils/VFS.d.ts | 54 + .../types/utils/Watermark.d.ts | 29 + .../types/utils/decorators/Singleton.d.ts | 4 + .../types/utils/decorators/constructor.d.ts | 4 + 421 files changed, 10368 insertions(+), 125 deletions(-) delete mode 100644 TypeScript/1LogToConsole/src/mod.js delete mode 100644 TypeScript/2EditDatabase/src/mod.js delete mode 100644 TypeScript/3.0GetSptConfigFile/src/mod.js delete mode 100644 TypeScript/4UseACustomConfigFile/src/mod.js delete mode 100644 TypeScript/5ReplaceMethod/src/mod.js delete mode 100644 TypeScript/6ReferenceAnotherClass/src/MoreCode.js delete mode 100644 TypeScript/6ReferenceAnotherClass/src/mod.js create mode 100644 TypeScript/7OnUpdateOnLoadHooks/package.json create mode 100644 TypeScript/7OnUpdateOnLoadHooks/src/MyOnLoadMod.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/src/MyOnLoadOnUpdateMod.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/src/MyOnUpdateMod.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/src/mod.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/tsconfig.json create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/Config.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/Program.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/TYPES.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/Utils.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/BotCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/BundleCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/CustomizationCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/DataCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/DialogueCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/GameCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HandbookCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HealthCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HideoutCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HttpCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InraidCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InsuranceCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InventoryCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ItemEventCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/LauncherCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/LocationCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/MatchCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ModCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/NoteCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/NotifierCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/PresetBuildCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/PresetCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ProfileCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/QuestCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/RagfairCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/RepairCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/SaveCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/TradeCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/TraderCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/WeatherCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/callbacks/WishlistCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/BotController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/CustomizationController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/DialogueController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/GameController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/HandbookController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/HealthController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/HideoutController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/InraidController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/InsuranceController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/InventoryController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/LauncherController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/LocationController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/MatchController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/NoteController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/NotifierController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/PresetBuildController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/PresetController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/ProfileController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/QuestController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/RagfairController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/RepairController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/RepeatableQuestController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/TradeController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/TraderController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/WeatherController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/controllers/WishlistController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/di/Container.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/di/OnLoad.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/di/OnLoadOnUpdate.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/di/OnUpdate.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/di/Router.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/di/Serializer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/BotGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/BotInventoryGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/BotLootGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/BotWeaponGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/LocationGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/PMCLootGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/RagfairAssortGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/RagfairOfferGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/generators/WeatherGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/AssortHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/BotGeneratorHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/BotHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/ContainerHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/DialogueHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/DurabilityLimitsHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/ExtendedProfileHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/GameEventHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/HandbookHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/HealthHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/HideoutHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/HttpServerHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/InRaidHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/InventoryHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/ItemHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/NotificationSendHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/NotifierHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/PaymentHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/PresetHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/ProfileHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/QuestConditionHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/QuestHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairOfferHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairSellHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairServerHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairSortHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairTaxHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/RepairHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/SecureContainerHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/TradeHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/TraderAssortHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/TraderHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/UtilityHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/helpers/WeightedRandomHelper.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/ide/Compiler.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/ide/DebugEntry.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/ide/ReleaseEntry.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/ide/TestEntry.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/loaders/BundleLoader.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/loaders/DelayedModLoader.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/loaders/InitialModLoader.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/bot/IGenerateBotsRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IEmptyRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IGlobals.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocation.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocationBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocationsSourceDestinationBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILooseLoot.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IMetricsTableData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IPmcData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/MemberCategory.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/request/IBaseInteractionRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotCore.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotType.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ICustomizationItem.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IHandbookBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IItem.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ILocationsBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ILootBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IQuest.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IRepeatableQuests.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ITemplateItem.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ITrader.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/customization/IBuyClothingRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/customization/IWearClothingRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IFriendRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetChatServerListRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetFriendListDataResponse.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IPinDialogRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IRemoveDialogRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/ISendMessageRequest.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/ISetDialogReadRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IGameConfigResponse.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IGameEmptyCrcRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IVersionValidateRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IHealthTreatmentRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IOffraidEatRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IOffraidHealRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/ISyncHealthRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/HideoutAreasEnum.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutArea.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutProduction.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutScavCase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutSettingsBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/httpResponse/IGetBodyResponseData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/httpResponse/INullResponseData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inRaid/ISaveProgressRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/insurance/IInsureRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryAddRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryBindRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryExamineRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryFoldRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryMergeRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryMoveRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySortRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySplitRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySwapRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryTagRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryToggleRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryTransferRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IChangeRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/ILoginRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IMiniProfile.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IRegisterData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IRemoveProfileData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/location/IGetLocationRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/match/IEndOfflineRaidRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/match/IStartOffineRaidRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notes/INoteActionData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notifier/INotifier.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notifier/ISelectProfileRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IAkiProfile.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileCreateRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/ISearchFriendRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/ISearchFriendResponse.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IValidateNicknameRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IAcceptQuestRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/ICompleteQuestRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IHandoverQuestRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IListQuestsRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IAddOfferRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IExtendOfferRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetItemPriceResult.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetOffersResult.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IRagfairOffer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/ISearchRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/IRepairActionDataRequest.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessSellTradeRequestData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/weather/IWeatherData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/eft/wishlist/IWishlistActionData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/external/mod.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/external/tsyringe.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/bindings/Route.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IBotCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IBundleCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ICustomizationCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IDataCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IDialogueCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IGameCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHandbookCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHealthCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHideoutCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHttpCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInraidCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInsuranceCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInventoryCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IItemEventCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ILauncherCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ILocationCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IMatchCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IModCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/INoteCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/INotifierCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IPresetCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IProfileCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IQuestCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IRagfairCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IRepairCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ISaveCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ITradeCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ITraderCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IWeatherCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IWishlistCallbacks.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IAirdropConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IBaseConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IBotConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ICoreConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHealthConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHideoutConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHttpConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInRaidConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInsuranceConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInventoryConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ILocationConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IMatchConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IQuestConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IRagfairConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IRepairConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ITraderConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IWeatherConfig.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/controllers/IBotController.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IBotGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/ILocationGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IPMCLootGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IRagfairAssortGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IRagfairOfferGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/helpers/Traders.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IMod.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IModLoader.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IPackageJsonData.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/ragfair/IRagfairServerPrices.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IDatabaseTables.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IHttpServer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ILocaleBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ILocations.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IServerBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ISettingsBase.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IAsyncQueue.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/ICommand.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/ILogger.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IUuidGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IWatermark.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/HttpRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/ImageRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/ItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/BotDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/BundleDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/CustomizationDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/DataDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/HttpDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/InraidDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/LocationDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/NotifierDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/TraderDynamicRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/CustomizationItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/HealthItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/HideoutItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/InsuranceItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/InventoryItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/NoteItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/PresetBuildItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/QuestItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/RagfairItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/RepairItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/TradeItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/WishlistItemEventRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/HealthSaveLoadRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/InraidSaveLoadRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/InsuranceSaveLoadRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/ProfileSaveLoadRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/BundleSerializer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/ImageSerializer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/NotifySerializer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/BotStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/BundleStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/CustomizationStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/DataStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/DialogStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/GameStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/HealthStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/InraidStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/InsuranceStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/ItemEventStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/LauncherStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/LocationStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/MatchStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/NotifierStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/PresetStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/ProfileStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/QuestStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/RagfairStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/TraderStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/routers/static/WeatherStaticRouter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/servers/ConfigServer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/servers/DatabaseServer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/servers/HttpServer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/servers/RagfairServer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/servers/SaveServer.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/FenceService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/HashCacheService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/InsuranceService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/MatchLocationService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/ModCompilerService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/NotificationService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/PaymentService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/PlayerService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairCategoriesService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairLinkedItemService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairOfferService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairPriceService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairRequiredItemsService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/services/TraderAssortService.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/App.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/AyncQueue.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/DatabaseImporter.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/HashUtil.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/HttpResponseUtil.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/JsonUtil.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/Logger.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/MathUtil.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/ObjectId.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/RandomUtil.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/TimeUtil.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/UUidGenerator.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/VFS.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/Watermark.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/decorators/Singleton.d.ts create mode 100644 TypeScript/7OnUpdateOnLoadHooks/types/utils/decorators/constructor.d.ts diff --git a/TypeScript/1LogToConsole/src/mod.js b/TypeScript/1LogToConsole/src/mod.js deleted file mode 100644 index ab65222..0000000 --- a/TypeScript/1LogToConsole/src/mod.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class Mod { - // Code added here will load BEFORE the server has started loading - load(container) { - // get the logger from the server container - const logger = container.resolve("WinstonLogger"); - logger.info("I am logging info!"); - logger.warning("I am logging a warning!"); - logger.error("I am logging an error!"); - } - // Code added here will be run AFTER the server has started - delayedLoad(container) { return; } -} -module.exports = { mod: new Mod() }; diff --git a/TypeScript/2EditDatabase/src/mod.js b/TypeScript/2EditDatabase/src/mod.js deleted file mode 100644 index 256adb8..0000000 --- a/TypeScript/2EditDatabase/src/mod.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class Mod { - // not used for this example - load(container) { return; } - delayedLoad(container) { - // get database from server - const databaseServer = container.resolve("DatabaseServer"); - // Get all the in-memory json found in /assets/database - const tables = databaseServer.getTables(); - // find the ledx item by its Id - const ledx = tables.templates.items["5c0530ee86f774697952d952"]; - // update one of its properties to be true - ledx._props.CanSellOnRagfair = true; - // example #2 - // get globals settings and set flea market min level to be 1 - tables.globals.config.RagFair.minUserLevel = 1; - } -} -module.exports = { mod: new Mod() }; diff --git a/TypeScript/3.0GetSptConfigFile/src/mod.js b/TypeScript/3.0GetSptConfigFile/src/mod.js deleted file mode 100644 index e8d1398..0000000 --- a/TypeScript/3.0GetSptConfigFile/src/mod.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class Mod { - // not used for this example - load(container) { return; } - delayedLoad(container) { - // get logger - const logger = container.resolve("WinstonLogger"); - // get the config server - const configServer = container.resolve("ConfigServer"); - // Request bot config - // Required - ConfigTypes.BOT is the enum of the config we want, others include ConfigTypes.Airdrop - const botConfig = configServer.getConfig("aki-bot" /* BOT */); - // log the original pmc difficulty - logger.info(`here is the original bot pmc difficulty: ${botConfig.pmc.difficulty}`); - // adjust the difficulty - botConfig.pmc.difficulty = "easy"; - // log the new pmc difficulty - logger.info(`here is the altered bot pmc difficulty: ${botConfig.pmc.difficulty}`); - } -} -module.exports = { mod: new Mod() }; diff --git a/TypeScript/4UseACustomConfigFile/src/mod.js b/TypeScript/4UseACustomConfigFile/src/mod.js deleted file mode 100644 index 98e0a0a..0000000 --- a/TypeScript/4UseACustomConfigFile/src/mod.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class Mod { - constructor() { - this.modConfig = require("../config/config.json"); - } - // not used for this example - load(container) { return; } - delayedLoad(container) { - // get logger - const logger = container.resolve("WinstonLogger"); - // log the 'myProperty' value to the console - logger.info(`here is the value from my config: ${this.modConfig.myProperty}`); - } -} -module.exports = { mod: new Mod() }; diff --git a/TypeScript/5ReplaceMethod/src/mod.js b/TypeScript/5ReplaceMethod/src/mod.js deleted file mode 100644 index d56ba96..0000000 --- a/TypeScript/5ReplaceMethod/src/mod.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class Mod { - // Perform these actions before server fully loads - load(container) { - // get watermarkLocale class from server - const watermarkLocale = container.resolve("WatermarkLocale"); - // Approach #1 - // Replace the getDescription() function with the one below called 'replacementFunction()' - watermarkLocale.getDescription = this.replacementFunction; - // Approach #2 - // Wait until WatermarkLocale gets resolved by the server and run code afterwards to replace - // the getDescription() function with the one below called 'replacementFunction() - container.afterResolution("WatermarkLocale", (_t, result) => { - result.getDescription = this.replacementFunction; - }, { frequency: "Always" }); - } - // not used for this example - delayedLoad(container) { return; } - // our new replacement function, ready to be used - replacementFunction() { - return ["SPT AKI, WOW VERY COOL"]; - } -} -module.exports = { mod: new Mod() }; diff --git a/TypeScript/6ReferenceAnotherClass/src/MoreCode.js b/TypeScript/6ReferenceAnotherClass/src/MoreCode.js deleted file mode 100644 index b5c35de..0000000 --- a/TypeScript/6ReferenceAnotherClass/src/MoreCode.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MoreCode = void 0; -class MoreCode { - getTheWordFlub() { - return "flub"; - } -} -exports.MoreCode = MoreCode; diff --git a/TypeScript/6ReferenceAnotherClass/src/mod.js b/TypeScript/6ReferenceAnotherClass/src/mod.js deleted file mode 100644 index 9b79ec8..0000000 --- a/TypeScript/6ReferenceAnotherClass/src/mod.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const MoreCode_1 = require("./MoreCode"); -class Mod { - // not used for this example - load(container) { return; } - delayedLoad(container) { - // get logger - const logger = container.resolve("WinstonLogger"); - // Make a new instance of the 'MoreCode' class - const moreCode = new MoreCode_1.MoreCode(); - // call the function 'getTheWordFlub()' and assign the result to 'result' - const result = moreCode.getTheWordFlub(); - // log the 'myProperty' property to the console - logger.info(`Here is the value from my second class: ${result}`); - } -} -module.exports = { mod: new Mod() }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/package.json b/TypeScript/7OnUpdateOnLoadHooks/package.json new file mode 100644 index 0000000..e7b03c5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/package.json @@ -0,0 +1,17 @@ +{ + "name": "ReplaceFunction", + "version": "1.0.0", + "main": "src/mod.js", + "license": "MIT", + "author": "Chomp", + "akiVersion": "3.0.0", + "scripts": { + "install": "npx handpick --target=devDependencies", + "build": "tsc" + }, + "devDependencies": { + "@types/node": "^17.0.31", + "tsyringe": "^4.6.0", + "typescript": "^4.6.4" + } +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/src/MyOnLoadMod.ts b/TypeScript/7OnUpdateOnLoadHooks/src/MyOnLoadMod.ts new file mode 100644 index 0000000..771e9ff --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/src/MyOnLoadMod.ts @@ -0,0 +1,21 @@ +import { ILogger } from "../types/models/spt/utils/ILogger"; +import { inject, injectable } from "tsyringe"; + +@injectable() +export class MyOnLoadMod +{ + constructor( + @inject("WinstonLogger") private logger: ILogger) + { + } + + public onLoad(): void + { + this.logger.info("My mod MyOnLoadMod.onLoad was triggered"); + } + + public getRoute(): string + { + return "my-mod"; + } +} \ No newline at end of file diff --git a/TypeScript/7OnUpdateOnLoadHooks/src/MyOnLoadOnUpdateMod.ts b/TypeScript/7OnUpdateOnLoadHooks/src/MyOnLoadOnUpdateMod.ts new file mode 100644 index 0000000..6e88983 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/src/MyOnLoadOnUpdateMod.ts @@ -0,0 +1,27 @@ +import { ILogger } from "../types/models/spt/utils/ILogger"; +import { inject, injectable } from "tsyringe"; + +@injectable() +export class MyOnLoadOnUpdateMod +{ + constructor( + @inject("WinstonLogger") private logger: ILogger) + { + } + + public onLoad(): void + { + this.logger.info("My mod MyOnLoadOnUpdateMod.onLoad was triggered"); + } + + public onUpdate(timeSinceLastRun: number): boolean + { + this.logger.info("My mod MyOnLoadOnUpdateMod.onUpdate was triggered"); + return true; + } + + public getRoute(): string + { + return "my-mod"; + } +} \ No newline at end of file diff --git a/TypeScript/7OnUpdateOnLoadHooks/src/MyOnUpdateMod.ts b/TypeScript/7OnUpdateOnLoadHooks/src/MyOnUpdateMod.ts new file mode 100644 index 0000000..efdf3e8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/src/MyOnUpdateMod.ts @@ -0,0 +1,22 @@ +import { ILogger } from "../types/models/spt/utils/ILogger"; +import { inject, injectable } from "tsyringe"; + +@injectable() +export class MyOnUpdateMod +{ + constructor( + @inject("WinstonLogger") private logger: ILogger) + { + } + + public onUpdate(timeSinceLastRun: number): boolean + { + this.logger.info("My mod MyOnUpdateMod.onUpdate was triggered"); + return true; + } + + public getRoute(): string + { + return "my-mod"; + } +} \ No newline at end of file diff --git a/TypeScript/7OnUpdateOnLoadHooks/src/mod.ts b/TypeScript/7OnUpdateOnLoadHooks/src/mod.ts new file mode 100644 index 0000000..f36ffa5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/src/mod.ts @@ -0,0 +1,27 @@ +import { DependencyContainer, Lifecycle } from "tsyringe"; + +import { IMod } from "../types/models/external/mod"; +import { MyOnLoadMod } from "./MyOnLoadMod"; +import { MyOnLoadOnUpdateMod } from "./MyOnLoadOnUpdateMod"; +import { MyOnUpdateMod } from "./MyOnUpdateMod"; + +class Mod implements IMod +{ + public load(container: DependencyContainer): void + { + container.register("MyOnLoadMod", MyOnLoadMod, {lifecycle: Lifecycle.Singleton}); + container.register("MyOnUpdateMod", MyOnUpdateMod, {lifecycle: Lifecycle.Singleton}); + container.register("MyOnLoadOnUpdateMod", MyOnLoadOnUpdateMod, {lifecycle: Lifecycle.Singleton}); + container.registerType("OnLoad", "MyOnLoadMod"); + container.registerType("OnLoad", "MyOnLoadOnUpdateMod"); + container.registerType("OnUpdate", "MyOnUpdateMod"); + container.registerType("OnUpdate", "MyOnLoadOnUpdateMod"); + } + + public delayedLoad(container: DependencyContainer): void + { + return; + } +} + +module.exports = { mod: new Mod() } \ No newline at end of file diff --git a/TypeScript/7OnUpdateOnLoadHooks/tsconfig.json b/TypeScript/7OnUpdateOnLoadHooks/tsconfig.json new file mode 100644 index 0000000..8ba3117 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "allowJs": true, + "module": "CommonJS", + "target": "es2020", + "moduleResolution": "node", + "esModuleInterop": true, + "downlevelIteration": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "resolveJsonModule": true, + "outDir": "out" + }, + "lib": [ + "es2020" + ], + "include": [ + "src/*", + "src/**/*" + ] +} \ No newline at end of file diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/Config.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/Config.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/Config.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/Program.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/Program.d.ts new file mode 100644 index 0000000..d4b71b9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/Program.d.ts @@ -0,0 +1,4 @@ +export declare class Program { + constructor(); + start(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/TYPES.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/TYPES.d.ts new file mode 100644 index 0000000..6407c3a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/TYPES.d.ts @@ -0,0 +1,3 @@ +export declare const TYPES: { + [name: string]: symbol; +}; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/Utils.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/Utils.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/BotCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/BotCallbacks.d.ts new file mode 100644 index 0000000..358d5e3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/BotCallbacks.d.ts @@ -0,0 +1,15 @@ +import { BotController } from "../controllers/BotController"; +import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class BotCallbacks { + private botController; + private httpResponse; + constructor(botController: BotController, httpResponse: HttpResponseUtil); + getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; + getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; + generateBots(url: string, info: IGenerateBotsRequestData, sessionID: string): IGetBodyResponseData; + getBotCap(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/BundleCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/BundleCallbacks.d.ts new file mode 100644 index 0000000..08c33c0 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/BundleCallbacks.d.ts @@ -0,0 +1,17 @@ +import { BundleLoader } from "../loaders/BundleLoader"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +export declare class BundleCallbacks { + private logger; + private httpResponse; + private httpServer; + private bundleLoader; + private configServer; + private httpConfig; + constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, bundleLoader: BundleLoader, configServer: ConfigServer); + sendBundle(sessionID: string, req: any, resp: any, body: any): any; + getBundles(url: string, info: any, sessionID: string): string; + getBundle(url: string, info: any, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/CustomizationCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/CustomizationCallbacks.d.ts new file mode 100644 index 0000000..0a4265b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/CustomizationCallbacks.d.ts @@ -0,0 +1,22 @@ +import { SaveServer } from "../servers/SaveServer"; +import { CustomizationController } from "../controllers/CustomizationController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData"; +import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { ISuit } from "../models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class CustomizationCallbacks { + private customizationController; + private saveServer; + private httpResponse; + constructor(customizationController: CustomizationController, saveServer: SaveServer, httpResponse: HttpResponseUtil); + getSuits(url: string, info: any, sessionID: string): IGetBodyResponseData<{ + _id: string; + suites: string[]; + }>; + getTraderSuits(url: string, info: any, sessionID: string): IGetBodyResponseData; + wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; + buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/DataCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/DataCallbacks.d.ts new file mode 100644 index 0000000..ac9cab7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/DataCallbacks.d.ts @@ -0,0 +1,32 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGlobals } from "../models/eft/common/IGlobals"; +import { ICustomizationItem } from "../models/eft/common/tables/ICustomizationItem"; +import { IQuest } from "../models/eft/common/tables/IQuest"; +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 { ILanguageBase } from "../models/spt/server/ILocaleBase"; +import { ISettingsBase } from "../models/spt/server/ISettingsBase"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class DataCallbacks { + private httpResponse; + private databaseServer; + constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer); + getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string; + getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; + getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateQuests(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/DialogueCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/DialogueCallbacks.d.ts new file mode 100644 index 0000000..e81255c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/DialogueCallbacks.d.ts @@ -0,0 +1,45 @@ +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { HashUtil } from "../utils/HashUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { DialogueController } from "../controllers/DialogueController"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { DialogueInfo } from "../models/eft/profile/IAkiProfile"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDialogViewRequestData"; +import { IGetMailDialogInfoRequestData } from "../models/eft/dialog/IGetMailDialogInfoRequestData"; +import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData"; +import { IGetMailDialogListRequestData } from "../models/eft/dialog/IGetMailDialogListRequestData"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData"; +import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData"; +import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData"; +import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData"; +import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData"; +import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; +import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest"; +import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; +import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse"; +import { OnUpdate } from "../di/OnUpdate"; +export declare class DialogueCallbacks extends OnUpdate { + private hashUtil; + private timeUtil; + private httpResponse; + private dialogueController; + constructor(hashUtil: HashUtil, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, dialogueController: DialogueController); + getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData; + removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData; + pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData; + unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData; + setRead(url: string, info: ISetDialogReadRequestData, sessionID: string): IGetBodyResponseData; + getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData; + listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData; + sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData; + onUpdate(timeSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/GameCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/GameCallbacks.d.ts new file mode 100644 index 0000000..9481129 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/GameCallbacks.d.ts @@ -0,0 +1,24 @@ +import { GameController } from "../controllers/GameController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData"; +import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { IWatermark } from "../models/spt/utils/IWatermark"; +declare class GameCallbacks { + private httpResponse; + private watermark; + private gameController; + constructor(httpResponse: HttpResponseUtil, watermark: IWatermark, gameController: GameController); + versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; + gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gameLogout(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData; + getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getVersion(url: string, info: IEmptyRequestData, sessionID: string): string; +} +export { GameCallbacks }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HandbookCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HandbookCallbacks.d.ts new file mode 100644 index 0000000..0db5fec --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HandbookCallbacks.d.ts @@ -0,0 +1,8 @@ +import { HandbookController } from "../controllers/HandbookController"; +import { OnLoad } from "../di/OnLoad"; +export declare class HandbookCallbacks extends OnLoad { + private handbookController; + constructor(handbookController: HandbookController); + onLoad(): void; + getRoute(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HealthCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HealthCallbacks.d.ts new file mode 100644 index 0000000..b223bb3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HealthCallbacks.d.ts @@ -0,0 +1,20 @@ +import { HealthController } from "../controllers/HealthController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; +import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData"; +import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData"; +import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class HealthCallbacks { + private httpResponse; + private profileHelper; + private healthController; + constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); + syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; + offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; + offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; + healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HideoutCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HideoutCallbacks.d.ts new file mode 100644 index 0000000..b574232 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HideoutCallbacks.d.ts @@ -0,0 +1,31 @@ +import { HideoutController } from "../controllers/HideoutController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; +import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData"; +import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; +import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; +import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; +import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ConfigServer } from "../servers/ConfigServer"; +import { OnUpdate } from "../di/OnUpdate"; +export declare class HideoutCallbacks extends OnUpdate { + private hideoutController; + private configServer; + private hideoutConfig; + constructor(hideoutController: HideoutController, configServer: ConfigServer); + upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; + upgradeComplete(pmcData: IPmcData, body: IHideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; + putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; + takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; + singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + onUpdate(timeSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HttpCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HttpCallbacks.d.ts new file mode 100644 index 0000000..7072297 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/HttpCallbacks.d.ts @@ -0,0 +1,9 @@ +import { IHttpServer } from "../models/spt/server/IHttpServer"; +import { OnLoad } from "../di/OnLoad"; +export declare class HttpCallbacks extends OnLoad { + private httpServer; + constructor(httpServer: IHttpServer); + onLoad(): void; + getRoute(): string; + getImage(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InraidCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InraidCallbacks.d.ts new file mode 100644 index 0000000..1948d01 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InraidCallbacks.d.ts @@ -0,0 +1,21 @@ +import { InraidController } from "../controllers/InraidController"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; +import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class InraidCallbacks { + private inraidController; + private httpResponse; + private configServer; + private airdropConfig; + private inraidConfig; + constructor(inraidController: InraidController, httpResponse: HttpResponseUtil, configServer: ConfigServer); + registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; + saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData; + getRaidEndState(): string; + getRaidMenuSettings(url: string, info: IEmptyRequestData, sessionID: string): string; + getWeaponDurability(url: string, info: any, sessionID: string): string; + getAirdropConfig(url: string, info: any, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InsuranceCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InsuranceCallbacks.d.ts new file mode 100644 index 0000000..73b7bd9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InsuranceCallbacks.d.ts @@ -0,0 +1,23 @@ +import { InsuranceController } from "../controllers/InsuranceController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; +import { InsuranceService } from "../services/InsuranceService"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class InsuranceCallbacks extends OnLoadOnUpdate { + private insuranceController; + private insuranceService; + private httpResponse; + private configServer; + private insuranceConfig; + constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer); + onLoad(): void; + getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData; + insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse; + onUpdate(secondsSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InventoryCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InventoryCallbacks.d.ts new file mode 100644 index 0000000..90d6936 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/InventoryCallbacks.d.ts @@ -0,0 +1,39 @@ +import { InventoryController } from "../controllers/InventoryController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IInventoryFoldRequestData } from "../models/eft/inventory/IInventoryFoldRequestData"; +import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; +import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; +import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData"; +import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; +import { IInventorySwapRequestData } from "../models/eft/inventory/IInventorySwapRequestData"; +import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryToggleRequestData"; +import { IInventoryTagRequestData } from "../models/eft/inventory/IInventoryTagRequestData"; +import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData"; +import { IInventoryExamineRequestData } from "../models/eft/inventory/IInventoryExamineRequestData"; +import { IInventoryReadEncyclopediaRequestData } from "../models/eft/inventory/IInventoryReadEncyclopediaRequestData"; +import { IInventorySortRequestData } from "../models/eft/inventory/IInventorySortRequestData"; +import { IInventoryCreateMarkerRequestData } from "../models/eft/inventory/IInventoryCreateMarkerRequestData"; +import { IInventoryDeleteMarkerRequestData } from "../models/eft/inventory/IInventoryDeleteMarkerRequestData"; +import { IInventoryEditMarkerRequestData } from "../models/eft/inventory/IInventoryEditMarkerRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class InventoryCallbacks { + private inventoryController; + constructor(inventoryController: InventoryController); + moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; + removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; + splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse; + mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse; + transferItem(pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string): IItemEventRouterResponse; + swapItem(pmcData: IPmcData, body: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse; + foldItem(pmcData: IPmcData, body: IInventoryFoldRequestData, sessionID: string): IItemEventRouterResponse; + toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse; + tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; + bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; + examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; + sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse; + createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse; + deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse; + editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ItemEventCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ItemEventCallbacks.d.ts new file mode 100644 index 0000000..74e79c4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ItemEventCallbacks.d.ts @@ -0,0 +1,11 @@ +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterRequest } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class ItemEventCallbacks { + private httpResponse; + private itemEventRouter; + constructor(httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter); + handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/LauncherCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/LauncherCallbacks.d.ts new file mode 100644 index 0000000..addf76b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/LauncherCallbacks.d.ts @@ -0,0 +1,27 @@ +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { SaveServer } from "../servers/SaveServer"; +import { LauncherController } from "../controllers/LauncherController"; +import { IRegisterData } from "../models/eft/launcher/IRegisterData"; +import { IRemoveProfileData } from "../models/eft/launcher/IRemoveProfileData"; +import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; +import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; +import { IWatermark } from "../models/spt/utils/IWatermark"; +declare class LauncherCallbacks { + private httpResponse; + private launcherController; + private saveServer; + private watermark; + constructor(httpResponse: HttpResponseUtil, launcherController: LauncherController, saveServer: SaveServer, watermark: IWatermark); + connect(): string; + login(url: string, info: ILoginRequestData, sessionID: string): string; + register(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"; + get(url: string, info: ILoginRequestData, sessionID: string): string; + changeUsername(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"; + changePassword(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"; + wipe(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"; + getServerVersion(): string; + ping(url: string, info: any, sessionID: string): string; + removeProfile(url: string, info: IRemoveProfileData, sessionID: string): string; + getCompatibleTarkovVersion(): string; +} +export { LauncherCallbacks }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/LocationCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/LocationCallbacks.d.ts new file mode 100644 index 0000000..346893b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/LocationCallbacks.d.ts @@ -0,0 +1,13 @@ +import { LocationController } from "../controllers/LocationController"; +import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase"; +import { ILocationBase } from "../models/eft/common/ILocationBase"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class LocationCallbacks { + private httpResponse; + private locationController; + constructor(httpResponse: HttpResponseUtil, locationController: LocationController); + getLocationData(url: string, info: any, sessionID: string): IGetBodyResponseData; + getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/MatchCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/MatchCallbacks.d.ts new file mode 100644 index 0000000..9364a2f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/MatchCallbacks.d.ts @@ -0,0 +1,34 @@ +import { MatchController } from "../controllers/MatchController"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +export declare class MatchCallbacks { + private httpResponse; + private jsonUtil; + private matchController; + private databaseServer; + constructor(httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, matchController: MatchController, databaseServer: DatabaseServer); + updatePing(url: string, info: any, sessionID: string): INullResponseData; + exitMatch(url: string, info: any, sessionID: string): INullResponseData; + exitToMenu(url: string, info: any, sessionID: string): INullResponseData; + startGroupSearch(url: string, info: any, sessionID: string): INullResponseData; + stopGroupSearch(url: string, info: any, sessionID: string): INullResponseData; + sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + putMetrics(url: string, info: any, sessionID: string): INullResponseData; + getProfile(url: string, info: any, sessionID: string): IGetBodyResponseData; + serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; + joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData; + getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData; + getGroupStatus(url: string, info: any, sessionID: string): IGetBodyResponseData; + createGroup(url: string, info: any, sessionID: string): IGetBodyResponseData; + deleteGroup(url: string, info: any, sessionID: string): INullResponseData; + startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData; + endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ModCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ModCallbacks.d.ts new file mode 100644 index 0000000..b4c18c2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ModCallbacks.d.ts @@ -0,0 +1,21 @@ +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { OnLoad } from "../di/OnLoad"; +import { DelayedModLoader } from "../loaders/DelayedModLoader"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ILogger } from '../models/spt/utils/ILogger'; +import { IHttpServer } from '../models/spt/server/IHttpServer'; +declare class ModCallbacks extends OnLoad { + private logger; + private httpResponse; + private httpServer; + private modLoader; + private configServer; + private httpConfig; + constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); + onLoad(): void; + getRoute(): string; + sendBundle(sessionID: string, req: any, resp: any, body: any): void; + getBundles(url: string, info: any, sessionID: string): string; + getBundle(url: string, info: any, sessionID: string): string; +} +export { ModCallbacks }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/NoteCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/NoteCallbacks.d.ts new file mode 100644 index 0000000..36cbd44 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/NoteCallbacks.d.ts @@ -0,0 +1,11 @@ +import { NoteController } from "../controllers/NoteController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { INoteActionData } from "../models/eft/notes/INoteActionData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class NoteCallbacks { + private noteController; + constructor(noteController: NoteController); + addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/NotifierCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/NotifierCallbacks.d.ts new file mode 100644 index 0000000..f47dcc9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/NotifierCallbacks.d.ts @@ -0,0 +1,24 @@ +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +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 { NotifierController } from "../controllers/NotifierController"; +export declare class NotifierCallbacks { + private httpServerHelper; + private httpResponse; + private notifierController; + constructor(httpServerHelper: HttpServerHelper, httpResponse: HttpResponseUtil, notifierController: NotifierController); + /** + * If we don't have anything to send, it's ok to not send anything back + * because notification requests can be long-polling. In fact, we SHOULD wait + * until we actually have something to send because otherwise we'd spam the client + * and the client would abort the connection due to spam. + */ + sendNotification(sessionID: string, req: any, resp: any, data: any): void; + getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData; + createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData; + notify(url: string, info: any, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/PresetBuildCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/PresetBuildCallbacks.d.ts new file mode 100644 index 0000000..fd22c8f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/PresetBuildCallbacks.d.ts @@ -0,0 +1,15 @@ +import { PresetBuildController } from "../controllers/PresetBuildController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class PresetBuildCallbacks { + private httpResponse; + private presetBuildController; + constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController); + getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; + saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; + removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/PresetCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/PresetCallbacks.d.ts new file mode 100644 index 0000000..f62afd6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/PresetCallbacks.d.ts @@ -0,0 +1,8 @@ +import { PresetController } from "../controllers/PresetController"; +import { OnLoad } from "../di/OnLoad"; +export declare class PresetCallbacks extends OnLoad { + private presetController; + constructor(presetController: PresetController); + onLoad(): void; + getRoute(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ProfileCallbacks.d.ts new file mode 100644 index 0000000..e50c130 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/ProfileCallbacks.d.ts @@ -0,0 +1,30 @@ +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { ProfileController } from "../controllers/ProfileController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; +import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; +import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; +import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; +import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData"; +import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse"; +import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData"; +export declare class ProfileCallbacks { + private httpResponse; + private timeUtil; + private profileController; + constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, profileController: ProfileController); + createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; + getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + regenerateScav(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + changeVoice(url: string, info: IProfileChangeVoiceRequestData, sessionID: string): INullResponseData; + changeNickname(url: string, info: IProfileChangeNicknameRequestData, sessionID: string): IGetBodyResponseData; + validateNickname(url: string, info: IValidateNicknameRequestData, sessionID: string): IGetBodyResponseData; + getReservedNickname(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData; + getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string; + getAllMiniProfiles(url: string, info: any, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/QuestCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/QuestCallbacks.d.ts new file mode 100644 index 0000000..1f3964b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/QuestCallbacks.d.ts @@ -0,0 +1,26 @@ +import { QuestController } from "../controllers/QuestController"; +import { RepeatableQuestController } from "../controllers/RepeatableQuestController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IListQuestsRequestData } from "../models/eft/quests/IListQuestsRequestData"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IQuest } from "../models/eft/common/tables/IQuest"; +import { IPmcDataRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; +import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class QuestCallbacks { + private httpResponse; + private questController; + private repeatableQuestController; + constructor(httpResponse: HttpResponseUtil, questController: QuestController, repeatableQuestController: RepeatableQuestController); + changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; + listQuests(url: string, info: IListQuestsRequestData, sessionID: string): IGetBodyResponseData; + activityPeriods(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/RagfairCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/RagfairCallbacks.d.ts new file mode 100644 index 0000000..260fd13 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/RagfairCallbacks.d.ts @@ -0,0 +1,36 @@ +import { RagfairServer } from "../servers/RagfairServer"; +import { RagfairController } from "../controllers/RagfairController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; +import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData"; +import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; +import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairCallbacks extends OnLoadOnUpdate { + private httpResponse; + private logger; + private jsonUtil; + private ragfairServer; + private ragfairController; + private configServer; + private ragfairConfig; + constructor(httpResponse: HttpResponseUtil, logger: ILogger, jsonUtil: JsonUtil, ragfairServer: RagfairServer, ragfairController: RagfairController, configServer: ConfigServer); + onLoad(): void; + getRoute(): string; + search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData; + getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData; + getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; + removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse; + extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; + onUpdate(timeSinceLastRun: number): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/RepairCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/RepairCallbacks.d.ts new file mode 100644 index 0000000..4acd364 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/RepairCallbacks.d.ts @@ -0,0 +1,11 @@ +import { RepairController } from "../controllers/RepairController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; +import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class RepairCallbacks { + private repairController; + constructor(repairController: RepairController); + traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; + repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/SaveCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/SaveCallbacks.d.ts new file mode 100644 index 0000000..52d5faf --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/SaveCallbacks.d.ts @@ -0,0 +1,9 @@ +import { SaveServer } from "../servers/SaveServer"; +import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; +export declare class SaveCallbacks extends OnLoadOnUpdate { + private saveServer; + constructor(saveServer: SaveServer); + onLoad(): void; + getRoute(): string; + onUpdate(secondsSinceLastRun: number): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/TradeCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/TradeCallbacks.d.ts new file mode 100644 index 0000000..4cf8497 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/TradeCallbacks.d.ts @@ -0,0 +1,11 @@ +import { TradeController } from "../controllers/TradeController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; +export declare class TradeCallbacks { + private tradeController; + constructor(tradeController: TradeController); + processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; + processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/TraderCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/TraderCallbacks.d.ts new file mode 100644 index 0000000..264ef94 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/TraderCallbacks.d.ts @@ -0,0 +1,18 @@ +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { TraderController } from "../controllers/TraderController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; +export declare class TraderCallbacks extends OnLoadOnUpdate { + private httpResponse; + private traderController; + constructor(httpResponse: HttpResponseUtil, traderController: TraderController); + onLoad(): void; + getRoute(): string; + getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getProfilePurchases(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; + getTrader(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + onUpdate(): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/WeatherCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/WeatherCallbacks.d.ts new file mode 100644 index 0000000..2474417 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/WeatherCallbacks.d.ts @@ -0,0 +1,10 @@ +import { WeatherController } from "../controllers/WeatherController"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class WeatherCallbacks { + private httpResponse; + private weatherController; + constructor(httpResponse: HttpResponseUtil, weatherController: WeatherController); + getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/WishlistCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/WishlistCallbacks.d.ts new file mode 100644 index 0000000..1816600 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/callbacks/WishlistCallbacks.d.ts @@ -0,0 +1,10 @@ +import { WishlistController } from "../controllers/WishlistController"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class WishlistCallbacks { + private wishlistController; + constructor(wishlistController: WishlistController); + addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; + removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/BotController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/BotController.d.ts new file mode 100644 index 0000000..d7dc36d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/BotController.d.ts @@ -0,0 +1,20 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { IBotCore } from "../models/eft/common/tables/IBotCore"; +import { ConfigServer } from "../servers/ConfigServer"; +import { BotHelper } from "../helpers/BotHelper"; +import { BotGenerator } from "../generators/BotGenerator"; +export declare class BotController { + private databaseServer; + private botGenerator; + private botHelper; + private configServer; + private botConfig; + constructor(databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, configServer: ConfigServer); + getBotLimit(type: string): number; + getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty; + generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; + getBotCap(): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/CustomizationController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/CustomizationController.d.ts new file mode 100644 index 0000000..6fd3b12 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/CustomizationController.d.ts @@ -0,0 +1,22 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData"; +import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData"; +import { ISuit } from "../models/eft/common/tables/ITrader"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class CustomizationController { + private logger; + private itemEventRouter; + private databaseServer; + private saveServer; + private profileHelper; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper); + getTraderSuits(traderID: string, sessionID: string): ISuit[]; + wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; + buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; + private getAllTraderSuits; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/DialogueController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/DialogueController.d.ts new file mode 100644 index 0000000..8095666 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/DialogueController.d.ts @@ -0,0 +1,24 @@ +import { SaveServer } from "../servers/SaveServer"; +import { DialogueHelper } from "../helpers/DialogueHelper"; +import { DialogueInfo } from "../models/eft/profile/IAkiProfile"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse"; +import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData"; +import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +export declare class DialogueController { + private httpResponse; + private saveServer; + private dialogueHelper; + constructor(httpResponse: HttpResponseUtil, saveServer: SaveServer, dialogueHelper: DialogueHelper); + getFriendList(sessionID: string): IGetFriendListDataResponse; + generateDialogueList(sessionID: string): IGetBodyResponseData; + getDialogueInfo(dialogueID: string, sessionID: string): DialogueInfo; + generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData; + removeDialogue(dialogueID: string, sessionID: string): void; + setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void; + setRead(dialogueIDs: string[], sessionID: string): void; + getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse; + private removeExpiredItems; + update(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/GameController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/GameController.d.ts new file mode 100644 index 0000000..614d270 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/GameController.d.ts @@ -0,0 +1,20 @@ +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { IWatermark } from "../models/spt/utils/IWatermark"; +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +export declare class GameController { + private logger; + private watermark; + private httpServerHelper; + private profileHelper; + private configServer; + private httpConfig; + constructor(logger: ILogger, watermark: IWatermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); + gameStart(url: string, info: IEmptyRequestData, sessionID: string): void; + getGameConfig(sessionID: string): IGameConfigResponse; + getServer(): any[]; + private getActiveRepeatableQuests; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HandbookController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HandbookController.d.ts new file mode 100644 index 0000000..5a55e89 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HandbookController.d.ts @@ -0,0 +1,8 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HandbookHelper } from "../helpers/HandbookHelper"; +export declare class HandbookController { + private databaseServer; + private handbookHelper; + constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper); + load(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HealthController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HealthController.d.ts new file mode 100644 index 0000000..ca049f6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HealthController.d.ts @@ -0,0 +1,25 @@ +import { ItemHelper } from "../helpers/ItemHelper"; +import { PaymentService } from "../services/PaymentService"; +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { HealthHelper } from "../helpers/HealthHelper"; +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 { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class HealthController { + private logger; + private itemEventRouter; + private itemHelper; + private paymentService; + private inventoryHelper; + private healthHelper; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper); + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; + offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; + healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HideoutController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HideoutController.d.ts new file mode 100644 index 0000000..22b7040 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/HideoutController.d.ts @@ -0,0 +1,56 @@ +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { HashUtil } from "../utils/HashUtil"; +import { SaveServer } from "../servers/SaveServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { PlayerService } from "../services/PlayerService"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { HideoutHelper } from "../helpers/HideoutHelper"; +import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData"; +import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData"; +import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData"; +import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData"; +import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData"; +import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; +import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class HideoutController { + private logger; + private hashUtil; + private timeUtil; + private databaseServer; + private randomUtil; + private inventoryHelper; + private saveServer; + private playerService; + private presetHelper; + private paymentHelper; + private itemEventRouter; + private httpResponse; + private profileHelper; + private hideoutHelper; + private configServer; + private hideoutConfig; + constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, configServer: ConfigServer); + upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; + upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; + putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; + takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; + singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + update(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InraidController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InraidController.d.ts new file mode 100644 index 0000000..1033e5f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InraidController.d.ts @@ -0,0 +1,30 @@ +import { SaveServer } from "../servers/SaveServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { HealthHelper } from "../helpers/HealthHelper"; +import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData"; +import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { ConfigServer } from "../servers/ConfigServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { QuestHelper } from "../helpers/QuestHelper"; +import { InRaidHelper } from "../helpers/InRaidHelper"; +import { InsuranceService } from "../services/InsuranceService"; +import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper"; +export declare class InraidController { + private saveServer; + private jsonUtil; + private databaseServer; + private questHelper; + private itemHelper; + private extendedProfileHelper; + private healthHelper; + private traderHelper; + private insuranceService; + private inRaidHelper; + private configServer; + private inraidConfig; + constructor(saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, extendedProfileHelper: ExtendedProfileHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, configServer: ConfigServer); + addPlayer(sessionID: string, info: IRegisterPlayerRequestData): void; + saveProgress(offraidData: ISaveProgressRequestData, sessionID: string): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InsuranceController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InsuranceController.d.ts new file mode 100644 index 0000000..44c61fa --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InsuranceController.d.ts @@ -0,0 +1,36 @@ +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { SaveServer } from "../servers/SaveServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { PaymentService } from "../services/PaymentService"; +import { DialogueHelper } from "../helpers/DialogueHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { InsuranceService } from "../services/InsuranceService"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class InsuranceController { + private logger; + private randomUtil; + private itemEventRouter; + private timeUtil; + private saveServer; + private databaseServer; + private itemHelper; + private profileHelper; + private dialogueHelper; + private paymentService; + private insuranceService; + private configServer; + private insuranceConfig; + constructor(logger: ILogger, randomUtil: RandomUtil, itemEventRouter: ItemEventRouter, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, insuranceService: InsuranceService, configServer: ConfigServer); + processReturn(): void; + insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse; + cost(info: IGetInsuranceCostRequestData, sessionID: string): any; + doAbsolutelyNothing(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InventoryController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InventoryController.d.ts new file mode 100644 index 0000000..4ff07b8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/InventoryController.d.ts @@ -0,0 +1,106 @@ +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; +import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData"; +import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; +import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; +import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IInventorySwapRequestData } from "../models/eft/inventory/IInventorySwapRequestData"; +import { IInventoryFoldRequestData } from "../models/eft/inventory/IInventoryFoldRequestData"; +import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryToggleRequestData"; +import { IInventoryTagRequestData } from "../models/eft/inventory/IInventoryTagRequestData"; +import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData"; +import { IInventoryExamineRequestData } from "../models/eft/inventory/IInventoryExamineRequestData"; +import { IInventoryReadEncyclopediaRequestData } from "../models/eft/inventory/IInventoryReadEncyclopediaRequestData"; +import { IInventorySortRequestData } from "../models/eft/inventory/IInventorySortRequestData"; +import { IInventoryCreateMarkerRequestData } from "../models/eft/inventory/IInventoryCreateMarkerRequestData"; +import { IInventoryDeleteMarkerRequestData } from "../models/eft/inventory/IInventoryDeleteMarkerRequestData"; +import { IInventoryEditMarkerRequestData } from "../models/eft/inventory/IInventoryEditMarkerRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class InventoryController { + private logger; + private hashUtil; + private jsonUtil; + private databaseServer; + private presetHelper; + private inventoryHelper; + private profileHelper; + private paymentHelper; + private itemEventRouter; + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); + /** + * 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. + */ + moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Remove Item from Profile + * Deep tree item deletion, also removes items from insurance list + */ + removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; + /** + * Implements functionality "Discard" from Main menu (Stash etc.) + * Removes item from PMC Profile + */ + discardItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Split Item + * spliting 1 item-stack into 2 separate items ... + */ + splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Merge Item + * merges 2 items into one, deletes item from `body.item` and adding number of stacks into `body.with` + */ + mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Transfer item + * Used to take items from scav inventory into stash or to insert ammo into mags (shotgun ones) and reloading weapon by clicking "Reload" + */ + 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 + */ + swapItem(pmcData: IPmcData, body: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Give Item + * its used for "add" item like gifts etc. + */ + addItem(pmcData: IPmcData, body: any, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; + /** + * Handles folding of Weapons + */ + foldItem(pmcData: IPmcData, body: IInventoryFoldRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Toggles "Toggleable" items like night vision goggles and face shields. + */ + toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Handles Tagging of items (primary Containers). + */ + tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; + bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Handles examining of the item * + */ + examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Handles sorting of Inventory. + */ + sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse; + createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse; + deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse; + editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/LauncherController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/LauncherController.d.ts new file mode 100644 index 0000000..d3d8e6a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/LauncherController.d.ts @@ -0,0 +1,27 @@ +import { HashUtil } from "../utils/HashUtil"; +import { SaveServer } from "../servers/SaveServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IRegisterData } from "../models/eft/launcher/IRegisterData"; +import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData"; +import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData"; +import { Info } from "../models/eft/profile/IAkiProfile"; +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +export declare class LauncherController { + private hashUtil; + private saveServer; + private httpServerHelper; + private databaseServer; + private configServer; + private coreConfig; + constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, databaseServer: DatabaseServer, configServer: ConfigServer); + connect(): any; + find(sessionIdKey: string): Info; + login(info: ILoginRequestData): string; + register(info: IRegisterData): string; + private createAccount; + changeUsername(info: IChangeRequestData): string; + changePassword(info: IChangeRequestData): string; + wipe(info: IRegisterData): string; + getCompatibleTarkovVersion(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/LocationController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/LocationController.d.ts new file mode 100644 index 0000000..dde270c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/LocationController.d.ts @@ -0,0 +1,18 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocationGenerator } from "../generators/LocationGenerator"; +import { ILocationBase } from "../models/eft/common/ILocationBase"; +import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class LocationController { + private jsonUtil; + private logger; + private locationGenerator; + private databaseServer; + private timeUtil; + constructor(jsonUtil: JsonUtil, logger: ILogger, locationGenerator: LocationGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil); + get(location: string): ILocationBase; + generate(name: string): ILocationBase; + generateAll(): ILocationsGenerateAllResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/MatchController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/MatchController.d.ts new file mode 100644 index 0000000..229b884 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/MatchController.d.ts @@ -0,0 +1,27 @@ +import { TraderHelper } from "../helpers/TraderHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ConfigServer } from "../servers/ConfigServer"; +import { SaveServer } from "../servers/SaveServer"; +import { MatchLocationService } from "../services/MatchLocationService"; +export declare class MatchController { + private saveServer; + private profileHelper; + private matchLocationService; + private traderHelper; + private configServer; + private matchConfig; + private inraidConfig; + constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); + getEnabled(): boolean; + getProfile(info: any): IPmcData[]; + private getMatch; + createGroup(sessionID: string, info: any): any; + deleteGroup(info: any): void; + joinMatch(info: any, sessionID: string): any[]; + getGroupStatus(info: any): any; + startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void; + endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/NoteController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/NoteController.d.ts new file mode 100644 index 0000000..ecd8001 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/NoteController.d.ts @@ -0,0 +1,12 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { INoteActionData } from "../models/eft/notes/INoteActionData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +declare class NoteController { + private itemEventRouter; + constructor(itemEventRouter: ItemEventRouter); + addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; +} +export { NoteController }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/NotifierController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/NotifierController.d.ts new file mode 100644 index 0000000..36fef66 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/NotifierController.d.ts @@ -0,0 +1,22 @@ +import { NotifierHelper } from "../helpers/NotifierHelper"; +import { NotificationService } from "../services/NotificationService"; +import { INotifierChannel } from "../models/eft/notifier/INotifier"; +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +export declare class NotifierController { + private notifierHelper; + private httpServerHelper; + private notificationService; + private pollInterval; + private timeout; + constructor(notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, notificationService: NotificationService); + /** + * Resolve an array of session notifications. + * + * If no notifications are currently queued then intermittently check for new notifications until either + * one or more appear or when a timeout expires. + * If no notifications are available after the timeout, use a default message. + */ + notifyAsync(sessionID: string): Promise; + getServer(sessionID: string): string; + getChannel(sessionID: string): INotifierChannel; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/PresetBuildController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/PresetBuildController.d.ts new file mode 100644 index 0000000..a15b181 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/PresetBuildController.d.ts @@ -0,0 +1,18 @@ +import { ItemHelper } from "../helpers/ItemHelper"; +import { SaveServer } from "../servers/SaveServer"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { WeaponBuild } from "../models/eft/profile/IAkiProfile"; +import { HashUtil } from "../utils/HashUtil"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +export declare class PresetBuildController { + private hashUtil; + private itemEventRouter; + private itemHelper; + private saveServer; + constructor(hashUtil: HashUtil, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, saveServer: SaveServer); + getUserBuilds(sessionID: string): WeaponBuild[]; + saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; + removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/PresetController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/PresetController.d.ts new file mode 100644 index 0000000..6ec8c55 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/PresetController.d.ts @@ -0,0 +1,8 @@ +import { PresetHelper } from "../helpers/PresetHelper"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class PresetController { + private presetHelper; + private databaseServer; + constructor(presetHelper: PresetHelper, databaseServer: DatabaseServer); + initialize(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/ProfileController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/ProfileController.d.ts new file mode 100644 index 0000000..46b66d8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/ProfileController.d.ts @@ -0,0 +1,34 @@ +import { SaveServer } from "../servers/SaveServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; +import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; +import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; +import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; +import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData"; +import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse"; +import { HashUtil } from "../utils/HashUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { IMiniProfile } from "../models/eft/launcher/IMiniProfile"; +import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper"; +export declare class ProfileController { + private hashUtil; + private timeUtil; + private saveServer; + private databaseServer; + private itemHelper; + private traderHelper; + private extendedProfileHelper; + constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); + getMiniProfiles(): IMiniProfile[]; + getMiniProfile(sessionID: string): any; + getCompleteProfile(sessionID: string): IPmcData[]; + createProfile(info: IProfileCreateRequestData, sessionID: string): void; + generatePlayerScav(sessionID: string): IPmcData; + validateNickname(info: IValidateNicknameRequestData, sessionID: string): string; + changeNickname(info: IProfileChangeNicknameRequestData, sessionID: string): string; + changeVoice(info: IProfileChangeVoiceRequestData, sessionID: string): void; + getFriends(info: ISearchFriendRequestData, sessionID: string): ISearchFriendResponse[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/QuestController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/QuestController.d.ts new file mode 100644 index 0000000..a964c32 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/QuestController.d.ts @@ -0,0 +1,37 @@ +import { TimeUtil } from "../utils/TimeUtil"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { QuestHelper } from "../helpers/QuestHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { DialogueHelper } from "../helpers/DialogueHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { QuestConditionHelper } from "../helpers/QuestConditionHelper"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { PlayerService } from "../services/PlayerService"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IQuest } from "../models/eft/common/tables/IQuest"; +import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData"; +import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class QuestController { + private logger; + private timeUtil; + private itemEventRouter; + private databaseServer; + private itemHelper; + private dialogueHelper; + private profileHelper; + private questHelper; + private questConditionHelper; + private playerService; + private configServer; + private questConfig; + constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer); + getClientQuests(sessionID: string): IQuest[]; + acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RagfairController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RagfairController.d.ts new file mode 100644 index 0000000..6e71edd --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RagfairController.d.ts @@ -0,0 +1,69 @@ +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { RagfairServer } from "../servers/RagfairServer"; +import { SaveServer } from "../servers/SaveServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { PaymentService } from "../services/PaymentService"; +import { RagfairPriceService } from "../services/RagfairPriceService"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { RagfairHelper } from "../helpers/RagfairHelper"; +import { RagfairSellHelper } from "../helpers/RagfairSellHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IAddOfferRequestData, Requirement } from "../models/eft/ragfair/IAddOfferRequestData"; +import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; +import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; +import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; +import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; +import { ConfigServer } from "../servers/ConfigServer"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { RagfairSortHelper } from "../helpers/RagfairSortHelper"; +import { RagfairTaxHelper } from "../helpers/RagfairTaxHelper"; +import { RagfairOfferHelper } from "../helpers/RagfairOfferHelper"; +import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairController { + private logger; + private timeUtil; + private httpResponse; + private itemEventRouter; + private ragfairServer; + private ragfairPriceService; + private databaseServer; + private itemHelper; + private saveServer; + private ragfairSellHelper; + private ragfairTaxHelper; + private ragfairSortHelper; + private ragfairOfferHelper; + private profileHelper; + private paymentService; + private handbookHelper; + private paymentHelper; + private inventoryHelper; + private ragfairHelper; + private ragfairOfferService; + private ragfairRequiredItemsService; + private ragfairOfferGenerator; + private configServer; + private ragfairConfig; + constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer); + getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult; + update(): void; + getItemPrice(info: IGetMarketPriceRequestData): IGetItemPriceResult; + addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; + createPlayerOffer(profile: IAkiProfile, requirements: Requirement[], items: Item[], sellInOnePiece: boolean, amountToSend: number): IRagfairOffer; + getAllFleaPrices(): Record; + removeOffer(offerId: string, sessionID: string): IItemEventRouterResponse; + extendOffer(info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RepairController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RepairController.d.ts new file mode 100644 index 0000000..3a9f3a2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RepairController.d.ts @@ -0,0 +1,40 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { QuestHelper } from "../helpers/QuestHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { PaymentService } from "../services/PaymentService"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { RepairHelper } from "../helpers/RepairHelper"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RepairController { + private logger; + private itemEventRouter; + private databaseServer; + private questHelper; + private traderHelper; + private paymentService; + private repairHelper; + private configServer; + private repairConfig; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, questHelper: QuestHelper, traderHelper: TraderHelper, paymentService: PaymentService, repairHelper: RepairHelper, configServer: ConfigServer); + /** + * Repair with trader + * @param pmcData player profile + * @param body endpoint request data + * @param sessionID session id + * @returns item event router action + */ + traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; + /** + * Repair with repair kit + * @param pmcData player profile + * @param body endpoint request data + * @param sessionID session id + * @returns item event router action + */ + repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RepeatableQuestController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RepeatableQuestController.d.ts new file mode 100644 index 0000000..d2de5df --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/RepeatableQuestController.d.ts @@ -0,0 +1,216 @@ +import { TimeUtil } from "../utils/TimeUtil"; +import { ObjectId } from "../utils/ObjectId"; +import { RandomUtil, ProbabilityObjectArray, ProbabilityObject } from "../utils/RandomUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { MathUtil } from "../utils/MathUtil"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; +import { IPmcData, TraderInfo } from "../models/eft/common/IPmcData"; +import { IRepeatableQuestConfig, ELocationName } from "../models/spt/config/IQuestConfig"; +import { IExploration, IRepeatableQuest, IReward, IRewards, IExplorationCondition, ICompletionAvailableFor, IEliminationCondition, ICompletion, IElimination, IPmcDataRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; +import { Exit } from "../models/eft/common/ILocationBase"; +import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { PaymentService } from "../services/PaymentService"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; +import { ILogger } from "../models/spt/utils/ILogger"; +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[]; +} +export declare class RepeatableQuestController { + private timeUtil; + private logger; + private randomUtil; + private mathUtil; + private jsonUtil; + private databaseServer; + private itemHelper; + private presetHelper; + private profileHelper; + private ragfairServerHelper; + private itemEventRouter; + private paymentService; + private objectId; + private configServer; + private questConfig; + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); + /** + * This is the method reached by the /client/repeatalbeQuests/activityPeriods endpoint + * Returns an array of objects in the format of repeatable quests to the client. + * repeatableQuestObject = { + * id: Unique Id, + * name: "Daily", + * endTime: the time when the quests expire + * activeQuests: currently available quests in an array. Each element of quest type format (see assets/database/templates/repeatableQuests.json). + * inactiveQuests: the quests which were previously active (required by client to fail them if they are not completed) + * } + * + * The method checks if the player level requirement for repeatable quests (e.g. daily lvl5, weekly lvl15) is met and if the previously active quests + * are still valid. This ischecked by endTime persisted in profile accordning to the resetTime configured for each repeatable kind (daily, weekly) + * in QuestCondig.js + * + * If the condition is met, new repeatableQuests are created, old quests (which are persisted in the profile.RepeatableQuests[i].activeQuests) are + * moved to profile.RepeatableQuests[i].inactiveQuests. This memory is required to get rid of old repeatable quest data in the profile, otherwise + * they'll litter the profile's Quests field. + * (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} sessionId Player's session id + * @returns {array} array of "repeatableQuestObjects" as descibed above + */ + getClientRepeatableQuests(info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[]; + /** + * This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json). + * It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest + */ + 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: any): 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 + * @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) + */ + generateRepeatableTemplate(type: string, traderId: 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) + */ + 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) + */ + 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) + */ + generateEliminationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IElimination; + /** + * 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 + */ + 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 + */ + 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 + */ + 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 + */ + 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 + * where you have to e.g. kill scavs in same locations. + * + * @returns {object} the quest pool + */ + generateQuestPool(repeatableConfig: IRepeatableQuestConfig): 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 + */ + 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 + */ + generateRewardItem(tpl: string, value: number, index: number, preset?: any): IReward; + debugLogRepeatableQuestIds(pmcData: IPmcData): void; + probabilityObjectArray(configArrayInput: ProbabilityObject[]): ProbabilityObjectArray; + changeRepeatableQuest(pmcDataIn: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/TradeController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/TradeController.d.ts new file mode 100644 index 0000000..f0a177b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/TradeController.d.ts @@ -0,0 +1,21 @@ +import { RagfairServer } from "../servers/RagfairServer"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { TradeHelper } from "../helpers/TradeHelper"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { Upd } from "../models/eft/common/tables/IItem"; +import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ILogger } from "../models/spt/utils/ILogger"; +declare class TradeController { + private logger; + private itemEventRouter; + private tradeHelper; + private profileHelper; + private ragfairServer; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, tradeHelper: TradeHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer); + confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse; + confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; +} +export { TradeController }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/TraderController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/TraderController.d.ts new file mode 100644 index 0000000..5cd85c9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/TraderController.d.ts @@ -0,0 +1,29 @@ +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { TraderAssortService } from "../services/TraderAssortService"; +import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { TraderAssortHelper } from "../helpers/TraderAssortHelper"; +export declare class TraderController { + private logger; + private databaseServer; + private traderAssortHelper; + private profileHelper; + private traderHelper; + private timeUtil; + private traderAssortService; + private jsonUtil; + private configServer; + private traderConfig; + constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, jsonUtil: JsonUtil, configServer: ConfigServer); + load(): void; + getTrader(traderID: string, sessionID: string): ITraderBase; + getAllTraders(sessionID: string): ITraderBase[]; + updateTraders(): boolean; + getAssort(sessionId: string, traderId: string): ITraderAssort; + getPurchasesData(traderID: string, sessionID: string): Record; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/WeatherController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/WeatherController.d.ts new file mode 100644 index 0000000..4f8bcf1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/WeatherController.d.ts @@ -0,0 +1,10 @@ +import { ConfigServer } from "../servers/ConfigServer"; +import { WeatherGenerator } from "../generators/WeatherGenerator"; +import { IWeatherData } from "../models/eft/weather/IWeatherData"; +export declare class WeatherController { + private weatherGenerator; + private configServer; + private weatherConfig; + constructor(weatherGenerator: WeatherGenerator, configServer: ConfigServer); + generate(): IWeatherData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/controllers/WishlistController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/WishlistController.d.ts new file mode 100644 index 0000000..5ef8df3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/controllers/WishlistController.d.ts @@ -0,0 +1,10 @@ +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class WishlistController { + private itemEvenRouter; + constructor(itemEvenRouter: ItemEventRouter); + addToWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; + removeFromWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/di/Container.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/di/Container.d.ts new file mode 100644 index 0000000..b67523f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/di/Container.d.ts @@ -0,0 +1,13 @@ +import { DependencyContainer } from "tsyringe"; +export declare class Container { + static registerTypes(depContainer: DependencyContainer): void; + private static registerUtils; + private static registerRouters; + private static registerGenerators; + private static registerHelpers; + private static registerLoaders; + private static registerCallbacks; + private static registerServices; + private static registerServers; + private static registerControllers; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/di/OnLoad.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/di/OnLoad.d.ts new file mode 100644 index 0000000..064d07d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/di/OnLoad.d.ts @@ -0,0 +1,4 @@ +export declare class OnLoad { + onLoad(): void; + getRoute(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/di/OnLoadOnUpdate.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/di/OnLoadOnUpdate.d.ts new file mode 100644 index 0000000..8bd3dc3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/di/OnLoadOnUpdate.d.ts @@ -0,0 +1,7 @@ +import { OnLoad } from "./OnLoad"; +import { OnUpdate } from "./OnUpdate"; +export declare class OnLoadOnUpdate implements OnLoad, OnUpdate { + onUpdate(timeSinceLastRun: number): boolean; + onLoad(): void; + getRoute(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/di/OnUpdate.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/di/OnUpdate.d.ts new file mode 100644 index 0000000..7fbbe09 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/di/OnUpdate.d.ts @@ -0,0 +1,4 @@ +export declare class OnUpdate { + onUpdate(timeSinceLastRun: number): boolean; + getRoute(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/di/Router.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/di/Router.d.ts new file mode 100644 index 0000000..ac48587 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/di/Router.d.ts @@ -0,0 +1,31 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +export declare class Router { + private handledRoutes; + constructor(); + getTopLevelRoute(): string; + protected getHandledRoutes(): HandledRoute[]; + canHandle(url: string, partialMatch?: boolean): boolean; +} +export declare class StaticRouter extends Router { + constructor(); + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} +export declare class DynamicRouter extends Router { + constructor(); + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} +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 { + route: string; + dynamic: boolean; + constructor(route: string, dynamic: boolean); +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/di/Serializer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/di/Serializer.d.ts new file mode 100644 index 0000000..70aa7c5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/di/Serializer.d.ts @@ -0,0 +1,5 @@ +import { IHttpServer } from "../models/spt/server/IHttpServer"; +export declare class Serializer { + serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + canHandle(something: string): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotGenerator.d.ts new file mode 100644 index 0000000..af7d7d4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotGenerator.d.ts @@ -0,0 +1,36 @@ +import { HashUtil } from "../utils/HashUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData"; +import { IBotBase } from "../models/eft/common/tables/IBotBase"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { ConfigServer } from "../servers/ConfigServer"; +import { GameEventHelper } from "../helpers/GameEventHelper"; +import { BotInventoryGenerator } from "./BotInventoryGenerator"; +import { BotHelper } from "../helpers/BotHelper"; +export declare class BotGenerator { + private logger; + private hashUtil; + private randomUtil; + private jsonUtil; + private databaseServer; + private botInventoryGenerator; + private botHelper; + private gameEventHelper; + private configServer; + private botConfig; + constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, botInventoryGenerator: BotInventoryGenerator, botHelper: BotHelper, gameEventHelper: GameEventHelper, configServer: ConfigServer); + generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[]; + private generateBot; + private generateRandomLevel; + /** Converts health object to the required format */ + private generateHealth; + private generateSkills; + private getPmcRole; + private removeChristmasItemsFromBotInventory; + private generateId; + private generateInventoryID; + private getPMCDifficulty; + private generateDogtag; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotInventoryGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotInventoryGenerator.d.ts new file mode 100644 index 0000000..e9f09de --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotInventoryGenerator.d.ts @@ -0,0 +1,25 @@ +import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; +import { Inventory, Chances, Generation } from "../models/eft/common/tables/IBotType"; +import { HashUtil } from "../utils/HashUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; +import { BotWeaponGenerator } from "./BotWeaponGenerator"; +import { BotLootGenerator } from "./BotLootGenerator"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; +export declare class BotInventoryGenerator { + private logger; + private hashUtil; + private randomUtil; + private databaseServer; + private botWeaponGenerator; + private botLootGenerator; + private botGeneratorHelper; + private weightedRandomHelper; + private botConfig; + constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, weightedRandomHelper: WeightedRandomHelper); + generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; + private generateEquipment; + private generateInventoryBase; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotLootGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotLootGenerator.d.ts new file mode 100644 index 0000000..3bf1b36 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotLootGenerator.d.ts @@ -0,0 +1,27 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { PMCLootGenerator } from "../generators/PMCLootGenerator"; +import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; +import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; +export declare class BotLootGenerator { + private jsonUtil; + private hashUtil; + private randomUtil; + private databaseServer; + private handbookHelper; + private botGeneratorHelper; + private pmcLootGenerator; + private configServer; + private botConfig; + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer); + generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void; + private getRandomisedCount; + private addLootFromPool; + /** Compares two item templates by their price to spawn chance ratio */ + private compareByValue; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotWeaponGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotWeaponGenerator.d.ts new file mode 100644 index 0000000..3e9d59c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/BotWeaponGenerator.d.ts @@ -0,0 +1,44 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; +import { MinMax, ModsChances, Mods } from "../models/eft/common/tables/IBotType"; +import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; +import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; +import { HashUtil } from "../utils/HashUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { RandomUtil } from "../utils/RandomUtil"; +export declare class BotWeaponGenerator { + private logger; + private hashUtil; + private databaseServer; + private itemHelper; + private weightedRandomHelper; + private botGeneratorHelper; + private randomUtil; + constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); + generateWeapon(equipmentSlot: string, weaponPool: Record, modPool: Mods, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; + /** Checks if all required slots are occupied on a weapon and all it's mods */ + private isWeaponValid; + /** + * Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets. + * Additionally, adds extra bullets to SecuredContainer + * + * @param {*} weaponMods + * @param {*} weaponTemplate + * @param {*} magCounts + * @param {*} ammoTpl + * @returns + */ + private generateExtraMagazines; + private addBullets; + /** + * Finds and returns tpl of ammo that should be used, while making sure it's compatible + * + * @param {*} weaponMods + * @param {*} weaponTemplate + * @returns + */ + private getCompatibleAmmo; + /** Fill existing magazines to full, while replacing their contents with specified ammo */ + private fillExistingMagazines; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/LocationGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/LocationGenerator.d.ts new file mode 100644 index 0000000..b7ba7c5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/LocationGenerator.d.ts @@ -0,0 +1,44 @@ +import { RandomUtil } from "../utils/RandomUtil"; +import { IStaticContainerProps, IStaticLootDetails, IStaticAmmoDetails, IStaticForcedProps } from "../models/eft/common/tables/ILootBase"; +import { ILooseLoot, SpawnpointTemplate } from "../models/eft/common/ILooseLoot"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { GameEventHelper } from "../helpers/GameEventHelper"; +import { ContainerHelper } from "../helpers/ContainerHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { ConfigServer } from "../servers/ConfigServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { MathUtil } from "../utils/MathUtil"; +import { ObjectId } from "../utils/ObjectId"; +import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; +import { ILogger } from "../models/spt/utils/ILogger"; +export interface IContainerItem { + items: Item[]; + width: number; + height: number; +} +export declare class LocationGenerator { + private logger; + private jsonUtil; + private objectId; + private randomUtil; + private ragfairServerHelper; + private itemHelper; + private mathUtil; + private gameEventHelper; + private containerHelper; + private presetHelper; + private configServer; + private locationConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, gameEventHelper: GameEventHelper, containerHelper: ContainerHelper, presetHelper: PresetHelper, configServer: ConfigServer); + generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record, staticAmmoDist: Record, locationName: string): IStaticContainerProps; + private getLooseLootMultiplerForLocation; + private getStaticLootMultiplerForLocation; + generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record, locationName: string): SpawnpointTemplate[]; + private createItem; + private getRandomCompatibleCaliberTemplateId; + private getRandomValidCaliber; + private drawAmmoTpl; + private createRandomMagCartridges; + private createCartidges; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/PMCLootGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/PMCLootGenerator.d.ts new file mode 100644 index 0000000..601431b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/PMCLootGenerator.d.ts @@ -0,0 +1,14 @@ +import { ItemHelper } from "../helpers/ItemHelper"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +export declare class PMCLootGenerator { + private itemHelper; + private databaseServer; + private configServer; + private pocketLootPool; + private backpackLootPool; + private botConfig; + constructor(itemHelper: ItemHelper, databaseServer: DatabaseServer, configServer: ConfigServer); + generatePMCPocketLootPool(): string[]; + generatePMCBackpackLootPool(): string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/RagfairAssortGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/RagfairAssortGenerator.d.ts new file mode 100644 index 0000000..8b52a90 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/RagfairAssortGenerator.d.ts @@ -0,0 +1,17 @@ +import { Item } from "../models/eft/common/tables/IItem"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +export declare class RagfairAssortGenerator { + private jsonUtil; + private hashUtil; + private itemHelper; + private databaseServer; + private generatedAssortItems; + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer); + getAssortItems(): Item[]; + private assortsAreGenerated; + private generateRagfairAssortItems; + private createRagfairAssortItem; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/RagfairOfferGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/RagfairOfferGenerator.d.ts new file mode 100644 index 0000000..cb2566c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/RagfairOfferGenerator.d.ts @@ -0,0 +1,51 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { SaveServer } from "../servers/SaveServer"; +import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; +import { IBarterScheme } from "../models/eft/common/tables/ITrader"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { Item } from "../models/eft/common/tables/IItem"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { RagfairAssortGenerator } from "./RagfairAssortGenerator"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { RagfairPriceService } from "../services/RagfairPriceService"; +import { FenceService } from "../services/FenceService"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairOfferGenerator { + private logger; + private jsonUtil; + private hashUtil; + private randomUtil; + private timeUtil; + private databaseServer; + private ragfairServerHelper; + private saveServer; + private presetHelper; + private ragfairAssortGenerator; + private ragfairOfferService; + private ragfairPriceService; + private fenceService; + private itemHelper; + private configServer; + private ragfairConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); + createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; + private getTraderId; + private getRating; + private getRatingGrowing; + private getOfferEndTime; + generateDynamicOffers(expiredOffers?: Item[]): void; + generateTraderOffers(traderID: string): void; + private getItemCondition; + private addMissingCondition; + private getOfferRequirements; + /** + * Create a flea offer and store it in the Ragfair server offers array + */ + createFleaOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/generators/WeatherGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/generators/WeatherGenerator.d.ts new file mode 100644 index 0000000..b9faa3a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/generators/WeatherGenerator.d.ts @@ -0,0 +1,19 @@ +import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper"; +import { ConfigServer } from "../servers/ConfigServer"; +import { IWeatherData } from "../models/eft/weather/IWeatherData"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class WeatherGenerator { + private weightedRandomHelper; + private randomUtil; + private timeUtil; + private configServer; + private weatherConfig; + constructor(weightedRandomHelper: WeightedRandomHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); + calculateTime(data: IWeatherData): IWeatherData; + generateWeather(data: IWeatherData): IWeatherData; + private getWeightedFog; + private getWeightedRain; + private getRandomFloat; + private getRandomInt; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/AssortHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/AssortHelper.d.ts new file mode 100644 index 0000000..33cb5c6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/AssortHelper.d.ts @@ -0,0 +1,16 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ItemHelper } from "./ItemHelper"; +import { QuestHelper } from "./QuestHelper"; +export declare class AssortHelper { + private logger; + private itemHelper; + private databaseServer; + private questHelper; + constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, questHelper: QuestHelper); + removeItemFromAssort(assort: ITraderAssort, itemID: string): ITraderAssort; + stripQuestAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort; + stripLoyaltyAssort(pmcProfile: IPmcData, sessionId: string, traderId: string, assort: ITraderAssort): ITraderAssort; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/BotGeneratorHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/BotGeneratorHelper.d.ts new file mode 100644 index 0000000..c3cf4d3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/BotGeneratorHelper.d.ts @@ -0,0 +1,79 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; +import { ModsChances, Mods } from "../models/eft/common/tables/IBotType"; +import { Item, Upd } from "../models/eft/common/tables/IItem"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { DurabilityLimitsHelper } from "../helpers/DurabilityLimitsHelper"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { InventoryHelper } from "./InventoryHelper"; +import { ContainerHelper } from "./ContainerHelper"; +import { ItemHelper } from "./ItemHelper"; +import { ILogger } from "../models/spt/utils/ILogger"; +declare class BotGeneratorHelper { + private logger; + private jsonUtil; + private hashUtil; + private randomUtil; + private databaseServer; + private durabilityLimitsHelper; + private itemHelper; + private inventoryHelper; + private containerHelper; + private configServer; + private botConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, durabilityLimitsHelper: DurabilityLimitsHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, containerHelper: ContainerHelper, configServer: ConfigServer); + generateModsForItem(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem, modSpawnChances: ModsChances, isPmc?: boolean): Item[]; + /** + * With the shotgun revolver (60db29ce99594040e04c4a27) 12.12 introduced CylinderMagazines. + * Those magazines (e.g. 60dc519adf4c47305f6d410d) have a "Cartridges" entry with a _max_count=0. + * 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 {object} items The items where the CylinderMagazine's camora are appended to + * @param {object} modPool modPool which should include available cartrigdes + * @param {string} parentId The CylinderMagazine's UID + * @param {object} parentTemplate The CylinderMagazine's template + */ + private fillCamora; + generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { + "upd"?: Upd; + }; + private getModTplFromItemDb; + isItemIncompatibleWithCurrentItems(items: Item[], tplToCheck: string, equipmentSlot: string): boolean; + /** Adds an item with all its childern into specified equipmentSlots, wherever it fits. + * Returns a `boolean` indicating success. */ + addItemWithChildrenToEquipmentSlot(equipmentSlots: string[], parentId: string, parentTpl: string, itemWithChildren: Item[], inventory: PmcInventory): boolean; + private itemAllowedInContainer; +} +export declare class ExhaustableArray { + private itemPool; + private randomUtil; + private jsonUtil; + private pool; + constructor(itemPool: T[], randomUtil: RandomUtil, jsonUtil: JsonUtil); + getRandomValue(): T; + getFirstValue(): T; + hasValues(): boolean; +} +declare namespace BotGeneratorHelper { + enum EquipmentSlots { + HEADWEAR = "Headwear", + EARPIECE = "Earpiece", + FACE_COVER = "FaceCover", + ARMOR_VEST = "ArmorVest", + EYEWEAR = "Eyewear", + ARM_BAND = "ArmBand", + TACTICAL_VEST = "TacticalVest", + POCKETS = "Pockets", + BACKPACK = "Backpack", + SECURED_CONTAINER = "SecuredContainer", + FIRST_PRIMARY_WEAPON = "FirstPrimaryWeapon", + SECOND_PRIMARY_WEAPON = "SecondPrimaryWeapon", + HOLSTER = "Holster", + SCABBARD = "Scabbard" + } +} +export { BotGeneratorHelper }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/BotHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/BotHelper.d.ts new file mode 100644 index 0000000..032218b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/BotHelper.d.ts @@ -0,0 +1,22 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { Difficulty } from "../models/eft/common/tables/IBotType"; +import { ConfigServer } from "../servers/ConfigServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class BotHelper { + private logger; + private jsonUtil; + private databaseServer; + private randomUtil; + private configServer; + private botConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, configServer: ConfigServer); + getBotDifficultySettings(type: string, difficulty: string): Difficulty; + getPmcDifficultySettings(type: string, difficulty: string): Difficulty; + randomisePmcHostility(difficultySettings: Difficulty): void; + isBotPmc(botRole: string): boolean; + isBotBoss(botRole: string): boolean; + isBotFollower(botRole: string): boolean; + addBotToFriendlyList(difficultySettings: Difficulty, typeToAdd: string): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ContainerHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ContainerHelper.d.ts new file mode 100644 index 0000000..34cd1e4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ContainerHelper.d.ts @@ -0,0 +1,12 @@ +export declare class FindSlotResult { + success: boolean; + x: any; + y: any; + rotation: boolean; + constructor(success?: boolean, x?: any, y?: any, rotation?: boolean); +} +export declare class ContainerHelper { + private locateSlot; + findSlotForItem(container2D: number[][], itemWidth: number, itemHeight: number): FindSlotResult; + fillContainerMapWithItem(container2D: number[][], x: number, y: number, itemW: number, itemH: number, rotate: boolean): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/DialogueHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/DialogueHelper.d.ts new file mode 100644 index 0000000..d8082e4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/DialogueHelper.d.ts @@ -0,0 +1,20 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { ItemHelper } from "./ItemHelper"; +import { Dialogue, MessageContent, MessagePreview, MessageType } from "../models/eft/profile/IAkiProfile"; +import { HashUtil } from "../utils/HashUtil"; +import { NotifierHelper } from "./NotifierHelper"; +import { NotificationSendHelper } from "./NotificationSendHelper"; +export declare class DialogueHelper { + private hashUtil; + private saveServer; + private databaseServer; + private notifierHelper; + private notificationSendHelper; + private itemHelper; + constructor(hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, notificationSendHelper: NotificationSendHelper, itemHelper: ItemHelper); + createMessageContext(templateId: string, messageType: MessageType, maxStoreTime: number): MessageContent; + addDialogueMessage(dialogueID: string, messageContent: MessageContent, sessionID: string, rewards?: any[]): void; + getMessagePreview(dialogue: Dialogue): MessagePreview; + getMessageItemContents(messageID: string, sessionID: string): any[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/DurabilityLimitsHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/DurabilityLimitsHelper.d.ts new file mode 100644 index 0000000..ee8c887 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/DurabilityLimitsHelper.d.ts @@ -0,0 +1,25 @@ +import { ConfigServer } from "../servers/ConfigServer"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { RandomUtil } from "../utils/RandomUtil"; +import { BotHelper } from "./BotHelper"; +export declare class DurabilityLimitsHelper { + private randomUtil; + private botHelper; + private configServer; + private botConfig; + constructor(randomUtil: RandomUtil, botHelper: BotHelper, configServer: ConfigServer); + getRandomisedMaxWeaponDurability(itemTemplate: ITemplateItem, botRole: string): number; + getRandomisedMaxArmorDurability(itemTemplate: ITemplateItem, botRole: string): number; + getRandomisedWeaponDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; + getRandomisedArmorDurability(itemTemplate: ITemplateItem, botRole: string, maxDurability: number): number; + private generateMaxWeaponDurability; + private generateMaxPmcArmorDurability; + private getLowestMaxWeaponFromConfig; + private getHighestMaxWeaponDurabilityFromConfig; + private generateWeaponDurability; + private generateArmorDurability; + private getMinWeaponDeltaFromConfig; + private getMaxWeaponDeltaFromConfig; + private getMinArmorDeltaFromConfig; + private getMaxArmorDeltaFromConfig; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ExtendedProfileHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ExtendedProfileHelper.d.ts new file mode 100644 index 0000000..22ead31 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ExtendedProfileHelper.d.ts @@ -0,0 +1,22 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { FenceService } from "../services/FenceService"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { ItemHelper } from "./ItemHelper"; +import { IWatermark } from "../models/spt/utils/IWatermark"; +import { BotGenerator } from "../generators/BotGenerator"; +import { ProfileHelper } from "./ProfileHelper"; +export declare class ExtendedProfileHelper extends ProfileHelper { + private botGenerator; + constructor(jsonUtil: JsonUtil, watermark: IWatermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator); + generatePlayerScav(sessionID: string): IPmcData; + private getScavSkills; + private removeSecureContainer; + private getDefaultScavSkills; + private getScavStats; + private getScavLevel; + private getScavExperience; + private setScavCooldownTimer; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/GameEventHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/GameEventHelper.d.ts new file mode 100644 index 0000000..8131d31 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/GameEventHelper.d.ts @@ -0,0 +1,9 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class GameEventHelper { + private databaseServer; + constructor(databaseServer: DatabaseServer); + get EVENT(): Record; + get christmasEventItems(): string[]; + itemIsChristmasRelated(itemId: string): boolean; + christmasEventEnabled(): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HandbookHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HandbookHelper.d.ts new file mode 100644 index 0000000..aed6984 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HandbookHelper.d.ts @@ -0,0 +1,33 @@ +declare class LookupItem { + byId: Record; + byParent: Record; + constructor(); +} +export declare class LookupCollection { + items: LookupItem; + categories: LookupItem; + constructor(); +} +export declare class HandbookHelper { + private lookup; + hydrateLookup(lookup: LookupCollection): void; + getTemplatePrice(x: string): number; + templatesWithParent(x: string): string[]; + isCategory(x: string): boolean; + childrenCategories(x: string): string[]; + /** + * Gets Currency to Ruble conversion Value + * @param {number} value + * @param {string} currencyFrom + * @returns number + */ + inRUB(value: number, currencyFrom: string): number; + /** + * Gets Ruble to Currency conversion Value + * @param {number} value + * @param {string} currencyTo + * @returns number + */ + fromRUB(value: number, currencyTo: string): number; +} +export {}; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HealthHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HealthHelper.d.ts new file mode 100644 index 0000000..fb5bed7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HealthHelper.d.ts @@ -0,0 +1,23 @@ +import { SaveServer } from "../servers/SaveServer"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; +import { ConfigServer } from "../servers/ConfigServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class HealthHelper { + private jsonUtil; + private logger; + private timeUtil; + private saveServer; + private configServer; + private healthConfig; + constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); + resetVitality(sessionID: string): IAkiProfile; + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + private saveHealth; + private saveEffects; + private addEffect; + private isEmpty; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HideoutHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HideoutHelper.d.ts new file mode 100644 index 0000000..d60e370 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HideoutHelper.d.ts @@ -0,0 +1,64 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IPmcData, Production, Productive } from "../models/eft/common/IPmcData"; +import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData"; +import { StageBonus } from "../models/eft/hideout/IHideoutArea"; +import { TimeUtil } from "../utils/TimeUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { HashUtil } from "../utils/HashUtil"; +import { ProfileHelper } from "./ProfileHelper"; +import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { PlayerService } from "../services/PlayerService"; +import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData"; +import { InventoryHelper } from "./InventoryHelper"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class HideoutHelper { + private logger; + private hashUtil; + private timeUtil; + private randomUtil; + private databaseServer; + private itemEventRouter; + private httpResponse; + private profileHelper; + private inventoryHelper; + private playerService; + private configServer; + static BITCOIN_FARM: string; + private WATER_COLLECTOR; + private BITCOIN; + private EXPEDITIONARY_FUEL_TANK; + static NAME_BACKENDCOUNTERS_CRAFTING: string; + static SKILL_NAME_HIDEOUT: string; + static HOUR_FOR_SKILL_CRAFTING: number; + static SKILL_NAME_CRAFITING: string; + private hideoutConfig; + constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, inventoryHelper: InventoryHelper, playerService: PlayerService, configServer: ConfigServer); + registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + /** + * This convinience function intialies new Production Object + * with all the constants. + */ + initProduction(recipeId: string, productionTime: number): Production; + isProductionType(productive: Productive): productive is Production; + applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void; + private applySkillXPBoost; + updatePlayerHideout(sessionID: string): void; + private updateFuel; + private updateWaterFilters; + private getAreaUpdObject; + private updateAirFilters; + private updateBitcoinFarm; + private getBTCSlots; + private getManagementSkillsSlots; + private hasManagementSkillSlots; + private getHideoutManagementSkill; + private getHideoutManagementConsumptionBonus; + isProduction(productive: Productive): productive is Production; + getBTC(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + getRandomAmountRewardForScavCase(itemToCalculate: ITemplateItem): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HttpServerHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HttpServerHelper.d.ts new file mode 100644 index 0000000..2e40814 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/HttpServerHelper.d.ts @@ -0,0 +1,12 @@ +import { ConfigServer } from "../servers/ConfigServer"; +export declare class HttpServerHelper { + private configServer; + private httpConfig; + private mime; + constructor(configServer: ConfigServer); + getMimeText(key: string): string; + buildUrl(): string; + getBackendUrl(): string; + getWebsocketUrl(): string; + sendTextJson(resp: any, output: any): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/InRaidHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/InRaidHelper.d.ts new file mode 100644 index 0000000..e79d384 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/InRaidHelper.d.ts @@ -0,0 +1,33 @@ +import { IPmcData, Victim } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { InventoryHelper } from "./InventoryHelper"; +import { PaymentHelper } from "./PaymentHelper"; +export declare class InRaidHelper { + private logger; + private saveServer; + private jsonUtil; + private databaseServer; + private inventoryHelper; + private paymentHelper; + constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); + private removePlayer; + private removeMapAccessKey; + addUpdToMoneyFromRaid(items: Item[]): void; + /** + * Add positive karma for PMC kills + * @param {*} existingFenceStanding + * @param {*} victims + */ + calculateFenceStandingChangeFromKills(existingFenceStanding: number, victims: Victim[]): void; + setBaseStats(profileData: IPmcData, offraidData: ISaveProgressRequestData, sessionID: string): IPmcData; + markFoundItems(pmcData: IPmcData, profile: IPmcData, isPlayerScav: boolean): IPmcData; + removeFoundInRaidStatusFromItems(profile: IPmcData): IPmcData; + setInventory(sessionID: string, pmcData: IPmcData, profile: IPmcData): IPmcData; + deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData; + getPlayerGear(items: Item[]): Item[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/InventoryHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/InventoryHelper.d.ts new file mode 100644 index 0000000..4b3460c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/InventoryHelper.d.ts @@ -0,0 +1,76 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { FenceService } from "../services/FenceService"; +import { ContainerHelper } from "./ContainerHelper"; +import { ItemHelper } from "./ItemHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { ProfileHelper } from "./ProfileHelper"; +import { DialogueHelper } from "./DialogueHelper"; +import { HashUtil } from "../utils/HashUtil"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData"; +import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData"; +import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { TraderAssortHelper } from "./TraderAssortHelper"; +export interface OwnerInventoryItems { + from: Item[]; + to: Item[]; + sameInventory: boolean; + isMail: boolean; +} +export declare class InventoryHelper { + private logger; + private jsonUtil; + private hashUtil; + private httpResponse; + private fenceService; + private databaseServer; + private paymentHelper; + private traderAssortHelper; + private dialogueHelper; + private itemHelper; + private containerHelper; + private profileHelper; + private configServer; + private inventoryConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, httpResponse: HttpResponseUtil, fenceService: FenceService, databaseServer: DatabaseServer, paymentHelper: PaymentHelper, traderAssortHelper: TraderAssortHelper, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, containerHelper: ContainerHelper, profileHelper: ProfileHelper, configServer: ConfigServer); + addItem(pmcData: IPmcData, body: any, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse; + removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse; + getItemSize(itemTpl: string, itemID: string, inventoryItem: Item[]): Record; + private getSizeByInventoryItemHash; + private getInventoryItemHash; + getContainerMap(containerW: number, containerH: number, itemList: Item[], containerId: string): number[][]; + /** + * Based on the item action, determine whose inventories we should be looking at for from and to. + */ + getOwnerInventoryItems(body: IInventoryMoveRequestData | IInventorySplitRequestData | IInventoryMergeRequestData, sessionID: string): OwnerInventoryItems; + /** + * Made a 2d array table with 0 - free slot and 1 - used slot + * @param {Object} pmcData + * @param {string} sessionID + * @returns Array + */ + private getStashSlotMap; + private getStashType; + private getPlayerStashSize; + /** + * Internal helper function to transfer an item from one profile to another. + * fromProfileData: Profile of the source. + * toProfileData: Profile of the destination. + * body: Move request + */ + moveItemToProfile(fromItems: Item[], toItems: Item[], body: IInventoryMoveRequestData): void; + /** + * Internal helper function to move item within the same profile_f. + */ + moveItemInternal(inventoryItems: Item[], body: IInventoryMoveRequestData): void; + /** + * Internal helper function to handle cartridges in inventory if any of them exist. + */ + private handleCartridges; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ItemHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ItemHelper.d.ts new file mode 100644 index 0000000..8c1175a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ItemHelper.d.ts @@ -0,0 +1,236 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; +import { ITemplateItem, StackSlot } from "../models/eft/common/tables/ITemplateItem"; +import { Item } from "../models/eft/common/tables/IItem"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +declare class ItemHelper { + private logger; + private hashUtil; + private jsonUtil; + private databaseServer; + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer); + /** + * Checks if a id is a valid item. Valid meaning that it's an item that be stored in stash + * @param {string} tpl the template id / tpl + * @returns boolean; true for items that may be in player posession and not quest items + */ + isValidItem(tpl: string, invalidBaseTypes?: string[]): boolean; + /** + * Checks if a id is a valid item. Valid meaning that it's an item that may be a reward + * or content of bot loot. Items that are tested as valid may be in a player backpack or stash. + * @param {*} tpl template id of item to check + * @returns boolean: true if item is valid reward + */ + isValidRewardItem(tpl: string): boolean; + /** + * Picks rewardable items from items.json. This means they need to fit into the inventory and they shouldn't be keys (debatable) + * @returns a list of rewardable items [[_tpl, itemTemplate],...] + */ + getRewardableItems(): [string, ITemplateItem][]; + /** + * Check if the tpl / template Id provided is a descendent of the baseclass + * + * @param {string} tpl the item template id to check + * @param {string} baseclassTpl the baseclass to check for + * @return {boolean} is the tpl a descendent? + */ + isOfBaseclass(tpl: string, baseclassTpl: string): any; + /** + * Returns the item price based on the handbook or as a fallback from the prices.json if the item is not + * found in the handbook. If the price can't be found at all return 0 + * + * @param {string} tpl the item template to check + * @returns {integer} The price of the item or 0 if not found + */ + getItemPrice(tpl: string): number; + fixItemStackCount(item: Item): Item; + /** + * AmmoBoxes contain StackSlots which need to be filled for the AmmoBox to have content. + * Here's what a filled AmmoBox looks like: + * { + * "_id": "b1bbe982daa00ac841d4ae4d", + * "_tpl": "57372c89245977685d4159b1", + * "parentId": "5fe49a0e2694b0755a504876", + * "slotId": "hideout", + * "location": { + * "x": 3, + * "y": 4, + * "r": 0 + * }, + * "upd": { + * "StackObjectsCount": 1 + * } + * }, + * { + * "_id": "b997b4117199033afd274a06", + * "_tpl": "56dff061d2720bb5668b4567", + * "parentId": "b1bbe982daa00ac841d4ae4d", + * "slotId": "cartridges", + * "location": 0, + * "upd": { + * "StackObjectsCount": 30 + * } + * } + * Given the AmmoBox Item (first object) this function generates the StackSlot (second object) and returns it. + * StackSlots are only used for AmmoBoxes which only have one element in StackSlots. However, it seems to be generic + * to possibly also have more than one StackSlot. As good as possible, without seeing items having more than one + * StackSlot, this function takes account of this and creates and returns an array of StackSlotItems + * + * @param {object} item The item template of the AmmoBox as given in items.json + * @param {string} parentId The id of the AmmoBox instance these StackSlotItems should be children of + * @returns {array} The array of StackSlotItems + */ + generateStackSlotItems(item: ITemplateItem, parentId: string): StackSlot[]; + getItem(tpl: string): [boolean, ITemplateItem]; + getItemQualityModifier(item: Item): number; + findAndReturnChildrenByItems(items: Item[], itemID: string): string[]; + /** + * A variant of findAndReturnChildren where the output is list of item objects instead of their ids. + */ + findAndReturnChildrenAsItems(items: Item[], baseItemId: string): Item[]; + /** + * find children of the item in a given assort (weapons parts for example, need recursive loop function) + */ + findAndReturnChildrenByAssort(itemIdToFind: string, assort: Item[]): Item[]; + hasBuyRestrictions(itemToCheck: Item): boolean; + /** + * Is Dogtag + * Checks if an item is a dogtag. Used under profile_f.js to modify preparePrice based + * on the level of the dogtag + */ + isDogtag(tpl: string): boolean; + isNotSellable(tpl: string): boolean; + getChildId(item: Item): string; + isItemTplStackable(tpl: string): boolean; + /** + * split item stack if it exceeds StackMaxSize + */ + splitStack(item: Item): Item[]; + /** + * Find Barter items in the inventory + * @param {string} by + * @param {Object} pmcData + * @param {string} barter_itemID + * @returns Array + */ + findBarterItems(by: string, pmcData: IPmcData, barter_itemID: string): any[]; + /** + * @param {Object} pmcData + * @param {Array} items + * @param {Object} fastPanel + * @returns Array + */ + replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[]; + /** + * Recursivly loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do + * @param {string} tpl + * @param {Array} tplsToCheck + * @returns boolean + */ + doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean; + /** + * Return true if item is a quest item + * @param {string} tpl + * @returns boolean + */ + isQuestItem(tpl: string): boolean; + getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize; +} +declare namespace ItemHelper { + enum BaseClasses { + WEAPON = "5422acb9af1c889c16000029", + ARMOR = "5448e54d4bdc2dcc718b4568", + VEST = "5448e5284bdc2dcb718b4567", + BACKPACK = "5448e53e4bdc2d60728b4567", + VISORS = "5448e5724bdc2ddf718b4568", + FOOD = "5448e8d04bdc2ddf718b4569", + DRINK = "5448e8d64bdc2dce718b4568", + BARTER_ITEM = "5448eb774bdc2d0a728b4567", + INFO = "5448ecbe4bdc2d60728b4568", + MEDKIT = "5448f39d4bdc2d0a728b4568", + DRUGS = "5448f3a14bdc2d27728b4569", + STIMULATOR = "5448f3a64bdc2d60728b456a", + MEDICAL = "5448f3ac4bdc2dce718b4569", + MEDICAL_SUPPLIES = "57864c8c245977548867e7f1", + MOD = "5448fe124bdc2da5018b4567", + FUNCTIONAL_MOD = "550aa4154bdc2dd8348b456b", + FUEL = "5d650c3e815116009f6201d2", + GEAR_MOD = "55802f3e4bdc2de7118b4584", + STOCK = "55818a594bdc2db9688b456a", + FOREGRIP = "55818af64bdc2d5b648b4570", + MASTER_MOD = "55802f4a4bdc2ddb688b4569", + MOUNT = "55818b224bdc2dde698b456f", + MUZZLE = "5448fe394bdc2d0d028b456c", + SIGHTS = "5448fe7a4bdc2d6f028b456b", + MEDS = "543be5664bdc2dd4348b4569", + MONEY = "543be5dd4bdc2deb348b4569", + KEY = "543be5e94bdc2df1348b4568", + KEY_MECHANICAL = "5c99f98d86f7745c314214b3", + KEYCARD = "5c164d2286f774194c5e69fa", + EQUIPMENT = "543be5f84bdc2dd4348b456a", + THROW_WEAPON = "543be6564bdc2df4348b4568", + FOOD_DRINK = "543be6674bdc2df1348b4569", + PISTOL = "5447b5cf4bdc2d65278b4567", + SMG = "5447b5e04bdc2d62278b4567", + ASSAULT_RIFLE = "5447b5f14bdc2d61278b4567", + ASSAULT_CARBINE = "5447b5fc4bdc2d87278b4567", + SHOTGUN = "5447b6094bdc2dc3278b4567", + MARKSMAN_RIFLE = "5447b6194bdc2d67278b4567", + SNIPER_RIFLE = "5447b6254bdc2dc3278b4568", + MACHINE_GUN = "5447bed64bdc2d97278b4568", + GRENADE_LAUNCHER = "5447bedf4bdc2d87278b4568", + SPECIAL_WEAPON = "5447bee84bdc2dc3278b4569", + SPEC_ITEM = "5447e0e74bdc2d3c308b4567", + KNIFE = "5447e1d04bdc2dff2f8b4567", + AMMO = "5485a8684bdc2da71d8b4567", + AMMO_BOX = "543be5cb4bdc2deb348b4568", + LOOT_CONTAINER = "566965d44bdc2d814c8b4571", + MOD_CONTAINER = "5448bf274bdc2dfc2f8b456a", + SEARCHABLE_ITEM = "566168634bdc2d144c8b456c", + STASH = "566abbb64bdc2d144c8b457d", + SORTING_TABLE = "6050cac987d3f925bf016837", + LOCKABLE_CONTAINER = "5671435f4bdc2d96058b4569", + SIMPLE_CONTAINER = "5795f317245977243854e041", + INVENTORY = "55d720f24bdc2d88028b456d", + STATIONARY_CONTAINER = "567583764bdc2d98058b456e", + POCKETS = "557596e64bdc2dc2118b4571", + ARMBAND = "5b3f15d486f77432d0509248", + DOG_TAG_USEC = "59f32c3b86f77472a31742f0", + DOG_TAG_BEAR = "59f32bb586f774757e1e8442", + JEWELRY = "57864a3d24597754843f8721", + ELECTRONICS = "57864a66245977548f04a81f", + BUILDING_MATERIAL = "57864ada245977548638de91", + TOOL = "57864bb7245977548b3b66c2", + HOUSEHOLD_GOODS = "57864c322459775490116fbf", + LUBRICANT = "57864e4c24597754843f8723", + BATTERY = "57864ee62459775490116fc1", + ASSAULT_SCOPE = "55818add4bdc2d5b648b456f", + REFLEX_SIGHT = "55818ad54bdc2ddc698b4569", + TACTICAL_COMBO = "55818b164bdc2ddc698b456c", + MAGAZINE = "5448bc234bdc2d3c308b4569", + LIGHT_LASER = "55818b0e4bdc2dde698b456e", + FLASH_HIDER = "550aa4bf4bdc2dd6348b456b", + COLLIMATOR = "55818ad54bdc2ddc698b4569", + COMPACT_COLLIMATOR = "55818acf4bdc2dde698b456b", + COMPENSATOR = "550aa4af4bdc2dd4348b456e", + OPTIC_SCOPE = "55818ae44bdc2dde698b456c", + SPECIAL_SCOPE = "55818aeb4bdc2ddc698b456a", + OTHER = "590c745b86f7743cc433c5f2", + SILENCER = "550aa4cd4bdc2dd8348b456c", + PORTABLE_RANGE_FINDER = "61605ddea09d851a0a0c1bbc", + ITEM = "54009119af1c881c07000029", + CYLINDER_MAGAZINE = "610720f290b75a49ff2e5e25" + } + interface ItemSize { + width: number; + height: number; + } + enum Money { + ROUBLES = "5449016a4bdc2d6f028b456f", + EUROS = "569668774bdc2da2298b4568", + DOLLARS = "5696686a4bdc2da3298b456a" + } +} +export { ItemHelper }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/NotificationSendHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/NotificationSendHelper.d.ts new file mode 100644 index 0000000..b9298da --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/NotificationSendHelper.d.ts @@ -0,0 +1,12 @@ +import { INotification } from "../models/eft/notifier/INotifier"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +import { NotificationService } from "../services/NotificationService"; +export declare class NotificationSendHelper { + private httpServer; + private notificationService; + constructor(httpServer: IHttpServer, notificationService: NotificationService); + /** + * Send notification message to the appropiate channel + */ + sendMessage(sessionID: string, notificationMessage: INotification): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/NotifierHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/NotifierHelper.d.ts new file mode 100644 index 0000000..0d524e9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/NotifierHelper.d.ts @@ -0,0 +1,17 @@ +import { INotification } from "../models/eft/notifier/INotifier"; +import { Message, MessageContentRagfair } from "../models/eft/profile/IAkiProfile"; +import { HttpServerHelper } from "./HttpServerHelper"; +export declare class NotifierHelper { + private httpServerHelper; + /** + * The default notification sent when waiting times out. + */ + private defaultNotification; + constructor(httpServerHelper: HttpServerHelper); + getDefaultNotification(): INotification; + /** Creates a new notification that displays the "Your offer was sold!" prompt and removes sold offer from "My Offers" on clientside */ + createRagfairOfferSoldNotification(dialogueMessage: Message, ragfairData: MessageContentRagfair): INotification; + /** Creates a new notification with the specified dialogueMessage object. */ + createNewMessageNotification(dialogueMessage: Message): INotification; + getWebSocketServer(sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/PaymentHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/PaymentHelper.d.ts new file mode 100644 index 0000000..2d068a4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/PaymentHelper.d.ts @@ -0,0 +1,14 @@ +export declare class PaymentHelper { + /** + * Check whether tpl is Money + * @param {string} tpl + * @returns void + */ + isMoneyTpl(tpl: string): boolean; + /** + * Gets currency TPL from TAG + * @param {string} currency + * @returns string + */ + getCurrency(currency: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/PresetHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/PresetHelper.d.ts new file mode 100644 index 0000000..0a24128 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/PresetHelper.d.ts @@ -0,0 +1,14 @@ +import { Preset } from "../models/eft/common/IGlobals"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class PresetHelper { + private databaseServer; + private lookup; + constructor(databaseServer: DatabaseServer); + hydratePresetStore(input: Record): void; + isPreset(id: string): boolean; + hasPreset(templateId: string): boolean; + getPreset(id: string): Preset; + getPresets(templateId: string): Preset[]; + getDefaultPreset(templateId: string): Preset; + getBaseItemTpl(presetId: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ProfileHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ProfileHelper.d.ts new file mode 100644 index 0000000..515e55e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/ProfileHelper.d.ts @@ -0,0 +1,33 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { FenceService } from "../services/FenceService"; +import { IPmcData, Stats } from "../models/eft/common/IPmcData"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { ItemHelper } from "./ItemHelper"; +import { IWatermark } from "../models/spt/utils/IWatermark"; +export declare class ProfileHelper { + protected jsonUtil: JsonUtil; + protected watermark: IWatermark; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected databaseServer: DatabaseServer; + protected itemHelper: ItemHelper; + protected fenceService: FenceService; + constructor(jsonUtil: JsonUtil, watermark: IWatermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService); + resetProfileQuestCondition(sessionID: string, conditionId: string): void; + getCompleteProfile(sessionID: string): IPmcData[]; + isNicknameTaken(info: IValidateNicknameRequestData, sessionID: string): boolean; + getProfileByPmcId(pmcId: string): IPmcData; + getExperience(level: number): number; + getMaxLevel(): number; + getDefaultAkiDataObject(): any; + getFullProfile(sessionID: string): IAkiProfile; + getPmcProfile(sessionID: string): IPmcData; + getScavProfile(sessionID: string): IPmcData; + getDefaultCounters(): Stats; + private isWiped; + private getServerVersion; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/QuestConditionHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/QuestConditionHelper.d.ts new file mode 100644 index 0000000..2a0ee94 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/QuestConditionHelper.d.ts @@ -0,0 +1,7 @@ +import { AvailableForConditions } from "../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[]; + getLoyaltyConditions(q: AvailableForConditions[], furtherFilter?: (a: AvailableForConditions) => AvailableForConditions[]): AvailableForConditions[]; + private filterConditions; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/QuestHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/QuestHelper.d.ts new file mode 100644 index 0000000..3474884 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/QuestHelper.d.ts @@ -0,0 +1,68 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { ItemHelper } from "./ItemHelper"; +import { ProfileHelper } from "./ProfileHelper"; +import { DialogueHelper } from "./DialogueHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { TraderHelper } from "./TraderHelper"; +import { IPmcData, Quest } from "../models/eft/common/IPmcData"; +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 { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData"; +import { ConfigServer } from "../servers/ConfigServer"; +import { RagfairServerHelper } from "./RagfairServerHelper"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class QuestHelper { + private logger; + private jsonUtil; + private timeUtil; + private hashUtil; + private itemHelper; + private itemEventRouter; + private databaseServer; + private ragfairServerHelper; + private dialogueHelper; + private profileHelper; + private paymentHelper; + private traderHelper; + private configServer; + private questConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); + static get STATUS(): Record; + questStatus(pmcData: IPmcData, questID: string): string; + /** + * returns true is the condition is satisfied + */ + evaluateLevel(pmcProfile: IPmcData, cond: AvailableForConditions): boolean; + getDeltaQuests(before: IQuest[], after: IQuest[]): IQuest[]; + rewardSkillPoints(sessionID: string, pmcData: IPmcData, output: IItemEventRouterResponse, skillName: string, progress: number): void; + getQuestLocale(questId: string): any; + /** + * Debug Routine for showing some information on the + * quest list in question. + */ + dumpQuests(quests: any, label?: any): void; + loyaltyRequirementCheck(loyaltyRequirementProperties: AvailableForProps, profile: IPmcData): boolean; + private processReward; + getQuestRewardItems(quest: IQuest, state: string): Reward[]; + addQuestToPMCData(pmcData: IPmcData, quest: Quest, newState: string, acceptedQuest: IAcceptQuestRequestData): void; + acceptedUnlocked(acceptedQuestId: string, sessionID: string): IQuest[]; + failedUnlocked(failedQuestId: string, sessionID: string): IQuest[]; + applyMoneyBoost(quest: IQuest, moneyBoost: number): IQuest; + changeItemStack(pmcData: IPmcData, id: string, value: number, sessionID: string, output: any): void; + /** + * Get List of All Quests as an array + */ + questValues(): IQuest[]; + private cleanQuestList; + cleanQuestConditions(quest: IQuest): IQuest; + failQuest(pmcData: IPmcData, body: any, sessionID: string): any; + getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; + getQuestLocaleIdFromDb(messageId: string, localisation?: string): string; + applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): any[]; + getFindItemIdForQuestItem(itemTpl: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairHelper.d.ts new file mode 100644 index 0000000..2bce4a6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairHelper.d.ts @@ -0,0 +1,43 @@ +import { JsonUtil } from "../utils/JsonUtil"; +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 { DatabaseServer } from "../servers/DatabaseServer"; +import { HandbookHelper } from "./HandbookHelper"; +import { ItemHelper } from "./ItemHelper"; +import { RagfairLinkedItemService } from "../services/RagfairLinkedItemService"; +import { UtilityHelper } from "./UtilityHelper"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { TraderAssortHelper } from "./TraderAssortHelper"; +export declare class RagfairHelper { + private logger; + private jsonUtil; + private traderAssortHelper; + private databaseServer; + private handbookHelper; + private itemHelper; + private ragfairLinkedItemService; + private utilityHelper; + private configServer; + private ragfairConfig; + 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 + */ + getCurrencyTag(currency: string): string; + filterCategories(sessionID: string, info: ISearchRequestData): string[]; + getDisplayableAssorts(sessionID: string): Record; + private getCategoryList; + countCategories(result: IGetOffersResult): void; + /** + * Merges Root Items + * Ragfair allows abnormally large stacks. + */ + mergeStackable(items: Item[]): Item[]; + getCurrencySymbol(currencyTpl: string): string; + formatCurrency(moneyAmount: number): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairOfferHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairOfferHelper.d.ts new file mode 100644 index 0000000..da3ceb8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairOfferHelper.d.ts @@ -0,0 +1,49 @@ +import { HashUtil } from "../utils/HashUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { DialogueHelper } from "./DialogueHelper"; +import { ItemHelper } from "./ItemHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { PresetHelper } from "./PresetHelper"; +import { ProfileHelper } from "./ProfileHelper"; +import { RagfairServerHelper } from "./RagfairServerHelper"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { RagfairSortHelper } from "./RagfairSortHelper"; +import { RagfairHelper } from "./RagfairHelper"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairOfferHelper { + private logger; + private timeUtil; + private hashUtil; + private itemEventRouter; + private databaseServer; + private saveServer; + private dialogueHelper; + private itemHelper; + private paymentHelper; + private presetHelper; + private profileHelper; + private ragfairServerHelper; + private ragfairSortHelper; + private ragfairHelper; + private ragfairOfferService; + private configServer; + private static TPL_GOODS_SOLD; + private ragfairConfig; + private questConfig; + constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); + getValidOffers(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; + getOffersForBuild(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, pmcProfile: IPmcData): IRagfairOffer[]; + processOffers(sessionID: string): boolean; + private getProfileOffers; + private deleteOfferByOfferId; + private completeOffer; + isDisplayableOffer(info: ISearchRequestData, itemsToAdd: string[], assorts: Record, offer: IRagfairOffer, pmcProfile: IPmcData): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairSellHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairSellHelper.d.ts new file mode 100644 index 0000000..929d112 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairSellHelper.d.ts @@ -0,0 +1,15 @@ +import { SellResult } from "../models/eft/ragfair/IRagfairOffer"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class RagfairSellHelper { + private logger; + private randomUtil; + private timeUtil; + private configServer; + private ragfairConfig; + constructor(logger: ILogger, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer); + calculateSellChance(baseChance: number, offerPrice: number, requirementsPriceInRub: number): number; + rollForSale(sellChance: number, count: number): SellResult[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairServerHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairServerHelper.d.ts new file mode 100644 index 0000000..9a26261 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairServerHelper.d.ts @@ -0,0 +1,39 @@ +import { SaveServer } from "../servers/SaveServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { ItemHelper } from "./ItemHelper"; +import { ProfileHelper } from "./ProfileHelper"; +import { MemberCategory } from "../models/eft/common/MemberCategory"; +import { ConfigServer } from "../servers/ConfigServer"; +import { RandomUtil } from "../utils/RandomUtil"; +import { DialogueHelper } from "./DialogueHelper"; +import { Item } from "../models/eft/common/tables/IItem"; +import { JsonUtil } from "../utils/JsonUtil"; +import { HashUtil } from "../utils/HashUtil"; +export declare class RagfairServerHelper { + private randomUtil; + private hashUtil; + private saveServer; + private databaseServer; + private profileHelper; + private itemHelper; + private dialogueHelper; + private jsonUtil; + private configServer; + private ragfairConfig; + private questConfig; + private static TPL_GOODS_RETURNED; + constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); + isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean; + isItemBlacklisted(itemTemplateId: string): boolean; + isTrader(userID: string): boolean; + isPlayer(userID: string): boolean; + returnItems(sessionID: string, items: any[]): void; + calculateDynamicStackCount(tplId: string, isWeaponPreset: boolean): number; + getDynamicOfferCurrency(): string; + getMemberType(userID: string): MemberCategory; + getNickname(userID: string): string; + getPresetItems(item: any): Item[]; + getPresetItemsByTpl(item: Item): Item[]; + reparentPresets(item: Item, preset: Item[]): Item[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairSortHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairSortHelper.d.ts new file mode 100644 index 0000000..e9d8069 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairSortHelper.d.ts @@ -0,0 +1,12 @@ +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class RagfairSortHelper { + private databaseServer; + constructor(databaseServer: DatabaseServer); + sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; + private sortOffersByID; + private sortOffersByRating; + private sortOffersByName; + private sortOffersByPrice; + private sortOffersByExpiry; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairTaxHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairTaxHelper.d.ts new file mode 100644 index 0000000..e87334f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RagfairTaxHelper.d.ts @@ -0,0 +1,15 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { RagfairPriceService } from "../services/RagfairPriceService"; +import { ItemHelper } from "./ItemHelper"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairTaxHelper { + private logger; + private databaseServer; + private ragfairPriceService; + private itemHelper; + constructor(logger: ILogger, databaseServer: DatabaseServer, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper); + calculateTax(item: Item, pmcData: IPmcData, requirementsValue: number, offerItemCount: number, sellInOnePiece: boolean): number; + private calculateItemWorth; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RepairHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RepairHelper.d.ts new file mode 100644 index 0000000..d11d0d2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/RepairHelper.d.ts @@ -0,0 +1,20 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ConfigServer } from "../servers/ConfigServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RepairHelper { + private logger; + private jsonUtil; + private randomUtil; + private databaseServer; + private configServer; + private repairConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, configServer: ConfigServer); + updateItemDurability(itemToRepairId: string, amountToRepair: number, pmcData: IPmcData, useRepairKit?: boolean): Item; + private getRandomisedArmorRepairDegredationValue; + private getRandomisedWeaponRepairDegredationValue; + isWeaponTemplate(tpl: string): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/SecureContainerHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/SecureContainerHelper.d.ts new file mode 100644 index 0000000..8f246b6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/SecureContainerHelper.d.ts @@ -0,0 +1,13 @@ +import { Item } from "../models/eft/common/tables/IItem"; +import { ItemHelper } from "./ItemHelper"; +export interface OwnerInventoryItems { + from: Item[]; + to: Item[]; + sameInventory: boolean; + isMail: boolean; +} +export declare class SecureContainerHelper { + private itemHelper; + constructor(itemHelper: ItemHelper); + getSecureContainerItems(items: Item[]): string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TradeHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TradeHelper.d.ts new file mode 100644 index 0000000..0712ff4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TradeHelper.d.ts @@ -0,0 +1,31 @@ +import { RagfairServer } from "../servers/RagfairServer"; +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { FenceService } from "../services/FenceService"; +import { PaymentService } from "../services/PaymentService"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; +import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { Upd } from "../models/eft/common/tables/IItem"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class TradeHelper { + private logger; + private itemEventRouter; + private traderHelper; + private itemHelper; + private paymentService; + private fenceService; + private inventoryHelper; + private ragfairServer; + constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer); + buyItem(pmcData: IPmcData, buyRequestData: IProcessBuyTradeRequestData, sessionID: string, foundInRaid: boolean, upd: Upd): IItemEventRouterResponse; + /** + * Selling item to trader + */ + sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse; + private incrementAssortBuyCount; + private checkPurchaseIsWithinTraderItemLimit; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TraderAssortHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TraderAssortHelper.d.ts new file mode 100644 index 0000000..d95879c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TraderAssortHelper.d.ts @@ -0,0 +1,23 @@ +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; +import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { FenceService } from "../services/FenceService"; +import { TraderAssortService } from "../services/TraderAssortService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { AssortHelper } from "./AssortHelper"; +import { ProfileHelper } from "./ProfileHelper"; +export declare class TraderAssortHelper { + private logger; + private jsonUtil; + private databaseServer; + private profileHelper; + private assortHelper; + private ragfairAssortGenerator; + private ragfairOfferGenerator; + private traderAssortService; + private fenceService; + constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); + getAssort(sessionId: string, traderId: string): ITraderAssort; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TraderHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TraderHelper.d.ts new file mode 100644 index 0000000..5440afe --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/TraderHelper.d.ts @@ -0,0 +1,35 @@ +import { SaveServer } from "../servers/SaveServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { PlayerService } from "../services/PlayerService"; +import { HandbookHelper } from "./HandbookHelper"; +import { ItemHelper } from "./ItemHelper"; +import { ProfileHelper } from "./ProfileHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { FenceService } from "../services/FenceService"; +import { IBarterScheme, ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class TraderHelper { + private logger; + private databaseServer; + private saveServer; + private profileHelper; + private paymentHelper; + private itemHelper; + private handbookHelper; + private playerService; + private fenceService; + private configServer; + private traderConfig; + constructor(logger: ILogger, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemHelper: ItemHelper, handbookHelper: HandbookHelper, playerService: PlayerService, fenceService: FenceService, configServer: ConfigServer); + getTrader(traderID: string, sessionID: string): ITraderBase; + getTraderAssortsById(traderId: string): ITraderAssort; + resetTrader(sessionID: string, traderID: string): void; + changeTraderDisplay(traderID: string, status: boolean, sessionID: string): void; + getPurchasesData(traderID: string, sessionID: string): Record; + lvlUp(traderID: string, sessionID: string): void; + getTraderUpdateSeconds(traderId: string): number; + traderFilter(traderFilters: string[], tplToCheck: string): boolean; + getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/UtilityHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/UtilityHelper.d.ts new file mode 100644 index 0000000..5d9f482 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/UtilityHelper.d.ts @@ -0,0 +1,3 @@ +export declare class UtilityHelper { + arrayIntersect(a: T[], b: T[]): T[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/helpers/WeightedRandomHelper.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/WeightedRandomHelper.d.ts new file mode 100644 index 0000000..9aa0d29 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/helpers/WeightedRandomHelper.d.ts @@ -0,0 +1,28 @@ +export declare class WeightedRandomHelper { + /** + * Gets a tplId from a weighted dictionary + * @param {tplId: weighting[]} itemArray + * @returns tplId + */ + getWeightedInventoryItem(itemArray: { + [tplId: string]: unknown; + } | ArrayLike): string; + /** + * Picks the random item based on its weight. + * The items with higher weight will be picked more often (with a higher probability). + * + * For example: + * - items = ['banana', 'orange', 'apple'] + * - weights = [0, 0.2, 0.8] + * - weightedRandom(items, weights) in 80% of cases will return 'apple', in 20% of cases will return + * 'orange' and it will never return 'banana' (because probability of picking the banana is 0%) + * + * @param {any[]} items + * @param {number[]} weights + * @returns {{item: any, index: number}} + */ + weightedRandom(items: string | any[], weights: string | any[]): { + item: any; + index: number; + }; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/ide/Compiler.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/ide/Compiler.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/ide/Compiler.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/ide/DebugEntry.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/ide/DebugEntry.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/ide/DebugEntry.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/ide/ReleaseEntry.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/ide/ReleaseEntry.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/ide/ReleaseEntry.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/ide/TestEntry.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/ide/TestEntry.d.ts new file mode 100644 index 0000000..fded23a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/ide/TestEntry.d.ts @@ -0,0 +1 @@ +import "reflect-metadata"; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/loaders/BundleLoader.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/loaders/BundleLoader.d.ts new file mode 100644 index 0000000..9abfe9f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/loaders/BundleLoader.d.ts @@ -0,0 +1,22 @@ +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +declare class BundleInfo { + private httpServerHelper; + key: string; + path: string; + filepath: string; + dependencyKeys: string[]; + constructor(modpath: string, bundle: any, httpServerHelper: HttpServerHelper); +} +export declare class BundleLoader { + private httpServerHelper; + private vfs; + private jsonUtil; + private bundles; + constructor(httpServerHelper: HttpServerHelper, vfs: VFS, jsonUtil: JsonUtil); + getBundles(local: boolean): BundleInfo[]; + getBundle(key: string, local: boolean): BundleInfo; + addBundles(modpath: string): void; +} +export {}; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/loaders/DelayedModLoader.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/loaders/DelayedModLoader.d.ts new file mode 100644 index 0000000..db86c75 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/loaders/DelayedModLoader.d.ts @@ -0,0 +1,22 @@ +import { DependencyContainer } from 'tsyringe'; +import { VFS } from "../utils/VFS"; +import { InitialModLoader } from "./InitialModLoader"; +import { BundleLoader } from "./BundleLoader"; +import { HandbookController } from "../controllers/HandbookController"; +import { IModLoader } from "../models/spt/mod/IModLoader"; +import { ModCompilerService } from "../services/ModCompilerService"; +export declare class DelayedModLoader implements IModLoader { + private bundleLoader; + private handbookController; + private vfs; + private modCompilerService; + private initialModLoader; + constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, initialModLoader: InitialModLoader); + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + getImportedModsNames(): string[]; + getModPath(mod: string): string; + load(container: DependencyContainer): void; + private executeMods; + private addBundles; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/loaders/InitialModLoader.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/loaders/InitialModLoader.d.ts new file mode 100644 index 0000000..35503c8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/loaders/InitialModLoader.d.ts @@ -0,0 +1,38 @@ +import { DependencyContainer } from "tsyringe"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ModCompilerService } from "../services/ModCompilerService"; +import { HashCacheService } from "../services/HashCacheService"; +import { IModLoader } from "../models/spt/mod/IModLoader"; +export declare class InitialModLoader implements IModLoader { + private logger; + private vfs; + private jsonUtil; + private modCompilerService; + private hashCacheService; + private configServer; + private readonly basepath; + private imported; + private onLoad; + private akiConfig; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, hashCacheService: HashCacheService, configServer: ConfigServer); + load(container: DependencyContainer): Promise; + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + getImportedModsNames(): string[]; + getModPath(mod: string): string; + private importClass; + private importMods; + private isModCombatibleWithAki; + private executeMods; + private sortModsLoadOrder; + private addMod; + private compileModIfNeeded; + private areModDependenciesFulfilled; + private isModCompatible; + private validMod; + private getLoadOrderRecursive; + private getLoadOrder; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/bot/IGenerateBotsRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/bot/IGenerateBotsRequestData.d.ts new file mode 100644 index 0000000..c49cef7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/bot/IGenerateBotsRequestData.d.ts @@ -0,0 +1,8 @@ +export interface IGenerateBotsRequestData { + conditions: Condition[]; +} +export interface Condition { + Role: string; + Limit: number; + Difficulty: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IEmptyRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IEmptyRequestData.d.ts new file mode 100644 index 0000000..284d16e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IEmptyRequestData.d.ts @@ -0,0 +1,2 @@ +export interface IEmptyRequestData { +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IGlobals.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IGlobals.d.ts new file mode 100644 index 0000000..456895c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IGlobals.d.ts @@ -0,0 +1,1176 @@ +import { Item } from "./tables/IItem"; +export interface IGlobals { + time: number; + config: Config; + bot_presets: BotPreset[]; + BotWeaponScatterings: BotWeaponScattering[]; + ItemPresets: Record; +} +export interface Config { + content: Content; + AimPunchMagnitude: number; + WeaponSkillProgressRate: number; + SkillAtrophy: boolean; + exp: Exp; + t_base_looting: number; + t_base_lockpicking: number; + armor: Armor; + SessionsToShowHotKeys: number; + MaxBotsAliveOnMap: number; + SavagePlayCooldown: number; + SavagePlayCooldownNdaFree: number; + MarksmanAccuracy: number; + SavagePlayCooldownDevelop: number; + TODSkyDate: string; + Mastering: Mastering[]; + GlobalItemPriceModifier: number; + TradingUnlimitedItems: boolean; + MaxLoyaltyLevelForAll: boolean; + GlobalLootChanceModifier: number; + TimeBeforeDeploy: number; + TimeBeforeDeployLocal: number; + LoadTimeSpeedProgress: number; + BaseLoadTime: number; + BaseUnloadTime: number; + BaseCheckTime: number; + Customization: Customization; + UncheckOnShot: boolean; + BotsEnabled: boolean; + ArmorMaterials: ArmorMaterials; + LegsOverdamage: number; + HandsOverdamage: number; + StomachOverdamage: number; + Health: Health; + rating: Rating; + tournament: Tournament; + RagFair: RagFair; + handbook: Handbook; + FractureCausedByFalling: Probability; + FractureCausedByBulletHit: Probability; + WAVE_COEF_LOW: number; + WAVE_COEF_MID: number; + WAVE_COEF_HIGH: number; + WAVE_COEF_HORDE: number; + Stamina: Stamina; + StaminaRestoration: StaminaRestoration; + StaminaDrain: StaminaDrain; + RequirementReferences: RequirementReferences; + RepairKitSettings: RepairKitSettings; + RestrictionsInRaid: RestrictionsInRaid[]; + SkillMinEffectiveness: number; + SkillFatiguePerPoint: number; + SkillFreshEffectiveness: number; + SkillFreshPoints: number; + SkillPointsBeforeFatigue: number; + SkillFatigueReset: number; + DiscardLimitsEnabled: boolean; + EventType: string[]; + WalkSpeed: xyz; + SprintSpeed: xyz; + SkillEnduranceWeightThreshold: number; + TeamSearchingTimeout: number; + Insurance: Insurance; + SkillExpPerLevel: number; + GameSearchingTimeout: number; + WallContusionAbsorption: xyz; + SkillsSettings: SkillsSettings; + AzimuthPanelShowsPlayerOrientation: boolean; + Aiming: Aiming; + Malfunction: Malfunction; + Overheat: Overheat; + FenceSettings: FenceSettings; + TestValue: number; + Inertia: Inertia; + Ballistic: Ballistic; +} +export interface Content { + ip: string; + port: number; + root: string; +} +export interface Exp { + heal: Heal; + match_end: MatchEnd; + kill: Kill; + level: Level; + loot_attempts: LootAttempt[]; + expForLockedDoorOpen: number; + expForLockedDoorBreach: number; + triggerMult: number; +} +export interface Heal { + expForHeal: number; + expForHydration: number; + expForEnergy: number; +} +export interface MatchEnd { + README: string; + survived_exp_requirement: number; + survived_seconds_requirement: number; + survived_exp_reward: number; + mia_exp_reward: number; + runner_exp_reward: number; + leftMult: number; + miaMult: number; + survivedMult: number; + runnerMult: number; + killedMult: number; +} +export interface Kill { + combo: Combo[]; + victimLevelExp: number; + headShotMult: number; + expOnDamageAllHealth: number; + longShotDistance: number; + bloodLossToLitre: number; + victimBotLevelExp: number; +} +export interface Combo { + percent: number; +} +export interface Level { + exp_table: ExpTable[]; + trade_level: number; + savage_level: number; + clan_level: number; + mastering1: number; + mastering2: number; +} +export interface ExpTable { + exp: number; +} +export interface LootAttempt { + k_exp: number; +} +export interface Armor { + class: Class[]; +} +export interface Class { + resistance: number; +} +export interface Mastering { + Name: string; + Templates: string[]; + Level2: number; + Level3: number; +} +export interface Customization { + SavageHead: SavageHead; + SavageBody: SavageBody; + SavageFeet: SavageFeet; + CustomizationVoice: CustomizationVoice[]; + BodyParts: BodyParts; +} +export interface SavageHead { + wild_head_1: WildHead; + wild_head_2: WildHead; + wild_head_3: WildHead; + Wild_Dealmaker_head: WildHead; + Wild_Killa_head: WildHead; + bear_head: WildHead; + bear_head_1: WildHead; + usec_head_1: WildHead; + Head_BOSS_Glukhar: WildHead; + Wild_Head_nonMesh: WildHead; + Head_BOSS_Sanitar: WildHead; + wild_head_drozd: WildHead; + wild_head_misha: WildHead; + head_cultist_01: WildHead; + head_cultist_02: WildHead; + head_cultist_03: WildHead; + DefaultUsecHead: WildHead; + usec_head_3: WildHead; + usec_head_4: WildHead; + usec_head_5: WildHead; +} +export interface WildHead { + head: string; + isNotRandom: boolean; + NotRandom: boolean; +} +export interface SavageBody { + wild_body: WildBody; + wild_body_1: WildBody; + wild_body_2: WildBody; + wild_body_3: WildBody; + Wild_Dealmaker_body: WildBody; + wild_security_body_1: WildBody; + wild_security_body_2: WildBody; + wild_Killa_body: WildBody; + wild_pmcBot_body: WildBody; + wild_Shturman_body: WildBody; + wild_Gluhar_body: WildBody; + Tshirt_security_TshirtTatu_01: WildBody; + Tshirt_security_TshirtTatu_02: WildBody; + Top_security_Husky: WildBody; + Top_security_Gorka4: WildBody; + scav_kit_upper_meteor: WildBody; + wild_body_russia1: WildBody; + Top_BOSS_Sanitar: WildBody; + wild_body_motocross: WildBody; + top_cultist_01: WildBody; + top_cultist_02: WildBody; + wild_body_rainparka: WildBody; + wild_body_underarmour: WildBody; + top_boss_tagilla: WildBody; + DefaultUsecBody: WildBody; + usec_upper_acu: WildBody; + usec_upper_commando: WildBody; + usec_upper_aggressor: WildBody; + usec_upper_hoody: WildBody; + usec_upper_pcuironsight: WildBody; + usec_top_beltstaff: WildBody; + usec_upper_flexion: WildBody; + usec_upper_tier3: WildBody; + usec_upper_pcsmulticam: WildBody; + usec_upper_tier_2: WildBody; + usec_upper_infiltrator: WildBody; + user_upper_NightPatrol: WildBody; + wild_body_bomber: WildBody; + wild_top_yellowcoat: WildBody; +} +export interface WildBody { + body: string; + hands: string; + isNotRandom: boolean; +} +export interface SavageFeet { + wild_feet: WildFeet; + wild_feet_1: WildFeet; + wild_feet_2: WildFeet; + Wild_Dealmaker_feet: WildFeet; + wild_security_feet_1: WildFeet; + Wild_Killa_feet: WildFeet; + wild_pmcBot_feet: WildFeet; + Pants_BOSS_Glukhar: WildFeet; + Pants_BOSS_Shturman: WildFeet; + Pants_security_Gorka4: WildFeet; + Pants_security_Flora: WildFeet; + scav_kit_lower_sklon: WildFeet; + Pants_BOSS_Sanitar: WildFeet; + wild_feet_sweatpants: WildFeet; + wild_feet_wasatch: WildFeet; + wild_feet_slimPants: WildFeet; + pants_cultist_01: WildFeet; + pants_cultist_02: WildFeet; + wild_feet_scavelite_taclite: WildFeet; + pants_boss_tagilla: WildFeet; + wild_feet_bomber: WildFeet; + wild_pants_yellowcoat: WildFeet; +} +export interface WildFeet { + feet: string; + isNotRandom: boolean; + NotRandom: boolean; +} +export interface CustomizationVoice { + voice: string; + side: string[]; + isNotRandom: boolean; +} +export interface BodyParts { + Head: string; + Body: string; + Feet: string; + Hands: string; +} +export interface ArmorMaterials { + UHMWPE: ArmorType; + Aramid: ArmorType; + Combined: ArmorType; + Titan: ArmorType; + Aluminium: ArmorType; + ArmoredSteel: ArmorType; + Ceramic: ArmorType; + Glass: ArmorType; +} +export interface ArmorType { + Destructibility: number; + MinRepairDegradation: number; + MaxRepairDegradation: number; + ExplosionDestructibility: number; + MinRepairKitDegradation: number; + MaxRepairKitDegradation: number; +} +export interface Health { + Falling: Falling; + Effects: Effects; + HealPrice: HealPrice; + ProfileHealthSettings: ProfileHealthSettings; +} +export interface Falling { + DamagePerMeter: number; + SafeHeight: number; +} +export interface Effects { + Existence: Existence; + Dehydration: Dehydration; + BreakPart: BreakPart; + Contusion: Contusion; + Disorientation: Disorientation; + Exhaustion: Exhaustion; + LowEdgeHealth: LowEdgeHealth; + RadExposure: RadExposure; + Stun: Stun; + Intoxication: Intoxication; + Regeneration: Regeneration; + Wound: Wound; + Berserk: Berserk; + Flash: Flash; + MedEffect: MedEffect; + Pain: Pain; + PainKiller: PainKiller; + SandingScreen: SandingScreen; + Stimulator: Stimulator; + Tremor: Tremor; + ChronicStaminaFatigue: ChronicStaminaFatigue; + Fracture: Fracture2; + HeavyBleeding: HeavyBleeding2; + LightBleeding: LightBleeding2; + BodyTemperature: BodyTemperature; +} +export interface Existence { + EnergyLoopTime: number; + HydrationLoopTime: number; + EnergyDamage: number; + HydrationDamage: number; + DestroyedStomachEnergyTimeFactor: number; + DestroyedStomachHydrationTimeFactor: number; +} +export interface Dehydration { + DefaultDelay: number; + DefaultResidueTime: number; + BleedingHealth: number; + BleedingLoopTime: number; + BleedingLifeTime: number; + DamageOnStrongDehydration: number; + StrongDehydrationLoopTime: number; +} +export interface BreakPart { + DefaultDelay: number; + DefaultResidueTime: number; + HealExperience: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovePrice: number; + RemovedAfterDeath: boolean; + BulletHitProbability: Probability; + FallingProbability: Probability; +} +export interface Contusion { + Dummy: number; +} +export interface Disorientation { + Dummy: number; +} +export interface Exhaustion { + DefaultDelay: number; + DefaultResidueTime: number; + Damage: number; + DamageLoopTime: number; +} +export interface LowEdgeHealth { + DefaultDelay: number; + DefaultResidueTime: number; + StartCommonHealth: number; +} +export interface RadExposure { + Damage: number; + DamageLoopTime: number; +} +export interface Stun { + Dummy: number; +} +export interface Intoxication { + DefaultDelay: number; + DefaultResidueTime: number; + DamageHealth: number; + HealthLoopTime: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovedAfterDeath: boolean; + HealExperience: number; + RemovePrice: number; +} +export interface Regeneration { + LoopTime: number; + MinimumHealthPercentage: number; + Energy: number; + Hydration: number; + BodyHealth: BodyHealth; + Influences: Influences; +} +export interface BodyHealth { + Head: BodyHealthValue; + Chest: BodyHealthValue; + Stomach: BodyHealthValue; + LeftArm: BodyHealthValue; + RightArm: BodyHealthValue; + LeftLeg: BodyHealthValue; + RightLeg: BodyHealthValue; +} +export interface BodyHealthValue { + Value: number; +} +export interface Influences { + LightBleeding: Influence; + HeavyBleeding: Influence; + Fracture: Influence; + RadExposure: Influence; + Intoxication: Influence; +} +export interface Influence { + HealthSlowDownPercentage: number; + EnergySlowDownPercentage: number; + HydrationSlowDownPercentage: number; +} +export interface Wound { + WorkingTime: number; + ThresholdMin: number; + ThresholdMax: number; +} +export interface Berserk { + DefaultDelay: number; + WorkingTime: number; + DefaultResidueTime: number; +} +export interface Flash { + Dummy: number; +} +export interface MedEffect { + LoopTime: number; + StartDelay: number; + DrinkStartDelay: number; + FoodStartDelay: number; + DrugsStartDelay: number; + MedKitStartDelay: number; + MedicalStartDelay: number; + StimulatorStartDelay: number; +} +export interface Pain { + TremorDelay: number; + HealExperience: number; +} +export interface PainKiller { + Dummy: number; +} +export interface SandingScreen { + Dummy: number; +} +export interface Stimulator { + BuffLoopTime: number; + Buffs: Buffs; +} +export interface Buffs { + BuffsSJ1TGLabs: Buff[]; + BuffsSJ6TGLabs: Buff[]; + BuffsPropital: Buff[]; + BuffsZagustin: Buff[]; + BuffseTGchange: Buff[]; + BuffsAdrenaline: Buff[]; + BuffsGoldenStarBalm: Buff[]; + Buffs_drink_aquamari: Buff[]; + Buffs_drink_maxenergy: Buff[]; + Buffs_drink_milk: Buff[]; + Buffs_drink_tarcola: Buff[]; + Buffs_drink_hotrod: Buff[]; + Buffs_drink_juice_army: Buff[]; + Buffs_drink_water: Buff[]; + Buffs_food_borodinskiye: Buff[]; + Buffs_food_condensed_milk: Buff[]; + Buffs_food_emelya: Buff[]; + Buffs_food_mayonez: Buff[]; + Buffs_food_mre: Buff[]; + Buffs_food_sugar: Buff[]; + Buffs_drink_vodka: Buff[]; + Buffs_drink_jack: Buff[]; + Buffs_drink_moonshine: Buff[]; + Buffs_drink_purewater: Buff[]; + Buffs_3bTG: Buff[]; + Buffs_AHF1M: Buff[]; + Buffs_L1: Buff[]; + Buffs_MULE: Buff[]; + Buffs_Meldonin: Buff[]; + Buffs_Obdolbos: Buff[]; + Buffs_P22: Buff[]; + Buffs_KultistsToxin: Buff[]; + Buffs_BodyTemperature: Buff[]; + Buffs_Antidote: Buff[]; + Buffs_melee_bleed: Buff[]; + Buffs_melee_blunt: Buff[]; + Buffs_hultafors: Buff[]; + Buffs_drink_vodka_BAD: Buff[]; + Buffs_food_alyonka: Buff[]; + Buffs_food_slippers: Buff[]; + Buffs_knife: Buff[]; +} +export interface Buff { + BuffType: string; + Chance: number; + Delay: number; + Duration: number; + Value: number; + AbsoluteValue: boolean; + SkillName: string; +} +export interface Tremor { + DefaultDelay: number; + DefaultResidueTime: number; +} +export interface ChronicStaminaFatigue { + EnergyRate: number; + WorkingTime: number; + TicksEvery: number; + EnergyRatePerStack: number; +} +export interface Fracture2 { + DefaultDelay: number; + DefaultResidueTime: number; + HealExperience: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovePrice: number; + RemovedAfterDeath: boolean; + BulletHitProbability: Probability; + FallingProbability: Probability; +} +export interface HeavyBleeding2 { + DefaultDelay: number; + DefaultResidueTime: number; + DamageEnergy: number; + DamageHealth: number; + EnergyLoopTime: number; + HealthLoopTime: number; + DamageHealthDehydrated: number; + HealthLoopTimeDehydrated: number; + LifeTimeDehydrated: number; + EliteVitalityDuration: number; + HealExperience: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovePrice: number; + RemovedAfterDeath: boolean; + Probability: Probability; +} +export interface Probability { + FunctionType: string; + K: number; + B: number; + Threshold: number; +} +export interface LightBleeding2 { + DefaultDelay: number; + DefaultResidueTime: number; + DamageEnergy: number; + DamageHealth: number; + EnergyLoopTime: number; + HealthLoopTime: number; + DamageHealthDehydrated: number; + HealthLoopTimeDehydrated: number; + LifeTimeDehydrated: number; + EliteVitalityDuration: number; + HealExperience: number; + OfflineDurationMin: number; + OfflineDurationMax: number; + RemovePrice: number; + RemovedAfterDeath: boolean; + Probability: Probability; +} +export interface BodyTemperature { + DefaultBuildUpTime: number; + DefaultResidueTime: number; + LoopTime: number; +} +export interface HealPrice { + HealthPointPrice: number; + HydrationPointPrice: number; + EnergyPointPrice: number; + TrialLevels: number; + TrialRaids: number; +} +export interface ProfileHealthSettings { + BodyPartsSettings: BodyPartsSettings; + HealthFactorsSettings: HealthFactorsSettings; +} +export interface BodyPartsSettings { + Head: BodyPartsSetting; + Chest: BodyPartsSetting; + Stomach: BodyPartsSetting; + LeftArm: BodyPartsSetting; + RightArm: BodyPartsSetting; + LeftLeg: BodyPartsSetting; + RightLeg: BodyPartsSetting; +} +export interface BodyPartsSetting { + Minimum: number; + Maximum: number; + Default: number; + OverDamageReceivedMultiplier: number; +} +export interface HealthFactorsSettings { + Energy: HealthFactorSetting; + Hydration: HealthFactorSetting; + Temperature: HealthFactorSetting; + Poisoning: HealthFactorSetting; + Radiation: HealthFactorSetting; +} +export interface HealthFactorSetting { + Minimum: number; + Maximum: number; + Default: number; +} +export interface Rating { + levelRequired: number; + limit: number; + categories: Categories; +} +export interface Categories { + experience: boolean; + kd: boolean; + surviveRatio: boolean; + avgEarnings: boolean; + kills: boolean; + raidCount: boolean; + longestShot: boolean; + timeOnline: boolean; + inventoryFullCost: boolean; + ragFairStanding: boolean; +} +export interface Tournament { + categories: Categories2; + limit: number; + levelRequired: number; +} +export interface Categories2 { + dogtags: boolean; +} +export interface RagFair { + enabled: boolean; + priceStabilizerEnabled: boolean; + includePveTraderSales: boolean; + priceStabilizerStartIntervalInHours: number; + minUserLevel: number; + communityTax: number; + communityItemTax: number; + communityRequirementTax: number; + offerPriorityCost: number; + offerDurationTimeInHour: number; + offerDurationTimeInHourAfterRemove: number; + priorityTimeModifier: number; + maxRenewOfferTimeInHour: number; + renewPricePerHour: number; + maxActiveOfferCount: MaxActiveOfferCount[]; + balancerRemovePriceCoefficient: number; + balancerMinPriceCount: number; + balancerAveragePriceCoefficient: number; + delaySinceOfferAdd: number; + uniqueBuyerTimeoutInDays: number; + ratingSumForIncrease: number; + ratingIncreaseCount: number; + ratingSumForDecrease: number; + ratingDecreaseCount: number; + maxSumForIncreaseRatingPerOneSale: number; + maxSumForDecreaseRatingPerOneSale: number; + maxSumForRarity: MaxSumForRarity; + ChangePriceCoef: number; + balancerUserItemSaleCooldownEnabled: boolean; + balancerUserItemSaleCooldown: number; + youSellOfferMaxStorageTimeInHour: number; + yourOfferDidNotSellMaxStorageTimeInHour: number; + isOnlyFoundInRaidAllowed: boolean; + sellInOnePiece: number; +} +export interface MaxActiveOfferCount { + from: number; + to: number; + count: number; +} +export interface MaxSumForRarity { + Common: RarityMaxSum; + Rare: RarityMaxSum; + Superrare: RarityMaxSum; + Not_exist: RarityMaxSum; +} +export interface RarityMaxSum { + value: number; +} +export interface Handbook { + defaultCategory: string; +} +export interface Stamina { + Capacity: number; + SprintDrainRate: number; + BaseRestorationRate: number; + JumpConsumption: number; + GrenadeHighThrow: number; + GrenadeLowThrow: number; + AimDrainRate: number; + AimRangeFinderDrainRate: number; + OxygenCapacity: number; + OxygenRestoration: number; + WalkOverweightLimits: xyz; + BaseOverweightLimits: xyz; + SprintOverweightLimits: xyz; + WalkSpeedOverweightLimits: xyz; + CrouchConsumption: xyz; + WalkConsumption: xyz; + StandupConsumption: xyz; + TransitionSpeed: xyz; + SprintAccelerationLowerLimit: number; + SprintSpeedLowerLimit: number; + SprintSensitivityLowerLimit: number; + AimConsumptionByPose: xyz; + RestorationMultiplierByPose: xyz; + OverweightConsumptionByPose: xyz; + AimingSpeedMultiplier: number; + WalkVisualEffectMultiplier: number; + HandsCapacity: number; + HandsRestoration: number; + ProneConsumption: number; + BaseHoldBreathConsumption: number; + SoundRadius: xyz; + ExhaustedMeleeSpeed: number; + FatigueRestorationRate: number; + FatigueAmountToCreateEffect: number; + ExhaustedMeleeDamageMultiplier: number; + FallDamageMultiplier: number; + SafeHeightOverweight: number; + SitToStandConsumption: number; + StaminaExhaustionCausesJiggle: boolean; + StaminaExhaustionStartsBreathSound: boolean; + StaminaExhaustionRocksCamera: boolean; + HoldBreathStaminaMultiplier: xyz; + PoseLevelIncreaseSpeed: xyz; + PoseLevelDecreaseSpeed: xyz; + PoseLevelConsumptionPerNotch: xyz; +} +export interface StaminaRestoration { + LowerLeftPoint: number; + LowerRightPoint: number; + LeftPlatoPoint: number; + RightPlatoPoint: number; + RightLimit: number; + ZeroValue: number; +} +export interface StaminaDrain { + LowerLeftPoint: number; + LowerRightPoint: number; + LeftPlatoPoint: number; + RightPlatoPoint: number; + RightLimit: number; + ZeroValue: number; +} +export interface RequirementReferences { + Alpinist: Alpinist[]; +} +export interface Alpinist { + Requirement: string; + Id: string; + Count: number; + RequiredSlot: string; + RequirementTip: string; +} +export interface RestrictionsInRaid { + TemplateId: string; + Value: number; +} +export interface Insurance { + MaxStorageTimeInHour: number; +} +export interface SkillsSettings { + SkillProgressRate: number; + WeaponSkillProgressRate: number; + WeaponSkillRecoilBonusPerLevel: number; + HideoutManagement: HideoutManagement; + Crafting: Crafting; + Metabolism: Metabolism; + Immunity: Immunity; + Endurance: Endurance; + Strength: Strength; + Vitality: Vitality; + Health: Health2; + StressResistance: StressResistance; + Throwing: Throwing; + RecoilControl: RecoilControl; + Pistol: WeaponSkills; + Revolver: WeaponSkills; + SMG: any[]; + Assault: WeaponSkills; + Shotgun: WeaponSkills; + Sniper: WeaponSkills; + LMG: any[]; + HMG: any[]; + Launcher: any[]; + AttachedLauncher: any[]; + Melee: any[]; + DMR: WeaponSkills; + BearAssaultoperations: any[]; + BearAuthority: any[]; + BearAksystems: any[]; + BearHeavycaliber: any[]; + BearRawpower: any[]; + UsecArsystems: any[]; + UsecDeepweaponmodding_Settings: any[]; + UsecLongrangeoptics_Settings: any[]; + UsecNegotiations: any[]; + UsecTactics: any[]; + BotReload: any[]; + CovertMovement: CovertMovement; + FieldMedicine: any[]; + Search: Search; + Sniping: any[]; + ProneMovement: any[]; + FirstAid: any[]; + LightVests: ArmorSkills; + HeavyVests: ArmorSkills; + WeaponModding: any[]; + AdvancedModding: any[]; + NightOps: any[]; + SilentOps: any[]; + Lockpicking: any[]; + WeaponTreatment: WeaponTreatment; + MagDrills: MagDrills; + Freetrading: any[]; + Auctions: any[]; + Cleanoperations: any[]; + Barter: any[]; + Shadowconnections: any[]; + Taskperformance: any[]; + Perception: Perception; + Intellect: Intellect; + Attention: Attention; + Charisma: Charisma; + Memory: Memory; + Surgery: Surgery; + AimDrills: AimDrills; + BotSound: any[]; + TroubleShooting: TroubleShooting; +} +export interface ArmorSkills { + WearAmountRepairLVestsReducePerLevel: number; + WearChanceRepairLVestsReduceEliteLevel: number; +} +export interface HideoutManagement { + SkillPointsPerAreaUpgrade: number; + SkillPointsPerCraft: number; + ConsumptionReductionPerLevel: number; + SkillBoostPercent: number; + SkillPointsRate: SkillPointsRate; + EliteSlots: EliteSlots; +} +export interface SkillPointsRate { + Generator: Generator; + AirFilteringUnit: SkillPointRate; + WaterCollector: SkillPointRate; + SolarPower: SkillPointRate; +} +export interface SkillPointRate { + ResourceSpent: number; + PointsGained: number; +} +export interface EliteSlots { + Generator: EliteSlot; + AirFilteringUnit: EliteSlot; + WaterCollector: EliteSlot; + BitcoinFarm: EliteSlot; +} +export interface EliteSlot { + Slots: number; + Container: number; +} +export interface Crafting { + PointsPerCraftingCycle: number; + CraftingCycleHours: number; + PointsPerUniqueCraftCycle: number; + UniqueCraftsPerCycle: number; + CraftTimeReductionPerLevel: number; + ProductionTimeReductionPerLevel: number; + EliteExtraProductions: number; + CraftingPointsToInteligence: number; +} +export interface Metabolism { + HydrationRecoveryRate: number; + EnergyRecoveryRate: number; + IncreasePositiveEffectDurationRate: number; + DecreaseNegativeEffectDurationRate: number; + DecreasePoisonDurationRate: number; +} +export interface Immunity { + ImmunityMiscEffects: number; + ImmunityPoisonBuff: number; + ImmunityPainKiller: number; + HealthNegativeEffect: number; + StimulatorNegativeBuff: number; +} +export interface Endurance { + MovementAction: number; + SprintAction: number; + GainPerFatigueStack: number; +} +export interface Strength { + SprintActionMin: number; + SprintActionMax: number; + MovementActionMin: number; + MovementActionMax: number; + PushUpMin: number; + PushUpMax: number; + FistfightAction: number; + ThrowAction: number; +} +export interface Vitality { + DamageTakenAction: number; + HealthNegativeEffect: number; +} +export interface Health2 { + SkillProgress: number; +} +export interface StressResistance { + HealthNegativeEffect: number; + LowHPDuration: number; +} +export interface Throwing { + ThrowAction: number; +} +export interface RecoilControl { + RecoilAction: number; + RecoilBonusPerLevel: number; +} +export interface WeaponSkills { + WeaponReloadAction: number; + WeaponShotAction: number; + WeaponFixAction: number; + WeaponChamberAction: number; +} +export interface CovertMovement { + MovementAction: number; +} +export interface Search { + SearchAction: number; + FindAction: number; +} +export interface WeaponTreatment { + DurLossReducePerLevel: number; + SkillPointsPerRepair: number; + Filter: any[]; + WearAmountRepairGunsReducePerLevel: number; + WearChanceRepairGunsReduceEliteLevel: number; +} +export interface MagDrills { + RaidLoadedAmmoAction: number; + RaidUnloadedAmmoAction: number; + MagazineCheckAction: number; +} +export interface Perception { + OnlineAction: number; + UniqueLoot: number; +} +export interface Intellect { + ExamineAction: number; + SkillProgress: number; + RepairAction: number; + WearAmountReducePerLevel: number; + WearChanceReduceEliteLevel: number; + RepairPointsCostReduction: number; +} +export interface Attention { + ExamineWithInstruction: number; + FindActionFalse: number; + FindActionTrue: number; +} +export interface Charisma { + SkillProgressInt: number; + SkillProgressAtn: number; + SkillProgressPer: number; +} +export interface Memory { + AnySkillUp: number; + SkillProgress: number; +} +export interface Surgery { + SurgeryAction: number; + SkillProgress: number; +} +export interface AimDrills { + WeaponShotAction: number; +} +export interface TroubleShooting { + MalfRepairSpeedBonusPerLevel: number; + SkillPointsPerMalfFix: number; + EliteDurabilityChanceReduceMult: number; + EliteAmmoChanceReduceMult: number; + EliteMagChanceReduceMult: number; +} +export interface Aiming { + ProceduralIntensityByPose: xyz; + AimProceduralIntensity: number; + HeavyWeight: number; + LightWeight: number; + MaxTimeHeavy: number; + MinTimeHeavy: number; + MaxTimeLight: number; + MinTimeLight: number; + RecoilScaling: number; + RecoilDamping: number; + CameraSnapGlobalMult: number; + RecoilXIntensityByPose: xyz; + RecoilYIntensityByPose: xyz; + RecoilZIntensityByPose: xyz; + RecoilCrank: boolean; + RecoilHandDamping: number; + RecoilConvergenceMult: number; + RecoilVertBonus: number; + RecoilBackBonus: number; +} +export interface Malfunction { + AmmoMalfChanceMult: number; + MagazineMalfChanceMult: number; + MalfRepairHardSlideMult: number; + MalfRepairOneHandBrokenMult: number; + MalfRepairTwoHandsBrokenMult: number; + AllowMalfForBots: boolean; + ShowGlowAttemptsCount: number; + OutToIdleSpeedMultForPistol: number; + IdleToOutSpeedMultOnMalf: number; + TimeToQuickdrawPistol: number; + DurRangeToIgnoreMalfs: xyz; + DurFeedWt: number; + DurMisfireWt: number; + DurJamWt: number; + DurSoftSlideWt: number; + DurHardSlideMinWt: number; + DurHardSlideMaxWt: number; + AmmoMisfireWt: number; + AmmoFeedWt: number; + AmmoJamWt: number; + OverheatFeedWt: number; + OverheatJamWt: number; + OverheatSoftSlideWt: number; + OverheatHardSlideMinWt: number; + OverheatHardSlideMaxWt: number; +} +export interface Overheat { + MinOverheat: number; + MaxOverheat: number; + OverheatProblemsStart: number; + ModHeatFactor: number; + ModCoolFactor: number; + MinWearOnOverheat: number; + MaxWearOnOverheat: number; + MinWearOnMaxOverheat: number; + MaxWearOnMaxOverheat: number; + OverheatWearLimit: number; + MaxCOIIncreaseMult: number; + MinMalfChance: number; + MaxMalfChance: number; + DurReduceMinMult: number; + DurReduceMaxMult: number; + BarrelMoveRndDuration: number; + BarrelMoveMaxMult: number; + FireratePitchMult: number; + FirerateReduceMinMult: number; + FirerateReduceMaxMult: number; + FirerateOverheatBorder: number; + EnableSlideOnMaxOverheat: boolean; + StartSlideOverheat: number; + FixSlideOverheat: number; + AutoshotMinOverheat: number; + AutoshotChance: number; + AutoshotPossibilityDuration: number; + MaxOverheatCoolCoef: number; +} +export interface FenceSettings { + FenceId: string; + Levels: Record; + paidExitStandingNumerator: number; +} +export interface FenceLevel { + SavageCooldownModifier: number; + ScavCaseTimeModifier: number; + PaidExitCostModifier: number; + BotFollowChance: number; + ScavEquipmentSpawnChanceModifier: number; + PriceModifier: number; + HostileBosses: boolean; + HostileScavs: boolean; + ScavAttackSupport: boolean; + ExfiltrationPriceModifier: number; + AvailableExits: number; +} +export interface Inertia { + InertiaLimits: xyz; + InertiaLimitsStep: number; + ExitMovementStateSpeedThreshold: xyz; + WalkInertia: xyz; + FallThreshold: number; + SpeedLimitAfterFallMin: xyz; + SpeedLimitAfterFallMax: xyz; + SpeedLimitDurationMin: xyz; + SpeedLimitDurationMax: xyz; + SpeedInertiaAfterJump: xyz; + BaseJumpPenaltyDuration: number; + DurationPower: number; + BaseJumpPenalty: number; + PenaltyPower: number; + InertiaTiltCurveMin: xyz; + InertiaTiltCurveMax: xyz; + InertiaBackwardCoef: xyz; + TiltInertiaMaxSpeed: xyz; + TiltStartSideBackSpeed: xyz; + TiltMaxSideBackSpeed: xyz; + TiltAcceleration: xyz; + AverageRotationFrameSpan: number; + SprintSpeedInertiaCurveMin: xyz; + SprintSpeedInertiaCurveMax: xyz; + SprintBrakeInertia: xyz; + SprintTransitionMotionPreservation: xyz; + WeaponFlipSpeed: xyz; + PreSprintAccelerationLimits: xyz; + SprintAccelerationLimits: xyz; + SideTime: xyz; + DiagonalTime: xyz; + MinDirectionBlendTime: number; + MoveTime: number; + MinMovementAccelerationRangeRight: xyz; + MaxMovementAccelerationRangeRight: xyz; +} +export interface xyz { + x: number; + y: number; + z: number; +} +export interface Ballistic { + GlobalDamageDegradationCoefficient: number; +} +export interface RepairKitSettings { + armorClassDivisor: number; + durabilityPointCostArmor: number; + durabilityPointCostGuns: number; +} +export interface BotPreset { + UseThis: boolean; + Role: string; + BotDifficulty: string; + VisibleAngle: number; + VisibleDistance: number; + ScatteringPerMeter: number; + HearingSense: number; + SCATTERING_DIST_MODIF: number; + MAX_AIMING_UPGRADE_BY_TIME: number; + FIRST_CONTACT_ADD_SEC: number; + COEF_IF_MOVE: number; +} +export interface BotWeaponScattering { + Name: string; + PriorityScatter1meter: number; + PriorityScatter10meter: number; + PriorityScatter100meter: number; +} +export interface Preset { + _id: string; + _type: string; + _changeWeaponName: boolean; + _name: string; + _parent: string; + _items: Item[]; + _encyclopedia?: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocation.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocation.d.ts new file mode 100644 index 0000000..42fac06 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocation.d.ts @@ -0,0 +1,6 @@ +import { ILocationBase } from "./ILocationBase"; +import { ILooseLoot } from "./ILooseLoot"; +export interface ILocation { + base: ILocationBase; + looseLoot: ILooseLoot; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocationBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocationBase.d.ts new file mode 100644 index 0000000..0d092f6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocationBase.d.ts @@ -0,0 +1,189 @@ +export interface ILocationBase { + AccessKeys: string[]; + AirdropParameters: AirdropParameter[]; + Area: number; + AveragePlayTime: number; + AveragePlayerLevel: number; + Banners: Banner[]; + BossLocationSpawn: BossLocationSpawn[]; + BotAssault: number; + BotEasy: number; + BotHard: number; + BotImpossible: number; + BotLocationModifier: BotLocationModifier; + BotMarksman: number; + BotMax: number; + BotMaxPlayer: number; + BotMaxTimePlayer: number; + BotNormal: number; + BotSpawnTimeOffMax: number; + BotSpawnTimeOffMin: number; + BotSpawnTimeOnMax: number; + BotSpawnTimeOnMin: number; + BotStart: number; + BotStop: number; + Description: string; + DisabledForScav: boolean; + DisabledScavExits: string; + Enabled: boolean; + GlobalLootChanceModifier: number; + IconX: number; + IconY: number; + Id: string; + Insurance: boolean; + IsSecret: boolean; + Locked: boolean; + Loot: any[]; + MaxBotPerZone: number; + MaxDistToFreePoint: number; + MaxPlayers: number; + MinDistToExitPoint: number; + MinDistToFreePoint: number; + MinMaxBots: MinMaxBot[]; + MinPlayers: number; + Name: string; + NewSpawn: boolean; + OcculsionCullingEnabled: boolean; + OldSpawn: boolean; + OpenZones: string; + Preview: Preview; + RequiredPlayerLevel: number; + Rules: string; + SafeLocation: boolean; + Scene: Scene; + SpawnPointParams: SpawnPointParam[]; + UnixDateTime: number; + _Id: string; + doors: any[]; + escape_time_limit: number; + exit_access_time: number; + exit_count: number; + exit_time: number; + exits: Exit[]; + filter_ex: string[]; + limits: ILimit[]; + matching_min_seconds: number; + maxItemCountInLocation: MaxItemCountInLocation[]; + sav_summon_seconds: number; + tmp_location_field_remove_me: number; + users_gather_seconds: number; + users_spawn_seconds_n: number; + users_spawn_seconds_n2: number; + users_summon_seconds: number; + waves: Wave[]; +} +export interface ILimit { + min: number; + max: number; + items: any[]; +} +export interface AirdropParameter { + AirdropPointDeactivateDistance: number; + MinPlayersCountToSpawnAirdrop: number; + PlaneAirdropChance: number; + PlaneAirdropCooldownMax: number; + PlaneAirdropCooldownMin: number; + PlaneAirdropEnd: number; + PlaneAirdropMax: number; + PlaneAirdropStartMax: number; + PlaneAirdropStartMin: number; + UnsuccessfulTryPenalty: number; +} +export interface Banner { + id: string; + pic: Pic; +} +export interface Pic { + path: string; + rcid: string; +} +export interface BossLocationSpawn { + BossChance: number; + BossDifficult: string; + BossEscortAmount: string; + BossEscortDifficult: string; + BossEscortType: string; + BossName: string; + BossPlayer: boolean; + BossZone: string; + Time: number; +} +export interface BotLocationModifier { + AccuracySpeed: number; + DistToActivate: number; + DistToPersueAxemanCoef: number; + DistToSleep: number; + GainSight: number; + KhorovodChance: number; + MagnetPower: number; + MarksmanAccuratyCoef: number; + Scattering: number; + VisibleDistance: number; +} +export interface MinMaxBot { + WildSpawnType: string; + max: number; + min: number; +} +export interface Preview { + path: string; + rcid: string; +} +export interface Scene { + path: string; + rcid: string; +} +export interface SpawnPointParam { + BotZoneName: string; + Categories: string[]; + ColliderParams: ColliderParams; + DelayToCanSpawnSec: number; + Id: string; + Infiltration: string; + Position: xyz; + Rotation: number; + Sides: string[]; +} +export interface ColliderParams { + _parent: string; + _props: Props; +} +export interface Props { + Center: xyz; + Radius: number; +} +export interface xyz { + x: number; + y: number; + z: number; +} +export interface Exit { + Chance: number; + Count: number; + EntryPoints: string; + ExfiltrationTime: number; + ExfiltrationType: string; + Id: string; + MaxTime: number; + MinTime: number; + Name: string; + PassageRequirement: string; + PlayersCount: number; + RequirementTip: string; +} +export interface MaxItemCountInLocation { + TemplateId: string; + Value: number; +} +export interface Wave { + BotPreset: string; + BotSide: string; + SpawnPoints: string; + WildSpawnType: string; + isPlayers: boolean; + number: number; + slots_max: number; + slots_min: number; + time_max: number; + time_min: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocationsSourceDestinationBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocationsSourceDestinationBase.d.ts new file mode 100644 index 0000000..7f8d915 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILocationsSourceDestinationBase.d.ts @@ -0,0 +1,9 @@ +import { ILocations } from "../../spt/server/ILocations"; +export interface ILocationsGenerateAllResponse { + locations: ILocations; + paths: Path[]; +} +export interface Path { + Source: string; + Destination: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILooseLoot.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILooseLoot.d.ts new file mode 100644 index 0000000..14b795e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/ILooseLoot.d.ts @@ -0,0 +1,45 @@ +export interface ILooseLoot { + spawnpointCount: SpawnpointCount; + spawnpointsForced: SpawnpointsForced[]; + spawnpoints: Spawnpoint[]; +} +export interface SpawnpointCount { + mean: number; + std: number; +} +export interface SpawnpointsForced { + locationId: string; + probability: number; + template: SpawnpointTemplate; +} +export interface SpawnpointTemplate { + Id: string; + IsStatic: boolean; + useGravity: boolean; + randomRotation: boolean; + Position: Xyz; + Rotation: Xyz; + IsGroupPosition: boolean; + GroupPositions: any[]; + Root: any; + Items: Item[]; +} +export interface Item { + _id: string; + _tpl?: string; +} +export interface Spawnpoint { + locationId: string; + probability: number; + template: SpawnpointTemplate; + itemDistribution: ItemDistribution[]; +} +export interface Xyz { + x: number; + y: number; + z: number; +} +export interface ItemDistribution { + tpl: string; + relativeProbability: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IMetricsTableData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IMetricsTableData.d.ts new file mode 100644 index 0000000..873ef82 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IMetricsTableData.d.ts @@ -0,0 +1,7 @@ +export interface IMetricsTableData { + Keys: number[]; + NetProcessingBins: number[]; + RenderBins: number[]; + GameUpdateBins: number[]; + MemoryMeasureInterval: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IPmcData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IPmcData.d.ts new file mode 100644 index 0000000..2360147 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/IPmcData.d.ts @@ -0,0 +1,341 @@ +import { IRagfairOffer } from "../ragfair/IRagfairOffer"; +import { IPmcDataRepeatableQuest } from "./tables/IRepeatableQuests"; +import { Item, Upd } from "./tables/IItem"; +import { HideoutAreasEnum } from "../hideout/HideoutAreasEnum"; +import { MemberCategory } from "./MemberCategory"; +export interface IPmcData { + _id: string; + aid: string; + savage: string; + Info: Info; + Customization: Customization; + Health: Health; + Inventory: Inventory; + Skills: Skills; + Stats: Stats; + Encyclopedia: Record; + ConditionCounters: ConditionCounters; + BackendCounters: Record; + InsuredItems: InsuredItem[]; + Hideout: Hideout; + Bonuses: Bonus[]; + Notes: Notes; + Quests: Quest[]; + TradersInfo: Record; + RagfairInfo: RagfairInfo; + WishList: string[]; + RepeatableQuests: IPmcDataRepeatableQuest[]; + CarExtractCounts: CarExtractCounts; + SurvivorClass: SurvivorClass; +} +export declare enum SurvivorClass { + Unknown = 0, + Neutralizer = 1, + Marauder = 2, + Paramedic = 3, + Survivor = 4 +} +export interface Info { + EntryPoint: string; + Nickname: string; + LowerNickname: string; + Side: string; + Voice: string; + Level: number; + Experience: number; + RegistrationDate: number; + GameVersion: string; + AccountType: number; + MemberCategory: MemberCategory; + lockedMoveCommands: boolean; + SavageLockTime: number; + LastTimePlayedAsSavage: number; + Settings: Settings; + NicknameChangeDate: number; + IsStreamerModeAvailable: boolean; + Bans: IBan[]; + BannedState: boolean; + BannedUntil: number; +} +export interface Settings { + Role: string; + BotDifficulty: string; + Experience: number; + StandingForKill: number; + AggressorBonus: number; +} +export interface IBan { + type: BanType; + dateTime: number; +} +export declare enum BanType { + Chat = 0, + RagFair = 1, + Voip = 2, + Trading = 3, + Online = 4, + Friends = 5, + ChangeNickname = 6 +} +export interface Notes { + Notes: Note[]; +} +export interface Note { + Time: number; + Text: string; +} +export interface Customization { + Head: string; + Body: string; + Feet: string; + Hands: string; +} +export interface Health { + Hydration: CurrentMax; + Energy: CurrentMax; + Temperature: CurrentMax; + BodyParts: BodyPartsHealth; + UpdateTime: number; +} +export interface BodyPartsHealth { + Head: BodyPartHealth; + Chest: BodyPartHealth; + Stomach: BodyPartHealth; + LeftArm: BodyPartHealth; + RightArm: BodyPartHealth; + LeftLeg: BodyPartHealth; + RightLeg: BodyPartHealth; +} +export interface BodyPartHealth { + Health: CurrentMax; + Effects?: Record; +} +export interface CurrentMax { + Current: number; + Maximum: number; +} +export interface Inventory { + items: Item[]; + equipment: string; + stash: string; + sortingTable: string; + questRaidItems: string; + questStashItems: string; + fastPanel: FastPanel; +} +export interface FastPanel { +} +export interface Skills { + Common: Common[]; + Mastering: Mastering[]; + Bonuses?: any[]; + Points: number; +} +export interface Common { + Id: string; + Progress: number; + PointsEarnedDuringSession: number; + LastAccess: number; +} +export interface Mastering { + Id: string; + Progress: number; +} +export interface Stats { + CarriedQuestItems: string[]; + Victims: Victim[]; + TotalSessionExperience: number; + LastSessionDate: number; + SessionCounters: SessionCounters; + OverallCounters: OverallCounters; + SessionExperienceMult?: number; + ExperienceBonusMult?: number; + Aggressor?: Aggressor; + DroppedItems?: IDroppedItem[]; + FoundInRaidItems?: FoundInRaidItem[]; + DamageHistory?: DamageHistory; + DeathCause?: DeathCause; + LastPlayerState?: LastPlayerState; + TotalInGameTime: number; + SurvivorClass?: string; +} +export interface IDroppedItem { + QuestId: string; + ItemId: string; + ZoneId: string; +} +export interface FoundInRaidItem { + QuestId: string; + ItemId: string; +} +export interface Victim { + AccountId: string; + ProfileId: string; + Name: string; + Side: string; + BodyPart: string; + Time: string; + Distance: number; + Level: number; + Weapon: string; + Role: string; +} +export interface SessionCounters { + Items: CounterKeyValue[]; +} +export interface OverallCounters { + Items: CounterKeyValue[]; +} +export interface CounterKeyValue { + Key: string[]; + Value: number; +} +export interface Aggressor { + AccountId: string; + ProfileId: string; + MainProfileNickname: string; + Name: string; + Side: string; + BodyPart: string; + HeadSegment: string; + WeaponName: string; + Category: string; +} +export interface DamageHistory { + LethalDamagePart: string; + LethalDamage: LethalDamage; + BodyParts: BodyPartsDamageHistory; +} +export interface LethalDamage { + Amount: number; + Type: string; + SourceId: string; + OverDamageFrom: string; + Blunt: boolean; + ImpactsCount: number; +} +export interface BodyPartsDamageHistory { + Head: DamageStats[]; + Chest: DamageStats[]; + Stomach: DamageStats[]; + LeftArm: DamageStats[]; + RightArm: DamageStats[]; + LeftLeg: DamageStats[]; + RightLeg: DamageStats[]; + Common: DamageStats[]; +} +export interface DamageStats { + Amount: number; + Type: string; + SourceId: string; + OverDamageFrom: string; + Blunt: boolean; + ImpactsCount: number; +} +export interface DeathCause { + DamageType: string; + Side: string; + Role: string; + WeaponId: string; +} +export interface LastPlayerState { + Info: LastPlayerStateInfo; + Customization: Record; + Equipment: any; +} +export interface LastPlayerStateInfo { + Nickname: string; + Side: string; + Level: number; + MemberCategory: string; +} +export interface ConditionCounters { + Counters: Counter[]; +} +export interface Counter { + id: string; + value: number; + qid: string; +} +export interface BackendCounter { + id: string; + qid?: string; + value: number; +} +export interface InsuredItem { + tid: string; + itemId: string; +} +export interface Hideout { + Production: Record; + Areas: HideoutArea[]; +} +export interface Productive { + Products: Product[]; + Progress?: number; + inProgress?: boolean; + StartTimestamp?: number; +} +export interface Product { + _id: string; + _tpl: string; + upd?: Upd; +} +export interface ScavCase extends Productive { +} +export interface Production extends Productive { + RecipeId: string; + SkipTime: number; + ProductionTime: number; +} +export interface HideoutArea { + type: HideoutAreasEnum; + level: number; + active: boolean; + passiveBonusesEnabled: boolean; + completeTime: number; + constructing: boolean; + slots: HideoutSlot[]; + lastRecipe: string; +} +export interface HideoutSlot { + item: HideoutItem[]; +} +export interface HideoutItem { + _id: string; + _tpl: string; + upd?: Upd; +} +export interface Bonus { + type: string; + templateId?: string; + passive?: boolean; + production?: boolean; + visible?: boolean; + value?: number; + icon?: string; +} +export interface Quest { + qid: string; + startTime: number; + status: string; + statusTimers?: StatusTimer; + completedConditions?: string[]; +} +export interface StatusTimer { + AvailableForStart?: number; +} +export interface TraderInfo { + loyaltyLevel: number; + salesSum: number; + standing: number; + nextResupply: number; + unlocked: boolean; +} +export interface RagfairInfo { + rating: number; + isRatingGrowing: boolean; + offers: IRagfairOffer[]; +} +export interface CarExtractCounts { +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/MemberCategory.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/MemberCategory.d.ts new file mode 100644 index 0000000..3bd9a21 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/MemberCategory.d.ts @@ -0,0 +1,13 @@ +export declare enum MemberCategory { + Default = 0, + Developer = 1, + UniqueId = 2, + Trader = 4, + Group = 8, + System = 16, + ChatModerator = 32, + ChatModeratorWithPermanentBan = 64, + UnitTest = 128, + Sherpa = 256, + Emissary = 512 +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/request/IBaseInteractionRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/request/IBaseInteractionRequestData.d.ts new file mode 100644 index 0000000..7303275 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/request/IBaseInteractionRequestData.d.ts @@ -0,0 +1,9 @@ +export interface IBaseInteractionRequestData { + Action: string; + fromOwner?: OwnerInfo; + toOwner?: OwnerInfo; +} +export interface OwnerInfo { + id: string; + type: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotBase.d.ts new file mode 100644 index 0000000..677fd49 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotBase.d.ts @@ -0,0 +1,101 @@ +import { BackendCounter, Bonus } from "../IPmcData"; +import { Item } from "./IItem"; +export interface IBotBase { + _id: string; + aid: string; + savage: any; + Info: Info; + Customization: Customization; + Health: Health; + Inventory: Inventory; + Skills: Skills; + Stats: Stats; + Encyclopedia: any; + ConditionCounters: ConditionCounters; + BackendCounters: Record; + InsuredItems: any[]; + Hideout: Hideout; + Bonuses: Bonus[]; +} +export interface Info { + Nickname: string; + LowerNickname: string; + Side: string; + Voice: string; + Level: number; + Experience: number; + RegistrationDate: number; + GameVersion: string; + AccountType: number; + MemberCategory: number; + lockedMoveCommands: boolean; + SavageLockTime: number; + LastTimePlayedAsSavage: number; + Settings: Settings; + NicknameChangeDate: number; + NeedWipeOptions: any[]; + lastCompletedWipe: any; + BannedState: boolean; + BannedUntil: number; + IsStreamerModeAvailable: boolean; +} +export interface Settings { + Role: string; + BotDifficulty: string; + Experience: number; + StandingForKill: number; + AggressorBonus: number; +} +export interface Customization { + Head: string; + Body: string; + Feet: string; + Hands: string; +} +export interface Health { +} +export interface Inventory { + items: Item[]; + equipment: string; + stash: string; + sortingTable: string; + questRaidItems: string; + questStashItems: string; + fastPanel: FastPanel; +} +export interface FastPanel { +} +export interface Skills { + Common: any[]; + Mastering: any[]; + Points: number; +} +export interface Stats { + SessionCounters: SessionCounters; + OverallCounters: OverallCounters; +} +export interface SessionCounters { + Items: any[]; +} +export interface OverallCounters { + Items: any[]; +} +export interface ConditionCounters { + Counters: any[]; +} +export interface Hideout { + Production: Production; + Areas: Area[]; +} +export interface Production { +} +export interface Area { + type: number; + level: number; + active: boolean; + passiveBonusesEnabled: boolean; + completeTime: number; + constructing: boolean; + slots: any[]; + lastRecipe: any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotCore.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotCore.d.ts new file mode 100644 index 0000000..16a782d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotCore.d.ts @@ -0,0 +1,133 @@ +export interface IBotCore { + SAVAGE_KILL_DIST: number; + SOUND_DOOR_BREACH_METERS: number; + SOUND_DOOR_OPEN_METERS: number; + STEP_NOISE_DELTA: number; + JUMP_NOISE_DELTA: number; + GUNSHOT_SPREAD: number; + GUNSHOT_SPREAD_SILENCE: number; + BASE_WALK_SPEREAD2: number; + MOVE_SPEED_COEF_MAX: number; + SPEED_SERV_SOUND_COEF_A: number; + SPEED_SERV_SOUND_COEF_B: number; + G: number; + STAY_COEF: number; + SIT_COEF: number; + LAY_COEF: number; + MAX_ITERATIONS: number; + START_DIST_TO_COV: number; + MAX_DIST_TO_COV: number; + STAY_HEIGHT: number; + CLOSE_POINTS: number; + COUNT_TURNS: number; + SIMPLE_POINT_LIFE_TIME_SEC: number; + DANGER_POINT_LIFE_TIME_SEC: number; + DANGER_POWER: number; + COVER_DIST_CLOSE: number; + GOOD_DIST_TO_POINT: number; + COVER_TOOFAR_FROM_BOSS: number; + COVER_TOOFAR_FROM_BOSS_SQRT: number; + MAX_Y_DIFF_TO_PROTECT: number; + FLARE_POWER: number; + MOVE_COEF: number; + PRONE_POSE: number; + LOWER_POSE: number; + MAX_POSE: number; + FLARE_TIME: number; + MAX_REQUESTS__PER_GROUP: number; + UPDATE_GOAL_TIMER_SEC: number; + DIST_NOT_TO_GROUP: number; + DIST_NOT_TO_GROUP_SQR: number; + LAST_SEEN_POS_LIFETIME: number; + DELTA_GRENADE_START_TIME: number; + DELTA_GRENADE_END_TIME: number; + DELTA_GRENADE_RUN_DIST: number; + DELTA_GRENADE_RUN_DIST_SQRT: number; + PATROL_MIN_LIGHT_DIST: number; + HOLD_MIN_LIGHT_DIST: number; + STANDART_BOT_PAUSE_DOOR: number; + ARMOR_CLASS_COEF: number; + SHOTGUN_POWER: number; + RIFLE_POWER: number; + PISTOL_POWER: number; + SMG_POWER: number; + SNIPE_POWER: number; + GESTUS_PERIOD_SEC: number; + GESTUS_AIMING_DELAY: number; + GESTUS_REQUEST_LIFETIME: number; + GESTUS_FIRST_STAGE_MAX_TIME: number; + GESTUS_SECOND_STAGE_MAX_TIME: number; + GESTUS_MAX_ANSWERS: number; + GESTUS_FUCK_TO_SHOOT: number; + GESTUS_DIST_ANSWERS: number; + GESTUS_DIST_ANSWERS_SQRT: number; + GESTUS_ANYWAY_CHANCE: number; + TALK_DELAY: number; + CAN_SHOOT_TO_HEAD: boolean; + CAN_TILT: boolean; + TILT_CHANCE: number; + MIN_BLOCK_DIST: number; + MIN_BLOCK_TIME: number; + COVER_SECONDS_AFTER_LOSE_VISION: number; + MIN_ARG_COEF: number; + MAX_ARG_COEF: number; + DEAD_AGR_DIST: number; + MAX_DANGER_CARE_DIST_SQRT: number; + MAX_DANGER_CARE_DIST: number; + MIN_MAX_PERSON_SEARCH: number; + PERCENT_PERSON_SEARCH: number; + LOOK_ANYSIDE_BY_WALL_SEC_OF_ENEMY: number; + CLOSE_TO_WALL_ROTATE_BY_WALL_SQRT: number; + SHOOT_TO_CHANGE_RND_PART_MIN: number; + SHOOT_TO_CHANGE_RND_PART_MAX: number; + SHOOT_TO_CHANGE_RND_PART_DELTA: number; + FORMUL_COEF_DELTA_DIST: number; + FORMUL_COEF_DELTA_SHOOT: number; + FORMUL_COEF_DELTA_FRIEND_COVER: number; + SUSPETION_POINT_DIST_CHECK: number; + MAX_BASE_REQUESTS_PER_PLAYER: number; + MAX_HOLD_REQUESTS_PER_PLAYER: number; + MAX_GO_TO_REQUESTS_PER_PLAYER: number; + MAX_COME_WITH_ME_REQUESTS_PER_PLAYER: number; + CORE_POINT_MAX_VALUE: number; + CORE_POINTS_MAX: number; + CORE_POINTS_MIN: number; + BORN_POISTS_FREE_ONLY_FAREST_BOT: boolean; + BORN_POINSTS_FREE_ONLY_FAREST_PLAYER: boolean; + SCAV_GROUPS_TOGETHER: boolean; + LAY_DOWN_ANG_SHOOT: number; + HOLD_REQUEST_TIME_SEC: number; + TRIGGERS_DOWN_TO_RUN_WHEN_MOVE: number; + MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING: number; + MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING_OTHER_ENEMIS: number; + MIN_DIST_TO_STOP_RUN: number; + JUMP_SPREAD_DIST: number; + LOOK_TIMES_TO_KILL: number; + COME_INSIDE_TIMES: number; + TOTAL_TIME_KILL: number; + TOTAL_TIME_KILL_AFTER_WARN: number; + MOVING_AIM_COEF: number; + VERTICAL_DIST_TO_IGNORE_SOUND: number; + DEFENCE_LEVEL_SHIFT: number; + MIN_DIST_CLOSE_DEF: number; + USE_ID_PRIOR_WHO_GO: boolean; + SMOKE_GRENADE_RADIUS_COEF: number; + GRENADE_PRECISION: number; + MAX_WARNS_BEFORE_KILL: number; + CARE_ENEMY_ONLY_TIME: number; + MIDDLE_POINT_COEF: number; + MAIN_TACTIC_ONLY_ATTACK: boolean; + LAST_DAMAGE_ACTIVE: number; + SHALL_DIE_IF_NOT_INITED: boolean; + CHECK_BOT_INIT_TIME_SEC: number; + WEAPON_ROOT_Y_OFFSET: number; + DELTA_SUPRESS_DISTANCE_SQRT: number; + DELTA_SUPRESS_DISTANCE: number; + WAVE_COEF_LOW: number; + WAVE_COEF_MID: number; + WAVE_COEF_HIGH: number; + WAVE_COEF_HORDE: number; + WAVE_ONLY_AS_ONLINE: boolean; + LOCAL_BOTS_COUNT: number; + AXE_MAN_KILLS_END: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotType.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotType.d.ts new file mode 100644 index 0000000..e0f39d9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IBotType.d.ts @@ -0,0 +1,174 @@ +export interface IBotType { + appearance: Appearance; + chances: Chances; + difficulty: Difficulties; + experience: Experience; + firstName: string[]; + generation: Generation; + health: Health; + inventory: Inventory; + lastName: string[]; + skills: Skills; +} +export interface Appearance { + body: string[]; + feet: string[]; + hands: string[]; + head: string[]; + voice: string[]; +} +export interface Chances { + equipment: EquipmentChances; + mods: ModsChances; +} +export interface EquipmentChances { + ArmBand: number; + ArmorVest: number; + Backpack: number; + Earpiece: number; + Eyewear: number; + FaceCover: number; + FirstPrimaryWeapon: number; + Headwear: number; + Holster: number; + Pockets: number; + Scabbard: number; + SecondPrimaryWeapon: number; + SecuredContainer: number; + TacticalVest: number; +} +export interface ModsChances { + mod_charge: number; + mod_equipment: number; + mod_equipment_000: number; + mod_equipment_001: number; + mod_equipment_002: number; + mod_flashlight: number; + mod_foregrip: number; + mod_launcher: number; + mod_magazine: number; + mod_mount: number; + mod_mount_000: number; + mod_mount_001: number; + mod_muzzle: number; + mod_nvg: number; + mod_pistol_grip: number; + mod_reciever: number; + mod_scope: number; + mod_sight_front: number; + mod_sight_rear: number; + mod_stock: number; + mod_stock_000: number; + mod_stock_akms: number; + mod_tactical: number; + mod_tactical_000: number; + mod_tactical_001: number; + mod_tactical_002: number; + mod_tactical_003: number; +} +export interface Difficulties { + easy: Difficulty; + normal: Difficulty; + hard: Difficulty; + impossible: Difficulty; +} +export interface Difficulty { + Aiming: Record; + Boss: Record; + Change: Record; + Core: Record; + Cover: Record; + Grenade: Record; + Hearing: Record; + Lay: Record; + Look: Record; + Mind: Record; + Move: Record; + Patrol: Record; + Scattering: Record; + Shoot: Record; +} +export interface Experience { + aggressorBonus: number; + level: MinMax; + reward: MinMax; + standingForKill: number; +} +export interface Generation { + items: ItemMinMax; +} +export interface ItemMinMax { + grenades: MinMax; + healing: MinMax; + looseLoot: MinMax; + magazines: MinMax; + specialItems: MinMax; +} +export interface Health { + BodyParts: BodyPart[]; + Energy: MinMax; + Hydration: MinMax; + Temperature: MinMax; +} +export interface BodyPart { + Chest: MinMax; + Head: MinMax; + LeftArm: MinMax; + LeftLeg: MinMax; + RightArm: MinMax; + RightLeg: MinMax; + Stomach: MinMax; +} +export interface MinMax { + max: number; + min: number; +} +export interface Inventory { + equipment: Equipment; + items: Items; + mods: Mods; +} +export interface Equipment { + ArmBand: Record; + ArmorVest: Record; + Backpack: Record; + Earpiece: Record; + Eyewear: Record; + FaceCover: Record; + FirstPrimaryWeapon: Record; + Headwear: Record; + Holster: Record; + Pockets: Record; + Scabbard: Record; + SecondPrimaryWeapon: Record; + SecuredContainer: Record; + TacticalVest: Record; +} +export interface Items { + Backpack: string[]; + Pockets: string[]; + SecuredContainer: string[]; + SpecialLoot: string[]; + TacticalVest: string[]; +} +export declare type Mods = Record>; +export interface Skills { + Common: Common[]; + Bonuses?: any; + Mastering: Mastering[]; + Points: number; +} +export interface Mastering { + Id: string; + Progress: number; + max?: number; + min?: number; +} +export interface Common { + Id: string; + Progress: number; + PointsEarnedDuringSession?: number; + LastAccess?: number; + max?: number; + min?: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ICustomizationItem.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ICustomizationItem.d.ts new file mode 100644 index 0000000..8bfeece --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ICustomizationItem.d.ts @@ -0,0 +1,33 @@ +export interface ICustomizationItem { + _id: string; + _name: string; + _parent: string; + _type: string; + _props: Props; + _proto: string; +} +export interface Props { + Name: string; + ShortName: string; + Description: string; + Side: string[]; + BodyPart: string; + AvailableAsDefault?: boolean; + Body: string; + Hands: string; + Feet: string; + Prefab: Prefab; + WatchPrefab: Prefab; + IntegratedArmorVest: boolean; + WatchPosition: Xyz; + WatchRotation: Xyz; +} +export interface Prefab { + path: string; + rcid: string; +} +export interface Xyz { + x: number; + y: number; + z: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IHandbookBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IHandbookBase.d.ts new file mode 100644 index 0000000..7d7db07 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IHandbookBase.d.ts @@ -0,0 +1,16 @@ +export interface IHandbookBase { + Categories: Category[]; + Items: HandbookItem[]; +} +export interface Category { + Id: string; + ParentId?: string; + Icon: string; + Color: string; + Order: string; +} +export interface HandbookItem { + Id: string; + ParentId: string; + Price: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IItem.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IItem.d.ts new file mode 100644 index 0000000..2dd2c03 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IItem.d.ts @@ -0,0 +1,108 @@ +export interface Item { + _id: string; + _tpl: string; + parentId?: string; + slotId?: string; + location?: Location | number; + upd?: Upd; +} +export interface Upd { + OriginalStackObjectsCount?: number; + Togglable?: Togglable; + Map?: Map; + Tag?: Tag; + sptPresetId?: string; + FaceShield?: FaceShield; + StackObjectsCount?: number; + UnlimitedCount?: boolean; + Repairable?: Repairable; + FireMode?: FireMode; + SpawnedInSession?: boolean; + Light?: Light; + Key?: Key; + Resource?: Resource; + Sight?: Sight; + MedKit?: MedKit; + FoodDrink?: FoodDrink; + Dogtag?: Dogtag; + BuyRestrictionMax?: number; + BuyRestrictionCurrent?: number; + Foldable?: Foldable; + SideEffect?: SideEffect; + RepairKit?: RepairKit; +} +export interface Togglable { + On: boolean; +} +export interface Map { + Markers: MapMarker[]; +} +export interface MapMarker { + X: number; + Y: number; +} +export interface Tag { + Color: number; + Name: string; +} +export interface FaceShield { + Hits: number; +} +export interface Repairable { + Durability: number; + MaxDurability: number; +} +export interface MedKit { + HpResource: number; +} +export interface Sight { + ScopesCurrentCalibPointIndexes: number[]; + ScopesSelectedModes: number[]; + SelectedScope: number; +} +export interface Foldable { + Folded: boolean; +} +export interface FireMode { + FireMode: string; +} +export interface FoodDrink { + HpPercent: number; +} +export interface Key { + NumberOfUsages: number; +} +export interface Resource { + Value: number; + UnitsConsumed: number; +} +export interface Light { + IsActive: boolean; + SelectedMode: number; +} +export interface Dogtag { + AccountId: string; + ProfileId: string; + Nickname: string; + Side: string; + Level: number; + Time: string; + Status: string; + KillerAccountId: string; + KillerProfileId: string; + KillerName: string; + WeaponName: string; +} +export interface Location { + x: number; + y: number; + r: string | number; + isSearched?: boolean; + rotation?: string; +} +export interface SideEffect { + Value: number; +} +export interface RepairKit { + Resource: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ILocationsBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ILocationsBase.d.ts new file mode 100644 index 0000000..2c96af3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ILocationsBase.d.ts @@ -0,0 +1,10 @@ +export interface ILocationsBase { + locations: Locations; + paths: Path[]; +} +export interface Locations { +} +export interface Path { + Source: string; + Destination: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ILootBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ILootBase.d.ts new file mode 100644 index 0000000..e4baac5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ILootBase.d.ts @@ -0,0 +1,64 @@ +import { Item } from "./IItem"; +export interface ILootBase { + staticAmmo: Record; + staticContainers: Record; + staticLoot: Record; +} +export interface IStaticAmmoDetails { + tpl: string; + relativeProbability: number; +} +export interface IStaticContainerDetails { + staticWeapons: IStaticWeaponProps[]; + staticContainers: IStaticContainerProps[]; + staticForced: IStaticForcedProps[]; +} +export interface IStaticWeaponProps { + Id: string; + IsStatic: boolean; + useGravity: boolean; + randomRotation: boolean; + Position: Xyz; + Rotation: Xyz; + IsGroupPosition: boolean; + GroupPositions: any[]; + Root: string; + Items: Item[]; +} +export interface IStaticContainerProps { + Id: string; + IsStatic: boolean; + useGravity: boolean; + randomRotation: boolean; + Position: Xyz; + Rotation: Xyz; + IsGroupPosition: boolean; + GroupPositions: any[]; + Root: any; + Items: StaticItem[]; +} +export interface Xyz { + x: number; + y: number; + z: number; +} +export interface StaticItem { + _id: any; + _tpl: string; +} +export interface IStaticForcedProps { + containerId: string; + itemTpl: string; +} +export interface IStaticLootDetails { + itemcountDistribution: ItemCountDistribution[]; + itemDistribution: ItemDistribution[]; +} +export interface ItemCountDistribution { + count: number; + relativeProbability: number; +} +export interface ItemDistribution { + tpl: string; + relativeProbability: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IQuest.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IQuest.d.ts new file mode 100644 index 0000000..1582a2f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IQuest.d.ts @@ -0,0 +1,76 @@ +import { Item } from "./IItem"; +export interface IQuest { + QuestName: string; + _id: string; + canShowNotificationsInGame: boolean; + conditions: Conditions; + description: string; + failMessageText: string; + name: string; + note: string; + traderId: string; + location: string; + image: string; + type: string; + isKey: boolean; + restartable: boolean; + instantComplete: boolean; + secretQuest: boolean; + startedMessageText: string; + successMessageText: string; + templateId: string; + rewards: Rewards; + status: string; + KeyQuest: boolean; + changeQuestMessageText: string; +} +export interface Conditions { + Started: AvailableForConditions[]; + AvailableForFinish: AvailableForConditions[]; + AvailableForStart: AvailableForConditions[]; + Success: AvailableForConditions[]; + Fail: AvailableForConditions[]; +} +export interface AvailableForConditions { + _parent: string; + _props: AvailableForProps; + dynamicLocale: boolean; +} +export interface AvailableForProps { + id: string; + index: number; + parentId: string; + dynamicLocale: boolean; + value?: number; + compareMethod?: string; + visibilityConditions?: VisibilityCondition[]; + target?: string; + status?: number[]; +} +export interface VisibilityCondition { + id: string; + value: number; + dynamicLocale: boolean; + oneSessionOnly: boolean; +} +export interface Rewards { + AvailableForStart: Reward[]; + AvailableForFinish: Reward[]; + Started: Reward[]; + Success: Reward[]; + Fail: Reward[]; + FailRestartable: Reward[]; + Expired: Reward[]; +} +export interface Reward { + value?: string; + id: string; + type: string; + index: number; + target?: string; + items?: Item[]; + loyaltyLevel?: number; + traderId?: string; + unknown?: boolean; + findInRaid?: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IRepeatableQuests.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IRepeatableQuests.d.ts new file mode 100644 index 0000000..e23ec73 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/IRepeatableQuests.d.ts @@ -0,0 +1,219 @@ +import { Item } from "./IItem"; +export interface IReward { + index: number; + type: string; + value: number; + target?: string; + items?: Item[]; +} +export interface IRepeatableQuestDatabase { + templates: ITemplates; + rewards: IRewardOptions; + data: IOptions; + samples: ISampleQuests[]; +} +export interface ITemplates { + Elimination: IRepeatableQuest; + Completion: IRepeatableQuest; + Exploration: IRepeatableQuest; +} +export interface IPmcDataRepeatableQuest { + id?: string; + name: string; + activeQuests: IRepeatableQuest[]; + inactiveQuests: IRepeatableQuest[]; + endTime: number; + changeRequirement: TChangeRequirementRecord; +} +export declare type TChangeRequirementRecord = Record; +export interface IChangeRequirement { + changeCost: IChangeCost[]; + changeStandingCost: number; +} +export interface IChangeCost { + templateId: string; + count: number; +} +export interface IRepeatableQuest { + _id: any; + traderId: string; + location: any; + image: string; + type: string; + isKey: boolean; + restartable: boolean; + instantComplete: boolean; + secretQuest: boolean; + canShowNotificationsInGame: boolean; + rewards: IRewards; + conditions: IConditions; + name: string; + note: string; + description: string; + successMessageText: string; + failMessageText: string; + startedMessageText: string; + changeQuestMessageText: string; + templateId: string; + changeCost: IChangeCost[]; + changeStandingCost: number; +} +export interface IRewards { + Started: IReward[]; + Success: IReward[]; + Fail: IReward[]; +} +export interface IConditions { + AvailableForStart: any[]; + AvailableForFinish: IAvailableFor[]; + Fail: any[]; +} +export interface IAvailableFor { + _props: IAvailableForProps; + _parent: string; + dynamicLocale: boolean; +} +export interface IAvailableForProps { + id: string; + parentId: string; + dynamicLocale: boolean; + index: number; + visibilityConditions: IVisibilityCondition[]; + value: number; +} +export interface IVisibilityCondition { + id: string; + oneSessionOnly: boolean; + value: number; + index: number; + dynamicLocale: boolean; +} +export interface IAvailableForPropsCounter extends IAvailableForProps { + type: string; + oneSessionOnly: boolean; + doNotResetIfCounterCompleted: boolean; + counter: ICounter; +} +export interface ICounter { + id: string; + conditions: ICondition[]; +} +export interface ICondition { + _props: IConditionProps; + _parent: string; +} +export interface IConditionProps { + id: string; + dynamicLocale: boolean; +} +export interface IElimination extends IRepeatableQuest { + conditions: IEliminationConditions; +} +export interface IEliminationConditions extends IConditions { + AvailableForFinish: IEliminationAvailableFor[]; +} +export interface IEliminationAvailableFor extends IAvailableFor { + _props: IEliminationAvailableForProps; +} +export interface IEliminationAvailableForProps extends IAvailableForPropsCounter { + counter: IEliminationCounter; +} +export interface IEliminationCounter extends ICounter { + conditions: IEliminationCondition[]; +} +export interface IEliminationCondition extends ICondition { + _props: ILocationConditionProps | IKillConditionProps; +} +export interface IExploration extends IRepeatableQuest { + conditions: IExplorationConditions; +} +export interface IExplorationConditions extends IConditions { + AvailableForFinish: IExplorationAvailableFor[]; +} +export interface IExplorationAvailableFor extends IAvailableFor { + _props: IExplorationAvailableForProps; +} +export interface IExplorationAvailableForProps extends IAvailableForPropsCounter { + counter: IExplorationCounter; +} +export interface IExplorationCounter extends ICounter { + conditions: IExplorationCondition[]; +} +export interface IExplorationCondition extends ICondition { + _props: ILocationConditionProps | IExitStatusConditionProps | IExitNameConditionProps; +} +export interface ICompletion extends IRepeatableQuest { + conditions: ICompletionConditions; +} +export interface ICompletionConditions extends IConditions { + AvailableForFinish: ICompletionAvailableFor[]; +} +export interface ICompletionAvailableFor extends IAvailableFor { + _props: ICompletionAvailableForProps; +} +export interface ICompletionAvailableForProps extends IAvailableForProps { + target: string[]; + minDurability: number; + maxDurability: number; + dogtagLevel: number; + onlyFoundInRaid: boolean; +} +export interface ILocationConditionProps extends IConditionProps { + target: string[]; +} +export interface IKillConditionProps extends IConditionProps { + target: string; + value: number; + savageRole?: string[]; + bodyPart?: string[]; + distance?: IDistanceCheck; +} +export interface IDistanceCheck { + compareMethod: string; + value: number; +} +export interface IExitStatusConditionProps extends IConditionProps { + status: string[]; +} +export interface IExitNameConditionProps extends IConditionProps { + exitName: string; +} +export interface IRewardOptions { + itemsBlacklist: string[]; +} +export interface IOptions { + Completion: ICompletionFilter; +} +export interface ICompletionFilter { + itemsBlacklist: ItemsBlacklist[]; + itemsWhitelist: ItemsWhitelist[]; +} +export interface ItemsBlacklist { + minPlayerLevel: number; + itemIds: string[]; +} +export interface ItemsWhitelist { + minPlayerLevel: number; + itemIds: string[]; +} +export interface ISampleQuests { + _id: string; + traderId: string; + location: string; + image: string; + type: string; + isKey: boolean; + restartable: boolean; + instantComplete: boolean; + secretQuest: boolean; + canShowNotificationsInGame: boolean; + rewards: IRewards; + conditions: IConditions; + name: string; + note: string; + description: string; + successMessageText: string; + failMessageText: string; + startedMessageText: string; + templateId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ITemplateItem.d.ts new file mode 100644 index 0000000..c2ba762 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ITemplateItem.d.ts @@ -0,0 +1,401 @@ +export interface ITemplateItem { + _id: string; + _name: string; + _parent: string; + _type: string; + _props: Props; + _proto: string; +} +export interface Props { + Name: string; + ShortName: string; + Description: string; + Weight: number; + BackgroundColor: string; + Width: number; + Height: number; + StackMaxSize: number; + Rarity?: string; + SpawnChance?: number; + CreditsPrice?: number; + ItemSound: string; + Prefab: Prefab; + UsePrefab: Prefab; + StackObjectsCount: number; + NotShownInSlot: boolean; + ExaminedByDefault: boolean; + ExamineTime: number; + IsUndiscardable: boolean; + IsUnsaleable: boolean; + IsUnbuyable: boolean; + IsUngivable: boolean; + IsLockedafterEquip: boolean; + QuestItem: boolean; + LootExperience: number; + ExamineExperience: number; + HideEntrails: boolean; + RepairCost: number; + RepairSpeed: number; + ExtraSizeLeft: number; + ExtraSizeRight: number; + ExtraSizeUp: number; + ExtraSizeDown: number; + ExtraSizeForceAdd: boolean; + MergesWithChildren: boolean; + CanSellOnRagfair: boolean; + CanRequireOnRagfair: boolean; + ConflictingItems: string[]; + DiscardLimit: number; + Unlootable: boolean; + UnlootableFromSlot: string; + UnlootableFromSide: string[]; + AnimationVariantsNumber: number; + DiscardingBlock: boolean; + RagFairCommissionModifier: number; + IsAlwaysAvailableForInsurance: boolean; + Grids: Grid[]; + Slots: Slot[]; + CanPutIntoDuringTheRaid: boolean; + CantRemoveFromSlotsDuringRaid: string[]; + weapClass: string; + weapUseType: string; + ammoCaliber: string; + Durability: number; + MaxDurability: number; + OperatingResource: number; + RepairComplexity: number; + durabSpawnMin: number; + durabSpawnMax: number; + isFastReload: boolean; + RecoilForceUp: number; + RecoilForceBack: number; + Convergence: number; + RecoilAngle: number; + weapFireType: string[]; + RecolDispersion: number; + SingleFireRate: number; + CanQueueSecondShot: boolean; + bFirerate: number; + Ergonomics: number; + Velocity: number; + bEffDist: number; + bHearDist: number; + isChamberLoad: boolean; + chamberAmmoCount: number; + isBoltCatch: boolean; + defMagType: string; + defAmmo: string; + AdjustCollimatorsToTrajectory: boolean; + shotgunDispersion: number; + Chambers: Chamber[]; + CameraRecoil: number; + CameraSnap: number; + ReloadMode: string; + CenterOfImpact: number; + AimPlane: number; + DeviationCurve: number; + DeviationMax: number; + Foldable: boolean; + Retractable: boolean; + TacticalReloadStiffnes: Xyz; + TacticalReloadFixation: number; + RecoilCenter: Xyz; + RotationCenter: Xyz; + RotationCenterNoStock: Xyz; + SizeReduceRight: number; + FoldedSlot: string; + CompactHandling: boolean; + SightingRange: number; + MinRepairDegradation: number; + MaxRepairDegradation: number; + MinRepairKitDegradation: number; + MaxRepairKitDegradation: number; + IronSightRange: number; + MustBoltBeOpennedForExternalReload: boolean; + MustBoltBeOpennedForInternalReload: boolean; + BoltAction: boolean; + HipAccuracyRestorationDelay: number; + HipAccuracyRestorationSpeed: number; + HipInnaccuracyGain: number; + ManualBoltCatch: boolean; + BurstShotsCount: number; + BaseMalfunctionChance: number; + AllowJam: boolean; + AllowFeed: boolean; + AllowMisfire: boolean; + AllowSlide: boolean; + DurabilityBurnRatio: number; + HeatFactorGun: number; + CoolFactorGun: number; + CoolFactorGunMods: number; + HeatFactorByShot: number; + AllowOverheat: boolean; + DoubleActionAccuracyPenalty: number; + RecoilPosZMult: number; + ShotgunDispersion: number; + StackMinRandom: number; + StackMaxRandom: number; + StackSlots: StackSlot[]; + SearchSound: string; + BlocksArmorVest: boolean; + RigLayoutName: string; + armorZone: string[]; + armorClass: number; + speedPenaltyPercent: number; + mousePenalty: number; + weaponErgonomicPenalty: number; + BluntThroughput: number; + ArmorMaterial: string; + medUseTime: number; + medEffectType: string; + MaxHpResource: number; + hpResourceRate: number; + StimulatorBuffs: string; + effects_health: EffectsHealth; + effects_damage: EffectsDamage; + knifeHitDelay: number; + knifeHitSlashRate: number; + knifeHitStabRate: number; + knifeHitRadius: number; + knifeHitSlashDam: number; + knifeHitStabDam: number; + knifeDurab: number; + PrimaryDistance: number; + SecondryDistance: number; + SlashPenetration: number; + StabPenetration: number; + PrimaryConsumption: number; + SecondryConsumption: number; + DeflectionConsumption: number; + MaxResource: number; + AppliedTrunkRotation: Xyz; + AppliedHeadRotation: Xyz; + DisplayOnModel: boolean; + AdditionalAnimationLayer: number; + StaminaBurnRate: number; + ColliderScaleMultiplier: Xyz; + ammoType: string; + InitialSpeed: number; + BallisticCoeficient: number; + BulletMassGram: number; + BulletDiameterMilimeters: number; + Damage: number; + ammoAccr: number; + ammoRec: number; + ammoDist: number; + buckshotBullets: number; + PenetrationPower: number; + PenetrationPowerDiviation: number; + ammoHear: number; + ammoSfx: string; + MisfireChance: number; + MinFragmentsCount: number; + MaxFragmentsCount: number; + ammoShiftChance: number; + casingName: string; + casingEjectPower: number; + casingMass: number; + casingSounds: string; + ProjectileCount: number; + PenetrationChance: number; + RicochetChance: number; + FragmentationChance: number; + Deterioration: number; + SpeedRetardation: number; + Tracer: boolean; + TracerColor: string; + TracerDistance: number; + ArmorDamage: number; + Caliber: string; + StaminaBurnPerDamage: number; + HeavyBleedingDelta: number; + LightBleedingDelta: number; + ShowBullet: boolean; + HasGrenaderComponent: boolean; + FuzeArmTimeSec: number; + ExplosionStrength: number; + MinExplosionDistance: number; + MaxExplosionDistance: number; + FragmentsCount: number; + FragmentType: string; + ShowHitEffectOnExplode: boolean; + ExplosionType: string; + AmmoLifeTimeSec: number; + Contusion: Contusion; + ArmorDistanceDistanceDamage: Xyz; + Blindness: Xyz; + IsLightAndSoundShot: boolean; + LightAndSoundShotAngle: number; + LightAndSoundShotSelfContusionTime: number; + LightAndSoundShotSelfContusionStrength: number; + MalfMisfireChance: number; + DurabilityBurnModificator: number; + HeatFactor: number; + MalfFeedChance: number; + Accuracy: number; + Recoil: number; + Loudness: number; + EffectiveDistance: number; + RaidModdable: boolean; + ToolModdable: boolean; + BlocksFolding: boolean; + BlocksCollapsible: boolean; + IsAnimated: boolean; + HasShoulderContact: boolean; + DoubleActionAccuracyPenaltyMult: number; + magAnimationIndex: number; + Cartridges: Cartridge[]; + CanFast: boolean; + CanHit: boolean; + CanAdmin: boolean; + LoadUnloadModifier: number; + CheckTimeModifier: number; + CheckOverride: number; + ReloadMagType: string; + VisibleAmmoRangesString: string; + MalfunctionChance: number; + TagColor: number; + TagName: string; + MaximumNumberOfUsage: number; + CustomAimPlane: string; + sightModType: string; + aimingSensitivity: number; + SightModesCount: number; + OpticCalibrationDistances: number[]; + ScopesCount: number; + AimSensitivity: number[][]; + ModesCount: number[]; + Zooms: number[][]; + CalibrationDistances: number[][]; + Intensity: number; + Mask: string; + MaskSize: number; + NoiseIntensity: number; + NoiseScale: number; + Color: Color; + DiffuseIntensity: number; + HasHinge: boolean; + Resource?: number; + CoolFactor?: number; + foodUseTime?: number; + foodEffectType?: string; + MaxRepairResource: number; + RepairQuality: number; + RepairType: string; + TargetItemFilter: string[]; + apResource: number; + krResource: number; +} +export interface Prefab { + path: string; + rcid: string; +} +export interface Grid { + _name: string; + _id: string; + _parent: string; + _props: GridProps; + _proto: string; +} +export interface GridProps { + filters: GridFilter[]; + cellsH: number; + cellsV: number; + minCount: number; + maxCount: number; + maxWeight: number; + isSortingTable: boolean; +} +export interface GridFilter { + Filter: string[]; + ExcludedFilter: string[]; +} +export interface Slot { + _name: string; + _id: string; + _parent: string; + _props: SlotProps; + _required: boolean; + _mergeSlotWithChildren: boolean; + _proto: string; +} +export interface SlotProps { + filters: Filter[]; +} +export interface Chamber { + _name: string; + _id: string; + _parent: string; + _props: ChamberProps; + _required: boolean; + _mergeSlotWithChildren: boolean; + _proto: string; +} +export interface ChamberProps { + filters: FilterProps[]; +} +export interface FilterProps { + Filter: string[]; +} +export interface Xyz { + x: number; + y: number; + z: number; +} +export interface StackSlot { + _name?: string; + _id: string; + _sptTpl: string; + parent: string; + location: any; + slotId: string; + _max_count: number; + _props?: StackSlotProps; + _proto?: string; + upd: any; +} +export interface StackSlotProps { + filters: Filter[]; +} +export interface EffectsHealth { + Hydration: Hydration; +} +export interface Hydration { + value: number; +} +export interface EffectsDamage { + Pain: Pain; + Contusion: Contusion; +} +export interface Pain { + delay: number; + duration: number; + fadeOut: number; +} +export interface Contusion { + delay: number; + duration: number; + fadeOut: number; +} +export interface Cartridge { + _name: string; + _id: string; + _parent: string; + _max_count: number; + _props: CartridgeProps; + _proto: string; +} +export interface CartridgeProps { + filters: Filter[]; +} +export interface Filter { + Shift?: number; + Filter: string[]; + AnimationIndex?: number; +} +export interface Color { + r: number; + g: number; + b: number; + a: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ITrader.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ITrader.d.ts new file mode 100644 index 0000000..f0fe2b5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/common/tables/ITrader.d.ts @@ -0,0 +1,90 @@ +import { Item } from "./IItem"; +export interface ITrader { + assort: ITraderAssort; + base: ITraderBase; + dialogue?: Record; + questassort: Record>; + suits?: ISuit[]; +} +export interface ITraderBase { + refreshAssort: boolean; + _id: string; + avatar: string; + balance_dol: number; + balance_eur: number; + balance_rub: number; + buyer_up: boolean; + currency: string; + customization_seller: boolean; + discount: number; + discount_end: number; + gridHeight: number; + insurance: Insurance; + location: string; + loyaltyLevels: LoyaltyLevel[]; + medic: boolean; + name: string; + nextResupply: number; + nickname: string; + repair: Repair; + sell_category: string[]; + surname: string; + unlockedByDefault: boolean; +} +export interface Insurance { + availability: boolean; + excluded_category: string[]; + max_return_hour: number; + max_storage_time: number; + min_payment: number; + min_return_hour: number; +} +export interface LoyaltyLevel { + buy_price_coef: number; + exchange_price_coef: number; + heal_price_coef: number; + insurance_price_coef: number; + minLevel: number; + minSalesSum: number; + minStanding: number; + repair_price_coef: number; +} +export interface Repair { + availability: boolean; + currency: string; + currency_coefficient: number; + excluded_category: string[]; + excluded_id_list: any[]; + quality: string; +} +export interface ITraderAssort { + nextResupply?: number; + items: Item[]; + barter_scheme: Record; + loyal_level_items: Record; +} +export interface IBarterScheme { + count: number; + _tpl: string; + onlyFunctional?: boolean; +} +export interface ISuit { + _id: string; + tid: string; + suiteId: string; + isActive: boolean; + requirements: Requirements; +} +export interface Requirements { + loyaltyLevel: number; + profileLevel: number; + standing: number; + skillRequirements: string[]; + questRequirements: string[]; + itemRequirements: ItemRequirement[]; +} +export interface ItemRequirement { + count: number; + _tpl: string; + onlyFunctional: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/customization/IBuyClothingRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/customization/IBuyClothingRequestData.d.ts new file mode 100644 index 0000000..d19b70d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/customization/IBuyClothingRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IBuyClothingRequestData { + Action: "CustomizationBuy"; + offer: string; + items: ClothingItem[]; +} +export interface ClothingItem { + del: boolean; + id: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/customization/IWearClothingRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/customization/IWearClothingRequestData.d.ts new file mode 100644 index 0000000..122d9cf --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/customization/IWearClothingRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IWearClothingRequestData { + Action: "CustomizationWear"; + suites: string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IFriendRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IFriendRequestData.d.ts new file mode 100644 index 0000000..9c326ac --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IFriendRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IFriendRequestData { + to: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts new file mode 100644 index 0000000..53d8289 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetAllAttachmentsRequestData { + dialogId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts new file mode 100644 index 0000000..076d414 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts @@ -0,0 +1,6 @@ +import { Message } from "../profile/IAkiProfile"; +export interface IGetAllAttachmentsResponse { + messages: Message[]; + profiles: any[]; + hasMessagesWithRewards: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetChatServerListRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetChatServerListRequestData.d.ts new file mode 100644 index 0000000..8f1beac --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetChatServerListRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetChatServerListRequestData { + VersionId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetFriendListDataResponse.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetFriendListDataResponse.d.ts new file mode 100644 index 0000000..41858c9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetFriendListDataResponse.d.ts @@ -0,0 +1,16 @@ +import { MemberCategory } from "../common/MemberCategory"; +export interface IGetFriendListDataResponse { + Friends: Friend[]; + Ignore: any[]; + InIgnoreList: any[]; +} +export interface Friend { + _id: string; + Info: Info; +} +export interface Info { + Nickname: string; + Side: string; + Level: number; + MemberCategory: MemberCategory; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts new file mode 100644 index 0000000..eed84b1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetMailDialogInfoRequestData { + dialogId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts new file mode 100644 index 0000000..f8fbf5d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IGetMailDialogListRequestData { + limit: number; + offset: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts new file mode 100644 index 0000000..db45477 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts @@ -0,0 +1,7 @@ +import { MessageType } from "../profile/IAkiProfile"; +export interface IGetMailDialogViewRequestData { + type: MessageType; + dialogId: string; + limit: number; + time: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts new file mode 100644 index 0000000..4f8b946 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts @@ -0,0 +1,7 @@ +import { IPmcData } from "../common/IPmcData"; +import { Message } from "../profile/IAkiProfile"; +export interface IGetMailDialogViewResponseData { + messages: Message[]; + profiles: IPmcData[]; + hasMessagesWithRewards: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IPinDialogRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IPinDialogRequestData.d.ts new file mode 100644 index 0000000..57b8a00 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IPinDialogRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IPinDialogRequestData { + dialogId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IRemoveDialogRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IRemoveDialogRequestData.d.ts new file mode 100644 index 0000000..874b828 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/IRemoveDialogRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IRemoveDialogRequestData { + dialogId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/ISendMessageRequest.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/ISendMessageRequest.d.ts new file mode 100644 index 0000000..5f140c7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/ISendMessageRequest.d.ts @@ -0,0 +1,7 @@ +import { MessageType } from "../profile/IAkiProfile"; +export interface ISendMessageRequest { + dialogId: string; + type: MessageType; + text: string; + replyTo: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/ISetDialogReadRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/ISetDialogReadRequestData.d.ts new file mode 100644 index 0000000..2076232 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/dialog/ISetDialogReadRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISetDialogReadRequestData { + dialogs: string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IGameConfigResponse.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IGameConfigResponse.d.ts new file mode 100644 index 0000000..eb37a39 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IGameConfigResponse.d.ts @@ -0,0 +1,19 @@ +export interface IGameConfigResponse { + aid: string; + lang: string; + languages: Record; + ndaFree: boolean; + taxonomy: number; + activeProfileId: string; + backend: Backend; + utc_time: number; + totalInGame: number; + reportAvailable: boolean; + twitchEventMember: boolean; +} +export interface Backend { + Trading: string; + Messaging: string; + Main: string; + RagFair: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IGameEmptyCrcRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IGameEmptyCrcRequestData.d.ts new file mode 100644 index 0000000..a3ecad9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IGameEmptyCrcRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGameEmptyCrcRequestData { + crc: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IVersionValidateRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IVersionValidateRequestData.d.ts new file mode 100644 index 0000000..0aa0fed --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/game/IVersionValidateRequestData.d.ts @@ -0,0 +1,11 @@ +export interface IVersionValidateRequestData { + version: Version; + develop: boolean; +} +export interface Version { + major: string; + minor: string; + game: string; + backend: string; + taxonomy: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IHealthTreatmentRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IHealthTreatmentRequestData.d.ts new file mode 100644 index 0000000..7fb80a8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IHealthTreatmentRequestData.d.ts @@ -0,0 +1,29 @@ +export interface IHealthTreatmentRequestData { + Action: "RestoreHealth"; + trader: string; + items: Item[]; + difference: Difference; + timestamp: number; +} +export interface Item { + id: string; + count: number; +} +export interface Difference { + BodyParts: BodyParts; + Energy: number; + Hydration: number; +} +export interface BodyParts { + Head: BodyPart; + Chest: BodyPart; + Stomach: BodyPart; + LeftArm: BodyPart; + RightArm: BodyPart; + LeftLeg: BodyPart; + RightLeg: BodyPart; +} +export interface BodyPart { + Health: number; + Effects: string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IOffraidEatRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IOffraidEatRequestData.d.ts new file mode 100644 index 0000000..8e2b6c3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IOffraidEatRequestData.d.ts @@ -0,0 +1,7 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface IOffraidEatRequestData extends IBaseInteractionRequestData { + Action: "Eat"; + item: string; + count: number; + time: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IOffraidHealRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IOffraidHealRequestData.d.ts new file mode 100644 index 0000000..c242300 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/IOffraidHealRequestData.d.ts @@ -0,0 +1,18 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface IOffraidHealRequestData extends IBaseInteractionRequestData { + Action: "Heal"; + item: string; + part: BodyPart; + count: number; + time: number; +} +export declare enum BodyPart { + Head = 0, + Chest = 1, + Stomach = 2, + LeftArm = 3, + RightArm = 4, + LeftLeg = 5, + RightLeg = 6, + Common = 7 +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/ISyncHealthRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/ISyncHealthRequestData.d.ts new file mode 100644 index 0000000..20e32f6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/health/ISyncHealthRequestData.d.ts @@ -0,0 +1,21 @@ +export interface ISyncHealthRequestData { + Health: Health; + IsAlive: boolean; + Hydration?: number; + Energy?: number; + Temperature?: number; +} +export interface Health { + Head?: BodyPartHealth; + Chest?: BodyPartHealth; + Stomach?: BodyPartHealth; + LeftArm?: BodyPartHealth; + RightArm?: BodyPartHealth; + LeftLeg?: BodyPartHealth; + RightLeg?: BodyPartHealth; +} +export interface BodyPartHealth { + Maximum: number; + Current: number; + Effects: Record; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/HideoutAreasEnum.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/HideoutAreasEnum.d.ts new file mode 100644 index 0000000..10f851b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/HideoutAreasEnum.d.ts @@ -0,0 +1,25 @@ +export declare enum HideoutAreasEnum { + NOTSET = -1, + VENTS = 0, + SECURITY = 1, + LAVATORY = 2, + STASH = 3, + GENERATOR = 4, + HEATING = 5, + WATER_COLLECTOR = 6, + MEDSTATION = 7, + NUTRITION_UNIT = 8, + REST_SPACE = 9, + WORKBENCH = 10, + INTEL_CENTER = 11, + SHOOTING_RANGE = 12, + LIBRARY = 13, + SCAV_CASE = 14, + ILLUMINATION = 15, + PLACE_OF_FAME = 16, + AIR_FILTERING = 17, + SOLAR_POWER = 18, + BOOZE_GENERATOR = 19, + BITCOIN_FARM = 20, + CHRISTMAS_TREE = 21 +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts new file mode 100644 index 0000000..8583e8d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts @@ -0,0 +1,5 @@ +export interface HideoutUpgradeCompleteRequestData { + Action: string; + areaType: number; + timestamp: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutArea.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutArea.d.ts new file mode 100644 index 0000000..d9fd2bf --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutArea.d.ts @@ -0,0 +1,40 @@ +export interface IHideoutArea { + _id: string; + type: number; + enabled: boolean; + needsFuel: boolean; + takeFromSlotLocked: boolean; + craftGivesExp: boolean; + stages: Record; +} +export interface Stage { + requirements: Requirement[]; + bonuses: StageBonus[]; + slots: number; + constructionTime: number; + description: string; +} +export interface Requirement { + areaType?: number; + requiredLevel?: number; + type: string; + templateId?: string; + count?: number; + isFunctional?: boolean; + traderId?: string; + loyaltyLevel?: number; + skillName?: string; + skillLevel?: number; +} +export interface StageBonus { + value: number; + passive: boolean; + production: boolean; + visible: boolean; + skillType?: string; + type: string; + filter?: string[]; + icon?: string; + id?: string; + templateId?: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts new file mode 100644 index 0000000..dba83eb --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IHideoutContinousProductionStartRequestData { + Action: "HideoutContinuousProductionStart"; + recipeId: string; + timestamp: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutProduction.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutProduction.d.ts new file mode 100644 index 0000000..ce878be --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutProduction.d.ts @@ -0,0 +1,20 @@ +export interface IHideoutProduction { + _id: string; + areaType: number; + requirements: Requirement[]; + productionTime: number; + boosters: any; + endProduct: string; + continuous: boolean; + count: number; + productionLimitCount: number; +} +export interface Requirement { + templateId?: string; + count?: number; + isFunctional?: boolean; + type: string; + areaType?: number; + requiredLevel?: number; + resource?: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts new file mode 100644 index 0000000..8326c55 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IHideoutPutItemInRequestData { + Action: "HideoutPutItemsInAreaSlots"; + areaType: number; + items: Record; + timestamp: number; +} +export interface ItemDetails { + count: number; + id: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutScavCase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutScavCase.d.ts new file mode 100644 index 0000000..25abcf3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutScavCase.d.ts @@ -0,0 +1,21 @@ +export interface IHideoutScavCase { + _id: string; + ProductionTime: number; + Requirements: Requirement[]; + EndProducts: EndProducts; +} +export interface Requirement { + templateId: string; + count: number; + isFunctional: boolean; + type: string; +} +export interface EndProducts { + Common: MinMax; + Rare: MinMax; + Superrare: MinMax; +} +export interface MinMax { + min: string; + max: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts new file mode 100644 index 0000000..72fda86 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts @@ -0,0 +1,15 @@ +export interface IHideoutScavCaseStartRequestData { + Action: "HideoutScavCaseProductionStart"; + recipeId: string; + items: HideoutItem[]; + tools: Tool[]; + timestamp: number; +} +export interface HideoutItem { + id: string; + count: number; +} +export interface Tool { + id: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutSettingsBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutSettingsBase.d.ts new file mode 100644 index 0000000..8e45939 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutSettingsBase.d.ts @@ -0,0 +1,6 @@ +export interface IHideoutSettingsBase { + generatorSpeedWithoutFuel: number; + generatorFuelFlowRate: number; + airFilterUnitFlowRate: number; + gpuBoostRate: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts new file mode 100644 index 0000000..1ed542a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IHideoutSingleProductionStartRequestData { + Action: "HideoutSingleProductionStart"; + recipeId: string; + items: Item[]; + timestamp: number; +} +export interface Item { + id: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts new file mode 100644 index 0000000..83a740a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts @@ -0,0 +1,6 @@ +export interface IHideoutTakeItemOutRequestData { + Action: "HideoutTakeItemsFromAreaSlots"; + areaType: number; + slots: number[]; + timestamp: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts new file mode 100644 index 0000000..a6847ef --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IHideoutTakeProductionRequestData { + Action: "HideoutTakeProduction"; + recipeId: string; + timestamp: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts new file mode 100644 index 0000000..cdea513 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts @@ -0,0 +1,6 @@ +export interface IHideoutToggleAreaRequestData { + Action: "HideoutToggleArea"; + areaType: number; + enabled: boolean; + timestamp: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts new file mode 100644 index 0000000..545311e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IHideoutUpgradeCompleteRequestData { + Action: "HideoutUpgradeComplete"; + areaType: number; + timestamp: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts new file mode 100644 index 0000000..dfbfdca --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IHideoutUpgradeRequestData { + Action: "HideoutUpgrade"; + areaType: number; + items: HideoutItem[]; + timestamp: number; +} +export interface HideoutItem { + count: number; + id: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/httpResponse/IGetBodyResponseData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/httpResponse/IGetBodyResponseData.d.ts new file mode 100644 index 0000000..b5dc5c1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/httpResponse/IGetBodyResponseData.d.ts @@ -0,0 +1,5 @@ +export interface IGetBodyResponseData { + err: number; + errmsg: any; + (data: Type): Type; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/httpResponse/INullResponseData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/httpResponse/INullResponseData.d.ts new file mode 100644 index 0000000..a3ae838 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/httpResponse/INullResponseData.d.ts @@ -0,0 +1,5 @@ +export interface INullResponseData { + err: number; + errmsg: any; + data: null; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts new file mode 100644 index 0000000..e2d9cf1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IRegisterPlayerRequestData { + crc: number; + locationId: string; + variantId: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inRaid/ISaveProgressRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inRaid/ISaveProgressRequestData.d.ts new file mode 100644 index 0000000..6930261 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inRaid/ISaveProgressRequestData.d.ts @@ -0,0 +1,8 @@ +import { IPmcData } from "../common/IPmcData"; +import { ISyncHealthRequestData } from "../health/ISyncHealthRequestData"; +export interface ISaveProgressRequestData { + exit: string; + profile: IPmcData; + isPlayerScav: boolean; + health: ISyncHealthRequestData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts new file mode 100644 index 0000000..0e32e96 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IGetInsuranceCostRequestData { + traders: string[]; + items: string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/insurance/IInsureRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/insurance/IInsureRequestData.d.ts new file mode 100644 index 0000000..f657bb7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/insurance/IInsureRequestData.d.ts @@ -0,0 +1,6 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface IInsureRequestData extends IBaseInteractionRequestData { + Action: "Insure"; + tid: string; + items: string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryAddRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryAddRequestData.d.ts new file mode 100644 index 0000000..462e0de --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryAddRequestData.d.ts @@ -0,0 +1,6 @@ +import { Container, IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryAddRequestData extends IInventoryBaseActionRequestData { + Action: "Add"; + item: string; + container: Container; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts new file mode 100644 index 0000000..b45e459 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts @@ -0,0 +1,27 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface IInventoryBaseActionRequestData extends IBaseInteractionRequestData { +} +export interface To { + id: string; + container: string; + location?: ToLocation | number; +} +export interface ToLocation { + x: number; + y: number; + r: string; + rotation?: string; + isSearched: boolean; +} +export interface Container { + id: string; + container: string; + location: Location | number; +} +export interface Location { + x: number; + y: number; + r: string; + rotation?: string; + isSearched: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryBindRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryBindRequestData.d.ts new file mode 100644 index 0000000..ff35066 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryBindRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryBindRequestData extends IInventoryBaseActionRequestData { + Action: "Bind"; + item: string; + index: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts new file mode 100644 index 0000000..1e1ecef --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts @@ -0,0 +1,12 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryCreateMarkerRequestData extends IInventoryBaseActionRequestData { + Action: "CreateMapMarker"; + item: string; + mapMarker: MapMarker; +} +export interface MapMarker { + Type: string; + X: number; + Y: number; + Note: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts new file mode 100644 index 0000000..0657e1b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts @@ -0,0 +1,7 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryDeleteMarkerRequestData extends IInventoryBaseActionRequestData { + Action: "DeleteMapMarker"; + item: string; + X: number; + Y: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts new file mode 100644 index 0000000..e2857e1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts @@ -0,0 +1,14 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryEditMarkerRequestData extends IInventoryBaseActionRequestData { + Action: "EditMapMarker"; + item: string; + X: number; + Y: number; + mapMarker: MapMarker; +} +export interface MapMarker { + Type: string; + X: number; + Y: number; + Note: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryExamineRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryExamineRequestData.d.ts new file mode 100644 index 0000000..614711f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryExamineRequestData.d.ts @@ -0,0 +1,10 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryExamineRequestData extends IInventoryBaseActionRequestData { + Action: "Examine"; + item: string; + fromOwner: IFromOwner; +} +export interface IFromOwner { + id: string; + type: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryFoldRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryFoldRequestData.d.ts new file mode 100644 index 0000000..a5fb2a1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryFoldRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryFoldRequestData extends IInventoryBaseActionRequestData { + Action: "Fold"; + item: string; + value: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryMergeRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryMergeRequestData.d.ts new file mode 100644 index 0000000..3fcfa35 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryMergeRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryMergeRequestData extends IInventoryBaseActionRequestData { + Action: "Merge"; + item: string; + with: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryMoveRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryMoveRequestData.d.ts new file mode 100644 index 0000000..b767908 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryMoveRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData, To } from "./IInventoryBaseActionRequestData"; +export interface IInventoryMoveRequestData extends IInventoryBaseActionRequestData { + Action: "Move"; + item: string; + to: To; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts new file mode 100644 index 0000000..5487b20 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts @@ -0,0 +1,5 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryReadEncyclopediaRequestData extends IInventoryBaseActionRequestData { + Action: "ReadEncyclopedia"; + ids: string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts new file mode 100644 index 0000000..07d1a52 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts @@ -0,0 +1,5 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryRemoveRequestData extends IInventoryBaseActionRequestData { + Action: "Remove"; + item: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySortRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySortRequestData.d.ts new file mode 100644 index 0000000..a0b7928 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySortRequestData.d.ts @@ -0,0 +1,20 @@ +import { Upd } from "../common/tables/IItem"; +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventorySortRequestData extends IInventoryBaseActionRequestData { + Action: "ApplyInventoryChanges"; + changedItems: ChangedItem[]; +} +export interface ChangedItem { + _id: string; + _tpl: string; + parentId: string; + slotId: string; + location: Location; + upd: Upd; +} +export interface Location { + x: number; + y: number; + r: string; + isSearched: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySplitRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySplitRequestData.d.ts new file mode 100644 index 0000000..730ae71 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySplitRequestData.d.ts @@ -0,0 +1,7 @@ +import { Container, IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventorySplitRequestData extends IInventoryBaseActionRequestData { + Action: "Split"; + item: string; + container: Container; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySwapRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySwapRequestData.d.ts new file mode 100644 index 0000000..1b0464d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventorySwapRequestData.d.ts @@ -0,0 +1,11 @@ +import { OwnerInfo } from "../common/request/IBaseInteractionRequestData"; +import { IInventoryBaseActionRequestData, To } from "./IInventoryBaseActionRequestData"; +export interface IInventorySwapRequestData extends IInventoryBaseActionRequestData { + Action: "Swap"; + item: string; + to: To; + item2: string; + to2: To; + fromOwner2: OwnerInfo; + toOwner2: OwnerInfo; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryTagRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryTagRequestData.d.ts new file mode 100644 index 0000000..f021661 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryTagRequestData.d.ts @@ -0,0 +1,7 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryTagRequestData extends IInventoryBaseActionRequestData { + Action: "Tag"; + item: string; + TagName: string; + TagColor: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryToggleRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryToggleRequestData.d.ts new file mode 100644 index 0000000..0955440 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryToggleRequestData.d.ts @@ -0,0 +1,6 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryToggleRequestData extends IInventoryBaseActionRequestData { + Action: "Toggle"; + item: string; + value: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryTransferRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryTransferRequestData.d.ts new file mode 100644 index 0000000..cf4391b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/inventory/IInventoryTransferRequestData.d.ts @@ -0,0 +1,7 @@ +import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData"; +export interface IInventoryTransferRequestData extends IInventoryBaseActionRequestData { + Action: "Transfer"; + item: string; + with: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts new file mode 100644 index 0000000..689fe75 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts @@ -0,0 +1,4 @@ +import { IItemEventRouterBase } from "./IItemEventRouterBase"; +export interface IEmptyItemEventRouterResponse extends IItemEventRouterBase { + profileChanges: ""; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterBase.d.ts new file mode 100644 index 0000000..31e62fe --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterBase.d.ts @@ -0,0 +1,67 @@ +import { Skills } from "../common/IPmcData"; +import { Item, Upd } from "../common/tables/IItem"; +import { IQuest } from "../common/tables/IQuest"; +import { IPmcDataRepeatableQuest } from "../common/tables/IRepeatableQuests"; +import { IRagfairOffer } from "../ragfair/IRagfairOffer"; +export interface IItemEventRouterBase { + warnings: Warning[]; + profileChanges: TProfileChanges | ""; +} +export declare type TProfileChanges = Record; +export interface Warning { + index: number; + err: string; + errmsg: string; +} +export interface ProfileChange { + _id: string; + experience: number; + quests: IQuest[]; + ragFairOffers: IRagfairOffer[]; + builds: BuildChange[]; + items: ItemChanges; + production: Record; + skills: Skills; + traderRelations: Record; + repeatableQuests?: IPmcDataRepeatableQuest[]; +} +export interface BuildChange { + id: string; + name: string; + root: string; + items: Item[]; +} +export interface ItemChanges { + new: Product[]; + change: Product[]; + del: Product[]; +} +export interface Production { + Progress: number; + StartTimestamp: number; + ProductionTime: number; + inProgress: boolean; + RecipeId: string; + Products: Product[]; +} +export interface Product { + _id: string; + _tpl?: string; + parentId?: string; + slotId?: string; + location?: ItemChangeLocation; + upd?: Upd; +} +export interface ItemChangeLocation { + x: number; + y: number; + r: number; + isSearched?: boolean; +} +export interface TraderRelations { + salesSum?: number; + standing?: number; + loyalty?: number; + unlocked?: boolean; + disabled?: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts new file mode 100644 index 0000000..515b49a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts @@ -0,0 +1,21 @@ +export interface IItemEventRouterRequest { + data: Daum[]; + tm: number; + reload: number; +} +export interface Daum { + Action: string; + item: string; + to: To; +} +export interface To { + id: string; + container: string; + location?: Location; +} +export interface Location { + x: number; + y: number; + r: string; + isSearched: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts new file mode 100644 index 0000000..72a9b5b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts @@ -0,0 +1,3 @@ +import { IItemEventRouterBase } from "./IItemEventRouterBase"; +export interface IItemEventRouterResponse extends IItemEventRouterBase { +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IChangeRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IChangeRequestData.d.ts new file mode 100644 index 0000000..f0a7838 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IChangeRequestData.d.ts @@ -0,0 +1,4 @@ +import { ILoginRequestData } from "./ILoginRequestData"; +export interface IChangeRequestData extends ILoginRequestData { + change: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts new file mode 100644 index 0000000..a14c7c9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IGetMiniProfileRequestData { + username: string; + password: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/ILoginRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/ILoginRequestData.d.ts new file mode 100644 index 0000000..e965813 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/ILoginRequestData.d.ts @@ -0,0 +1,4 @@ +export interface ILoginRequestData { + username: string; + password: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IMiniProfile.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IMiniProfile.d.ts new file mode 100644 index 0000000..c12661a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IMiniProfile.d.ts @@ -0,0 +1,14 @@ +export interface IMiniProfile { + username: string; + nickname: string; + side: string; + currlvl: number; + currexp: number; + prevexp: number; + nextlvl: number; + maxlvl: number; + akiData: AkiData; +} +export interface AkiData { + version: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IRegisterData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IRegisterData.d.ts new file mode 100644 index 0000000..61a8bbe --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IRegisterData.d.ts @@ -0,0 +1,4 @@ +import { ILoginRequestData } from "./ILoginRequestData"; +export interface IRegisterData extends ILoginRequestData { + edition: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IRemoveProfileData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IRemoveProfileData.d.ts new file mode 100644 index 0000000..d31c9ac --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/launcher/IRemoveProfileData.d.ts @@ -0,0 +1,2 @@ +import { ILoginRequestData } from "./ILoginRequestData"; +export declare type IRemoveProfileData = ILoginRequestData; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/location/IGetLocationRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/location/IGetLocationRequestData.d.ts new file mode 100644 index 0000000..04e84d9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/location/IGetLocationRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IGetLocationRequestData { + crc: number; + locationId: string; + variantId: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/match/IEndOfflineRaidRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/match/IEndOfflineRaidRequestData.d.ts new file mode 100644 index 0000000..811e9a2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/match/IEndOfflineRaidRequestData.d.ts @@ -0,0 +1,6 @@ +export interface IEndOfflineRaidRequestData { + crc: number; + exitStatus: string; + exitName: any; + raidSeconds: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/match/IStartOffineRaidRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/match/IStartOffineRaidRequestData.d.ts new file mode 100644 index 0000000..84bccc8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/match/IStartOffineRaidRequestData.d.ts @@ -0,0 +1,27 @@ +export interface IStartOfflineRaidRequestData { + locationName: string; + entryPoint: string; + startTime: number; + dateTime: string; + gameSettings: GameSettings; +} +export interface GameSettings { + timeAndWeatherSettings: TimeAndWeatherSettings; + botsSettings: BotsSettings; + wavesSettings: WavesSettings; +} +export interface TimeAndWeatherSettings { + isRandomTime: boolean; + isRandomWeather: boolean; +} +export interface BotsSettings { + isEnabled: boolean; + isScavWars: boolean; + botAmount: string; +} +export interface WavesSettings { + botDifficulty: string; + isBosses: boolean; + isTaggedAndCursed: boolean; + wavesBotAmount: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notes/INoteActionData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notes/INoteActionData.d.ts new file mode 100644 index 0000000..610657f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notes/INoteActionData.d.ts @@ -0,0 +1,10 @@ +import { IBaseInteractionRequestData } from "../common/request/IBaseInteractionRequestData"; +export interface INoteActionData extends IBaseInteractionRequestData { + Action: string; + index: number; + note: INote; +} +export interface INote { + Time: number; + Text: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notifier/INotifier.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notifier/INotifier.d.ts new file mode 100644 index 0000000..8c48260 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notifier/INotifier.d.ts @@ -0,0 +1,14 @@ +export interface INotifierChannel { + "server": string; + "channel_id": string; + "url": string; + "notifierServer": string; + "ws": string; +} +import { Message } from "../profile/IAkiProfile"; +export interface INotification { + type: "RagfairOfferSold" | "new_message" | "ping"; + eventId: string; + dialogId?: string; + message?: Message; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notifier/ISelectProfileRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notifier/ISelectProfileRequestData.d.ts new file mode 100644 index 0000000..2bc3d1e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/notifier/ISelectProfileRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISelectProfileRequestData { + uid: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts new file mode 100644 index 0000000..dcd14a2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts @@ -0,0 +1,21 @@ +import { Skills } from "../common/IPmcData"; +export interface IPlayerIncrementSkillLevelRequestData { + _id: string; + experience: number; + quests: any[]; + ragFairOffers: any[]; + builds: any[]; + items: Items; + production: Production; + skills: Skills; + traderRelations: TraderRelations; +} +export interface Items { + new: any[]; + change: any[]; + del: any[]; +} +export interface Production { +} +export interface TraderRelations { +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts new file mode 100644 index 0000000..99c61f1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts @@ -0,0 +1,25 @@ +export interface IPresetBuildActionRequestData { + Action: string; + id: string; + name: string; + root: string; + items: Item[]; +} +export interface Item { + _id: string; + _tpl: string; + upd?: Upd; + parentId?: string; + slotId?: string; +} +export interface Upd { + Repairable: Repairable; + FireMode: FireMode; +} +export interface Repairable { + MaxDurability: number; + Durability: number; +} +export interface FireMode { + FireMode: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IAkiProfile.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IAkiProfile.d.ts new file mode 100644 index 0000000..f95e9a8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IAkiProfile.d.ts @@ -0,0 +1,178 @@ +import { IPmcData } from "../common/IPmcData"; +import { Item } from "../common/tables/IItem"; +export interface IAkiProfile { + info: Info; + characters: Characters; + suits: string[]; + weaponbuilds: WeaponBuild[]; + dialogues: Record; + aki: Aki; + vitality: Vitality; + inraid: Inraid; + insurance: Insurance[]; +} +export interface Info { + id: string; + username: string; + password: string; + wipe: boolean; + edition: string; +} +export interface Characters { + pmc: IPmcData; + scav: IPmcData; +} +export interface WeaponBuild { + id: string; + name: string; + root: string; + items: Item[]; +} +export interface Dialogue { + _id: string; + messages: Message[]; + pinned: boolean; + new: number; + attachmentsNew: number; +} +export interface DialogueInfo { + _id: string; + type: MessageType; + message: MessagePreview; + pinned: boolean; + new: number; + attachmentsNew: number; +} +export declare enum MessageType { + USER_MESSAGE = 1, + NPC_TRADER = 2, + AUCTION_MESSAGE = 3, + FLEAMARKET_MESSAGE = 4, + ADMIN_MESSAGE = 5, + GROUP_CHAT_MESSAGE = 6, + SYSTEM_MESSAGE = 7, + INSURANCE_RETURN = 8, + GLOBAL_CHAT = 9, + QUEST_START = 10, + QUEST_FAIL = 11, + QUEST_SUCCESS = 12, + MESSAGE_WITH_ITEMS = 13, + INITIAL_SUPPORT = 14 +} +export interface Message { + _id: string; + uid: string; + type: MessageType; + dt: number; + localDateTime: number; + UtcDateTime?: number; + Member?: IUpdatableChatMember; + templateId: string; + text?: string; + hasRewards: boolean; + rewardCollected: boolean; + items: Items; + maxStorageTime?: number; + systemData?: ISystemData; +} +export interface MessagePreview { + uid: string; + type: MessageType; + dt: number; + templateId: string; + text?: string; +} +export interface Items { + stash?: string; + data?: Item[]; +} +export interface ISystemData { + date?: string; + time?: string; + location?: string; + buyerNickname?: string; + soldItem?: string; + itemCount?: number; +} +export interface IUpdatableChatMember { + Nickname: string; + Side: string; + Level: number; + MemberCategory: string; + Ignored: boolean; + Banned: boolean; +} +export interface DateTime { + date: string; + time: string; +} +export interface Aki { + version: string; +} +export interface Vitality { + health: Health; + effects: Effects; +} +export interface Health { + Hydration: number; + Energy: number; + Temperature: number; + Head: number; + Chest: number; + Stomach: number; + LeftArm: number; + RightArm: number; + LeftLeg: number; + RightLeg: number; +} +export interface Effects { + Head: Head; + Chest: Chest; + Stomach: Stomach; + LeftArm: LeftArm; + RightArm: RightArm; + LeftLeg: LeftLeg; + RightLeg: RightLeg; +} +export interface Head { +} +export interface Chest { +} +export interface Stomach { +} +export interface LeftArm { +} +export interface RightArm { +} +export interface LeftLeg { +} +export interface RightLeg { +} +export interface Inraid { + location: string; + character: string; +} +export interface Insurance { + scheduledTime: number; + traderId: string; + messageContent: MessageContent; + items: Item[]; +} +export interface MessageContent { + ragfair?: MessageContentRagfair; + text?: string; + templateId: string; + type: MessageType; + maxStorageTime?: number; + systemData?: MessageContentData; +} +export interface MessageContentRagfair { + offerId: string; + count: number; + handbookId: string; +} +export interface MessageContentData { + date: string; + time: string; + location: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts new file mode 100644 index 0000000..4a61196 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IProfileChangeNicknameRequestData { + nickname: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts new file mode 100644 index 0000000..91058ce --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IProfileChangeVoiceRequestData { + voice: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileCreateRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileCreateRequestData.d.ts new file mode 100644 index 0000000..93cc656 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IProfileCreateRequestData.d.ts @@ -0,0 +1,6 @@ +export interface IProfileCreateRequestData { + side: string; + nickname: string; + headId: string; + voiceId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/ISearchFriendRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/ISearchFriendRequestData.d.ts new file mode 100644 index 0000000..e63e386 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/ISearchFriendRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISearchFriendRequestData { + nickname: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/ISearchFriendResponse.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/ISearchFriendResponse.d.ts new file mode 100644 index 0000000..96d88b2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/ISearchFriendResponse.d.ts @@ -0,0 +1,9 @@ +export interface ISearchFriendResponse { + _id: string; + Info: Info; +} +export interface Info { + Nickname: string; + Side: string; + Level: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IValidateNicknameRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IValidateNicknameRequestData.d.ts new file mode 100644 index 0000000..9cca7e7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/profile/IValidateNicknameRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IValidateNicknameRequestData { + nickname: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IAcceptQuestRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IAcceptQuestRequestData.d.ts new file mode 100644 index 0000000..0e4821a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IAcceptQuestRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IAcceptQuestRequestData { + Action: "QuestAccept"; + qid: string; + type: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/ICompleteQuestRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/ICompleteQuestRequestData.d.ts new file mode 100644 index 0000000..cc67404 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/ICompleteQuestRequestData.d.ts @@ -0,0 +1,5 @@ +export interface ICompleteQuestRequestData { + Action: string; + qid: string; + removeExcessItems: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IHandoverQuestRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IHandoverQuestRequestData.d.ts new file mode 100644 index 0000000..63f10a8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IHandoverQuestRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IHandoverQuestRequestData { + Action: "QuestHandover"; + qid: string; + conditionId: string; + items: Item[]; +} +export interface Item { + id: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IListQuestsRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IListQuestsRequestData.d.ts new file mode 100644 index 0000000..91f0b8c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IListQuestsRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IListQuestsRequestData { + completed: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts new file mode 100644 index 0000000..015f58e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts @@ -0,0 +1,4 @@ +export interface IRepeatableQuestChangeRequest { + Action: "RepeatableQuestChange"; + qid: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IAddOfferRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IAddOfferRequestData.d.ts new file mode 100644 index 0000000..465ee02 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IAddOfferRequestData.d.ts @@ -0,0 +1,13 @@ +export interface IAddOfferRequestData { + Action: string; + sellInOnePiece: boolean; + items: string[]; + requirements: Requirement[]; +} +export interface Requirement { + _tpl: string; + count: number; + level: number; + side: number; + onlyFunctional: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IExtendOfferRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IExtendOfferRequestData.d.ts new file mode 100644 index 0000000..2a4a876 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IExtendOfferRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IExtendOfferRequestData { + offerId: string; + renewalTime: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetItemPriceResult.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetItemPriceResult.d.ts new file mode 100644 index 0000000..676322a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetItemPriceResult.d.ts @@ -0,0 +1,5 @@ +export interface IGetItemPriceResult { + avg: number; + min: number; + max: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts new file mode 100644 index 0000000..00f8f17 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IGetMarketPriceRequestData { + templateId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetOffersResult.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetOffersResult.d.ts new file mode 100644 index 0000000..1c11422 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IGetOffersResult.d.ts @@ -0,0 +1,7 @@ +import { IRagfairOffer } from "./IRagfairOffer"; +export interface IGetOffersResult { + categories: Record; + offers: IRagfairOffer[]; + offersCount: number; + selectedCategory: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IRagfairOffer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IRagfairOffer.d.ts new file mode 100644 index 0000000..6620a00 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IRagfairOffer.d.ts @@ -0,0 +1,42 @@ +import { MemberCategory } from "../common/MemberCategory"; +import { Item } from "../common/tables/IItem"; +export interface IRagfairOffer { + sellResult?: SellResult[]; + _id: string; + items: Item[]; + requirements: OfferRequirement[]; + root: string; + intId: number; + itemsCost: number; + requirementsCost: number; + startTime: number; + endTime: number; + sellInOnePiece: boolean; + name?: string; + shortName?: string; + loyaltyLevel: number; + locked: boolean; + unlimitedCount: boolean; + summaryCost: number; + user: IRagfairOfferUser; + notAvailable: boolean; + CurrentItemCount: number; + priority: boolean; +} +export interface OfferRequirement { + _tpl: string; + count: number; + onlyFunctional: boolean; +} +export interface IRagfairOfferUser { + id: string; + nickname: string; + rating: number; + memberType: MemberCategory; + avatar: string; + isRatingGrowing: boolean; +} +export interface SellResult { + sellTime: number; + amount: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts new file mode 100644 index 0000000..d926615 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts @@ -0,0 +1,4 @@ +export interface IRemoveOfferRequestData { + Action: string; + offerId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/ISearchRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/ISearchRequestData.d.ts new file mode 100644 index 0000000..08e7fd3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/ragfair/ISearchRequestData.d.ts @@ -0,0 +1,32 @@ +export interface ISearchRequestData { + page: number; + limit: number; + sortType: number; + sortDirection: number; + currency: number; + priceFrom: number; + priceTo: number; + quantityFrom: number; + quantityTo: number; + conditionFrom: number; + conditionTo: number; + oneHourExpiration: boolean; + removeBartering: boolean; + offerOwnerType: OfferOwnerType; + onlyFunctional: boolean; + updateOfferCount: boolean; + handbookId: string; + linkedSearchId: string; + neededSearchId: string; + buildItems: BuildItems; + buildCount: number; + tm: number; + reload: number; +} +export declare enum OfferOwnerType { + ANYOWNERTYPE = 0, + TRADEROWNERTYPE = 1, + PLAYEROWNERTYPE = 2 +} +export interface BuildItems { +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts new file mode 100644 index 0000000..e645fb3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts @@ -0,0 +1,3 @@ +export interface IBaseRepairActionDataRequest { + Action: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/IRepairActionDataRequest.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/IRepairActionDataRequest.d.ts new file mode 100644 index 0000000..263d400 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/IRepairActionDataRequest.d.ts @@ -0,0 +1,10 @@ +import { IBaseRepairActionDataRequest } from "./IBaseRepairActionDataRequest"; +export interface IRepairActionDataRequest extends IBaseRepairActionDataRequest { + Action: "Repair"; + repairKitsInfo: RepairKitsInfo[]; + target: string; +} +export interface RepairKitsInfo { + _id: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts new file mode 100644 index 0000000..e3d469d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts @@ -0,0 +1,10 @@ +import { IBaseRepairActionDataRequest } from "./IBaseRepairActionDataRequest"; +export interface ITraderRepairActionDataRequest extends IBaseRepairActionDataRequest { + Action: "TraderRepair"; + tid: string; + repairItems: RepairItem[]; +} +export interface RepairItem { + _id: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts new file mode 100644 index 0000000..a9ef757 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts @@ -0,0 +1,5 @@ +export interface IProcessBaseTradeRequestData { + Action: string; + type: string; + tid: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts new file mode 100644 index 0000000..a9e4c17 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts @@ -0,0 +1,14 @@ +import { IProcessBaseTradeRequestData } from "./IProcessBaseTradeRequestData"; +export interface IProcessBuyTradeRequestData extends IProcessBaseTradeRequestData { + Action: "buy_from_trader" | "TradingConfirm" | "RestoreHealth" | ""; + type: string; + tid: string; + item_id: string; + count: number; + scheme_id: number; + scheme_items: SchemeItem[]; +} +export interface SchemeItem { + id: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts new file mode 100644 index 0000000..889dfd1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts @@ -0,0 +1,13 @@ +export interface IProcessRagfairTradeRequestData { + Action: string; + offers: Offer[]; +} +export interface Offer { + id: string; + count: number; + items: Item[]; +} +export interface Item { + id: string; + count: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessSellTradeRequestData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessSellTradeRequestData.d.ts new file mode 100644 index 0000000..f1d555f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/trade/IProcessSellTradeRequestData.d.ts @@ -0,0 +1,12 @@ +import { IProcessBaseTradeRequestData } from "./IProcessBaseTradeRequestData"; +export interface IProcessSellTradeRequestData extends IProcessBaseTradeRequestData { + Action: "sell_to_trader"; + type: string; + tid: string; + items: Item[]; +} +export interface Item { + id: string; + count: number; + scheme_id: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/weather/IWeatherData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/weather/IWeatherData.d.ts new file mode 100644 index 0000000..ecc96ce --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/weather/IWeatherData.d.ts @@ -0,0 +1,20 @@ +export interface IWeatherData { + acceleration: number; + time: string; + date: string; + weather: IWeather; +} +export interface IWeather { + pressure: number; + temp: number; + fog: string; + rain_intensity: number; + rain: any; + wind_gustiness: number; + wind_direction: any; + wind_speed: number; + cloud: number; + time: string; + date: string; + timestamp: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/wishlist/IWishlistActionData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/wishlist/IWishlistActionData.d.ts new file mode 100644 index 0000000..9217864 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/eft/wishlist/IWishlistActionData.d.ts @@ -0,0 +1,4 @@ +export interface IWishlistActionData { + Action: string; + templateId: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/external/mod.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/external/mod.d.ts new file mode 100644 index 0000000..ecef460 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/external/mod.d.ts @@ -0,0 +1,5 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IMod { + load: (container: DependencyContainer) => void; + delayedLoad: (container: DependencyContainer) => void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/external/tsyringe.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/external/tsyringe.d.ts new file mode 100644 index 0000000..56a7e58 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/external/tsyringe.d.ts @@ -0,0 +1,2 @@ +import type { DependencyContainer } from "tsyringe"; +export type { DependencyContainer }; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/bindings/Route.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/bindings/Route.d.ts new file mode 100644 index 0000000..1b29d7d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/bindings/Route.d.ts @@ -0,0 +1,3 @@ +export interface IRoute { + aki: any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IBotCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IBotCallbacks.d.ts new file mode 100644 index 0000000..2c42813 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IBotCallbacks.d.ts @@ -0,0 +1,10 @@ +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"; +export interface IBotCallbacks { + getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string; + getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string; + generateBots(url: string, info: IGenerateBotsRequestData, sessionID: string): IGetBodyResponseData; + getBotCap(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IBundleCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IBundleCallbacks.d.ts new file mode 100644 index 0000000..7e37c6e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IBundleCallbacks.d.ts @@ -0,0 +1,5 @@ +export interface IBundleCallbacks { + sendBundle(sessionID: string, req: any, resp: any, body: any): any; + getBundles(url: string, info: any, sessionID: string): string; + getBundle(url: string, info: any, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ICustomizationCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ICustomizationCallbacks.d.ts new file mode 100644 index 0000000..d10027f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ICustomizationCallbacks.d.ts @@ -0,0 +1,12 @@ +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"; +export interface ICustomizationCallbacks { + getSuits(url: string, info: any, sessionID: string): IGetBodyResponseData; + getTraderSuits(url: string, info: any, sessionID: string): IGetBodyResponseData; + wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse; + buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IDataCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IDataCallbacks.d.ts new file mode 100644 index 0000000..a098560 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IDataCallbacks.d.ts @@ -0,0 +1,26 @@ +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IGlobals } from "../../eft/common/IGlobals"; +import { IQuest } from "../../eft/common/tables/IQuest"; +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 { ILanguageBase } from "../server/ILocaleBase"; +import { ISettingsBase } from "../server/ISettingsBase"; +export interface IDataCallbacks { + getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string; + getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getTemplateQuests(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IDialogueCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IDialogueCallbacks.d.ts new file mode 100644 index 0000000..fe2115a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IDialogueCallbacks.d.ts @@ -0,0 +1,34 @@ +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; +import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData"; +import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData"; +import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData"; +import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData"; +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IFriendRequestData } from "../../eft/dialog/IFriendRequestData"; +import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData"; +import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData"; +import { IGetAllAttachmentsRequestData } from "../../eft/dialog/IGetAllAttachmentsRequestData"; +import { IGetChatServerListRequestData } from "../../eft/dialog/IGetChatServerListRequestData"; +import { IGetFriendListDataResponse } from "../../eft/dialog/IGetFriendListDataResponse"; +import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest"; +import { IGetMailDialogViewResponseData } from "../../eft/dialog/IGetMailDialogViewResponseData"; +import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse"; +import { DialogueInfo } from "../../eft/profile/IAkiProfile"; +export interface IDialogueCallbacks { + getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData; + getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData; + removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData; + pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData; + unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData; + setRead(url: string, info: ISetDialogReadRequestData, sessionID: string): IGetBodyResponseData; + getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData; + listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData; + sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData; + update(): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IGameCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IGameCallbacks.d.ts new file mode 100644 index 0000000..38ebc5f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IGameCallbacks.d.ts @@ -0,0 +1,16 @@ +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"; +export interface IGameCallbacks { + versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData; + gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gameLogout(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData; + getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getVersion(url: string, info: IEmptyRequestData, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHandbookCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHandbookCallbacks.d.ts new file mode 100644 index 0000000..5857a3e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHandbookCallbacks.d.ts @@ -0,0 +1,3 @@ +export interface IHandbookCallbacks { + load(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHealthCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHealthCallbacks.d.ts new file mode 100644 index 0000000..d238c7a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHealthCallbacks.d.ts @@ -0,0 +1,13 @@ +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"; +export interface IHealthCallbacks { + onLoad(sessionID: string): IAkiProfile; + syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): any; + offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): any; + offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): any; + healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHideoutCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHideoutCallbacks.d.ts new file mode 100644 index 0000000..e9badb6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHideoutCallbacks.d.ts @@ -0,0 +1,23 @@ +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 { IHideoutContinousProductionStartRequestData } from "../../eft/hideout/IHideoutContinousProductionStartRequestData"; +import { IHideoutTakeProductionRequestData } from "../../eft/hideout/IHideoutTakeProductionRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface IHideoutCallbacks { + upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse; + upgradeComplete(pmcData: IPmcData, body: IHideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse; + putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse; + takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse; + toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse; + singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse; + continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse; + takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse; + update(timeSinceLastRun: number): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHttpCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHttpCallbacks.d.ts new file mode 100644 index 0000000..3ecd945 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IHttpCallbacks.d.ts @@ -0,0 +1,5 @@ +export interface IHttpCallbacks { + load(): void; + sendImage(sessionID: string, req: any, resp: any, body: any): void; + getImage(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInraidCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInraidCallbacks.d.ts new file mode 100644 index 0000000..e959b98 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInraidCallbacks.d.ts @@ -0,0 +1,14 @@ +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"; +export interface IInraidCallbacks { + onLoad(sessionID: string): IAkiProfile; + registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData; + saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData; + getRaidEndState(): string; + getRaidMenuSettings(url: string, info: IEmptyRequestData, sessionID: string): string; + getWeaponDurability(url: string, info: any, sessionID: string): string; + getAirdropConfig(url: string, info: any, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInsuranceCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInsuranceCallbacks.d.ts new file mode 100644 index 0000000..082112d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInsuranceCallbacks.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IAkiProfile } from "../../eft/profile/IAkiProfile"; +import { IGetInsuranceCostRequestData } from "../../eft/insurance/IGetInsuranceCostRequestData"; +import { IInsureRequestData } from "../../eft/insurance/IInsureRequestData"; +export interface IInsuranceCallbacks { + onLoad(sessionID: string): IAkiProfile; + getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): any; + insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): any; + update(secondsSinceLastRun: number): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInventoryCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInventoryCallbacks.d.ts new file mode 100644 index 0000000..e53f7d0 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IInventoryCallbacks.d.ts @@ -0,0 +1,36 @@ +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"; +export interface IInventoryCallbacks { + moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse; + removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse; + splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse; + mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse; + transferItem(pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string): IItemEventRouterResponse; + swapItem(pmcData: IPmcData, body: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse; + foldItem(pmcData: IPmcData, body: IInventoryFoldRequestData, sessionID: string): IItemEventRouterResponse; + toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse; + tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; + bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; + examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; + sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse; + createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse; + deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse; + editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IItemEventCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IItemEventCallbacks.d.ts new file mode 100644 index 0000000..59db771 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IItemEventCallbacks.d.ts @@ -0,0 +1,6 @@ +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IItemEventRouterRequest } from "../../eft/itemEvent/IItemEventRouterRequest"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface IItemEventCallbacks { + handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ILauncherCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ILauncherCallbacks.d.ts new file mode 100644 index 0000000..52dfec6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ILauncherCallbacks.d.ts @@ -0,0 +1,20 @@ +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"; +export interface ILauncherCallbacks { + connect(): string; + login(url: string, info: ILoginRequestData, sessionID: string): string; + register(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"; + get(url: string, info: ILoginRequestData, sessionID: string): string; + changeUsername(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"; + changePassword(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"; + wipe(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"; + getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string; + getAllMiniProfiles(url: string, info: any, sessionID: string): string; + getServerVersion(): string; + ping(url: string, info: any, sessionID: string): string; + removeProfile(url: string, info: IRemoveProfileData, sessionID: string): string; + getCompatibleTarkovVersion(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ILocationCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ILocationCallbacks.d.ts new file mode 100644 index 0000000..71656a4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ILocationCallbacks.d.ts @@ -0,0 +1,8 @@ +import { IGetLocationRequestData } from "../../eft/location/IGetLocationRequestData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { ILocationsGenerateAllResponse } from "../../eft/common/ILocationsSourceDestinationBase"; +import { ILocationBase } from "../../eft/common/ILocationBase"; +export interface ILocationCallbacks { + getLocationData(url: string, info: any, sessionID: string): IGetBodyResponseData; + getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IMatchCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IMatchCallbacks.d.ts new file mode 100644 index 0000000..fcbf173 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IMatchCallbacks.d.ts @@ -0,0 +1,25 @@ +import { IStartOfflineRaidRequestData } from "../../eft/match/IStartOffineRaidRequestData"; +import { IEndOfflineRaidRequestData } from "../../eft/match/IEndOfflineRaidRequestData"; +import { INullResponseData } from "../../eft/httpResponse/INullResponseData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IPmcData } from "../../eft/common/IPmcData"; +export interface IMatchCallbacks { + updatePing(url: string, info: any, sessionID: string): INullResponseData; + exitMatch(url: string, info: any, sessionID: string): INullResponseData; + exitToMenu(url: string, info: any, sessionID: string): INullResponseData; + startGroupSearch(url: string, info: any, sessionID: string): INullResponseData; + stopGroupSearch(url: string, info: any, sessionID: string): INullResponseData; + sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData; + putMetrics(url: string, info: any, sessionID: string): INullResponseData; + getProfile(url: string, info: any, sessionID: string): IGetBodyResponseData; + serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; + joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData; + getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData; + getGroupStatus(url: string, info: any, sessionID: string): IGetBodyResponseData; + createGroup(url: string, info: any, sessionID: string): IGetBodyResponseData; + deleteGroup(url: string, info: any, sessionID: string): INullResponseData; + startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData; + endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IModCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IModCallbacks.d.ts new file mode 100644 index 0000000..1a4cd7b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IModCallbacks.d.ts @@ -0,0 +1,6 @@ +export interface IModCallbacks { + load(): void; + sendBundle(sessionID: string, req: any, resp: any, body: any): void; + getBundles(url: string, info: any, sessionID: string): string; + getBundle(url: string, info: any, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/INoteCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/INoteCallbacks.d.ts new file mode 100644 index 0000000..8453a4f --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/INoteCallbacks.d.ts @@ -0,0 +1,8 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { INoteActionData } from "../../eft/notes/INoteActionData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface INoteCallbacks { + addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; + deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/INotifierCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/INotifierCallbacks.d.ts new file mode 100644 index 0000000..a211310 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/INotifierCallbacks.d.ts @@ -0,0 +1,17 @@ +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { INotifierChannel } from "../../eft/notifier/INotifier"; +import { ISelectProfileRequestData } from "../../eft/notifier/ISelectProfileRequestData"; +export interface INotifierCallbacks { + /** + * If we don't have anything to send, it's ok to not send anything back + * because notification requests can be long-polling. In fact, we SHOULD wait + * until we actually have something to send because otherwise we'd spam the client + * and the client would abort the connection due to spam. + */ + sendNotification(sessionID: string, req: any, resp: any, data: any): void; + getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData; + createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData; + notify(url: string, info: any, sessionID: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts new file mode 100644 index 0000000..97c6487 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IPresetBuildActionRequestData } from "../../eft/presetBuild/IPresetBuildActionRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { WeaponBuild } from "../../eft/profile/IAkiProfile"; +export interface IPresetBuildCallbacks { + getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; + saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; + removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IPresetCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IPresetCallbacks.d.ts new file mode 100644 index 0000000..4169857 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IPresetCallbacks.d.ts @@ -0,0 +1,3 @@ +export interface IPresetCallbacks { + load(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IProfileCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IProfileCallbacks.d.ts new file mode 100644 index 0000000..9d4d2df --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IProfileCallbacks.d.ts @@ -0,0 +1,21 @@ +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"; +export interface IProfileCallbacks { + onLoad(sessionID: string): any; + createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData; + getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + regenerateScav(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + changeVoice(url: string, info: IProfileChangeVoiceRequestData, sessionID: string): INullResponseData; + changeNickname(url: string, info: IProfileChangeNicknameRequestData, sessionID: string): IGetBodyResponseData; + validateNickname(url: string, info: IValidateNicknameRequestData, sessionID: string): IGetBodyResponseData; + getReservedNickname(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IQuestCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IQuestCallbacks.d.ts new file mode 100644 index 0000000..1c4d0c3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IQuestCallbacks.d.ts @@ -0,0 +1,19 @@ +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"; +export interface IQuestCallbacks { + changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse; + completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse; + handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse; + listQuests(url: string, info: IListQuestsRequestData, sessionID: string): IGetBodyResponseData; + activityPeriods(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IRagfairCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IRagfairCallbacks.d.ts new file mode 100644 index 0000000..9282bd4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IRagfairCallbacks.d.ts @@ -0,0 +1,21 @@ +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"; +export interface IRagfairCallbacks { + load(): void; + search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData; + getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData; + getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; + removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse; + extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse; + update(timeSinceLastRun: number): boolean; + updatePlayer(timeSinceLastRun: number): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IRepairCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IRepairCallbacks.d.ts new file mode 100644 index 0000000..e8183c9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IRepairCallbacks.d.ts @@ -0,0 +1,8 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IRepairActionDataRequest } from "../../eft/repair/IRepairActionDataRequest"; +import { ITraderRepairActionDataRequest } from "../../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/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ISaveCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ISaveCallbacks.d.ts new file mode 100644 index 0000000..1ad3b82 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ISaveCallbacks.d.ts @@ -0,0 +1,4 @@ +export interface ISaveCallbacks { + load(): void; + update(secondsSinceLastRun: number): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ITradeCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ITradeCallbacks.d.ts new file mode 100644 index 0000000..2f41d54 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ITradeCallbacks.d.ts @@ -0,0 +1,8 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IProcessRagfairTradeRequestData } from "../../eft/trade/IProcessRagfairTradeRequestData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBaseTradeRequestData } from "../../eft/trade/IProcessBaseTradeRequestData"; +export interface ITradeCallbacks { + processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse; + processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ITraderCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ITraderCallbacks.d.ts new file mode 100644 index 0000000..e0d7d06 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/ITraderCallbacks.d.ts @@ -0,0 +1,11 @@ +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +import { IBarterScheme, ITraderAssort, ITraderBase } from "../../eft/common/tables/ITrader"; +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +export interface ITraderCallbacks { + load(): void; + getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getProfilePurchases(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData>; + getTrader(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; + update(): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IWeatherCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IWeatherCallbacks.d.ts new file mode 100644 index 0000000..9ac72ae --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IWeatherCallbacks.d.ts @@ -0,0 +1,5 @@ +import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData"; +import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData"; +export interface IWeatherCallbacks { + getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IWishlistCallbacks.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IWishlistCallbacks.d.ts new file mode 100644 index 0000000..e5d519c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/callbacks/IWishlistCallbacks.d.ts @@ -0,0 +1,7 @@ +import { IPmcData } from "../../eft/common/IPmcData"; +import { IWishlistActionData } from "../../eft/wishlist/IWishlistActionData"; +import { IItemEventRouterResponse } from "../../eft/itemEvent/IItemEventRouterResponse"; +export interface IWishlistCallbacks { + addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; + removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IAirdropConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IAirdropConfig.d.ts new file mode 100644 index 0000000..f4aee89 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IAirdropConfig.d.ts @@ -0,0 +1,20 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IAirdropConfig extends IBaseConfig { + kind: "aki-airdrop"; + airdropChancePercent: AirdropChancePercent; + airdropMinOpenHeight: number; + airdropMaxOpenHeight: number; + planeMinFlyHeight: number; + planeMaxFlyHeight: number; + planeVolume: number; + airdropMinStartTimeSeconds: number; + airdropMaxStartTimeSeconds: number; +} +export interface AirdropChancePercent { + bigmap: number; + woods: number; + lighthouse: number; + shoreline: number; + interchange: number; + reserve: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IBaseConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IBaseConfig.d.ts new file mode 100644 index 0000000..8b6ba88 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IBaseConfig.d.ts @@ -0,0 +1,3 @@ +export interface IBaseConfig { + kind: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IBotConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IBotConfig.d.ts new file mode 100644 index 0000000..f8ea940 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IBotConfig.d.ts @@ -0,0 +1,112 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IBotConfig extends IBaseConfig { + kind: "aki-bot"; + presetBatch: PresetBatch; + bosses: string[]; + durability: Durability; + lootNValue: LootNvalue; + pmc: PmcConfig; + showTypeInNickname: boolean; + maxBotCap: number; +} +export interface PresetBatch { + assault: number; + bossBully: number; + bossGluhar: number; + bossKilla: number; + bossKojaniy: number; + bossSanitar: number; + bossTagilla: number; + bossTest: number; + cursedAssault: number; + followerBully: number; + followerGluharAssault: number; + followerGluharScout: number; + followerGluharSecurity: number; + followerGluharSnipe: number; + followerKojaniy: number; + followerSanitar: number; + followerTagilla: number; + followerTest: number; + marksman: number; + pmcBot: number; + sectantPriest: number; + sectantWarrior: number; + gifter: number; + test: number; + exUsec: number; +} +export interface Durability { + default: DefaultDurability; + pmc: PmcDurability; + boss: BotDurability; + follower: BotDurability; + assault: BotDurability; + cursedassault: BotDurability; + marksman: BotDurability; + pmcbot: BotDurability; + exusec: BotDurability; + sectantpriest: BotDurability; + sectantwarrior: BotDurability; +} +export interface DefaultDurability { + armor: DefaultArmor; + weapon: WeaponDurability; +} +export interface DefaultArmor { + maxDelta: number; + minDelta: number; +} +export interface WeaponDurability { + lowestMax: number; + highestMax: number; + maxDelta: number; + minDelta: number; +} +export interface PmcDurability { + armor: PmcDurabilityArmor; + weapon: WeaponDurability; +} +export interface PmcDurabilityArmor { + lowestMaxPercent: number; + highestMaxPercent: number; + maxDelta: number; + minDelta: number; +} +export interface BotDurability { + armor: ArmorDurability; + weapon: WeaponDurability; +} +export interface ArmorDurability { + maxDelta: number; + minDelta: number; +} +export interface LootNvalue { + scav: number; + pmc: number; +} +export interface PmcConfig { + dynamicLoot: DynamicLoot; + cartridgeBlacklist: string[]; + difficulty: string; + isUsec: number; + chanceSameSideIsHostilePercent: number; + usecType: string; + bearType: string; + maxBackpackLootTotalRub: number; + maxPocketLootTotalRub: number; + maxVestLootTotalRub: number; + types: Types; +} +export interface DynamicLoot { + whitelist: string[]; + blacklist: string[]; + spawnLimits: Record; + moneyStackLimits: Record; +} +export interface Types { + assault: number; + cursedAssault: number; + pmcBot: number; + exUsec: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ICoreConfig.d.ts new file mode 100644 index 0000000..cfcaf61 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ICoreConfig.d.ts @@ -0,0 +1,7 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ICoreConfig extends IBaseConfig { + kind: "aki-core"; + akiVersion: string; + projectName: string; + compatibleTarkovVersion: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHealthConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHealthConfig.d.ts new file mode 100644 index 0000000..fdbf656 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHealthConfig.d.ts @@ -0,0 +1,14 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IHealthConfig extends IBaseConfig { + kind: "aki-health"; + healthMultipliers: HealthMultipliers; + save: Save; +} +export interface HealthMultipliers { + death: number; + blacked: number; +} +export interface Save { + health: boolean; + effects: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHideoutConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHideoutConfig.d.ts new file mode 100644 index 0000000..4658fa6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHideoutConfig.d.ts @@ -0,0 +1,27 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IHideoutConfig extends IBaseConfig { + kind: "aki-hideout"; + runIntervalSeconds: number; + scavCase: ScavCase; + fuelDrainRateMultipler: number; +} +export interface ScavCase { + rewardParentBlacklist: string[]; + rewardItemBlacklist: any[]; + ammoRewards: AmmoRewards; + moneyRewards: MoneyRewards; +} +export interface AmmoRewards { + giveMultipleOfTen: boolean; + minAmount: number; +} +export interface MoneyRewards { + enabled: boolean; + rub: MinMax; + usd: MinMax; + eur: MinMax; +} +export interface MinMax { + min: number; + max: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHttpConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHttpConfig.d.ts new file mode 100644 index 0000000..c41d035 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IHttpConfig.d.ts @@ -0,0 +1,6 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IHttpConfig extends IBaseConfig { + kind: "aki-http"; + ip: string; + port: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInRaidConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInRaidConfig.d.ts new file mode 100644 index 0000000..baaf083 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInRaidConfig.d.ts @@ -0,0 +1,21 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IInRaidConfig extends IBaseConfig { + kind: "aki-inraid"; + MIAOnRaidEnd: boolean; + raidMenuSettings: RaidMenuSettings; + save: Save; + carExtracts: string[]; + carExtractBaseStandingGain: number; + scavExtractGain: number; +} +export interface RaidMenuSettings { + aiAmount: string; + aiDifficulty: string; + bossEnabled: boolean; + scavWars: boolean; + taggedAndCursed: boolean; +} +export interface Save { + loot: boolean; + durability: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInsuranceConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInsuranceConfig.d.ts new file mode 100644 index 0000000..6e9c744 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInsuranceConfig.d.ts @@ -0,0 +1,7 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IInsuranceConfig extends IBaseConfig { + kind: "aki-insurance"; + insuranceMultiplier: Record; + returnChancePercent: Record; + runIntervalSeconds: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInventoryConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInventoryConfig.d.ts new file mode 100644 index 0000000..ffffa41 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IInventoryConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IInventoryConfig extends IBaseConfig { + kind: "aki-inventory"; + newItemsMarkedFound: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ILocationConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ILocationConfig.d.ts new file mode 100644 index 0000000..0551d57 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ILocationConfig.d.ts @@ -0,0 +1,24 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ILocationConfig extends IBaseConfig { + kind: "aki-location"; + looseLootMultiplier: LootMultiplier; + staticLootMultiplier: LootMultiplier; +} +export interface LootMultiplier { + bigmap: number; + develop: number; + factory4_day: number; + factory4_night: number; + interchange: number; + laboratory: number; + rezervbase: number; + shoreline: number; + woods: number; + hideout: number; + lighthouse: number; + privatearea: number; + suburbs: number; + tarkovstreets: number; + terminal: number; + town: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IMatchConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IMatchConfig.d.ts new file mode 100644 index 0000000..92c4d77 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IMatchConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IMatchConfig extends IBaseConfig { + kind: "aki-match"; + enabled: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IQuestConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IQuestConfig.d.ts new file mode 100644 index 0000000..03dc890 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IQuestConfig.d.ts @@ -0,0 +1,87 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IQuestConfig extends IBaseConfig { + kind: "aki-quest"; + redeemTime: number; + repeatableQuests: IRepeatableQuestConfig[]; +} +export interface IRepeatableQuestConfig { + name: string; + types: string[]; + resetTime: number; + numQuests: number; + minPlayerLevel: number; + rewardScaling: IRewardScaling; + locations: Record; + traderWhitelist: ITraderWhitelist[]; + questConfig: IQuestConfig; +} +export declare enum ELocationName { + FACTORY_DAY = "factory4_day", + BIGMAP = "bigmap", + WOODS = "Woods", + SHORELINE = "Shoreline", + INTERCHANGE = "Interchange", + LIGHTHOUSE = "Lighthouse", + LABORATORY = "laboratory", + RESERVE = "RezervBase", + ANY = "any" +} +export interface IRewardScaling { + levels: number[]; + experience: number[]; + roubles: number[]; + items: number[]; + reputation: number[]; + rewardSpread: number; +} +export interface ITraderWhitelist { + traderId: string; + questTypes: string[]; +} +export interface IQuestConfig { + Exploration: IExploration; + Completion: ICompletion; + Elimination: IElimination; +} +export interface IExploration { + maxExtracts: number; + specificExits: ISpecificExits; +} +export interface ISpecificExits { + probability: number; + passageRequirementWhitelist: string[]; +} +export interface ICompletion { + minRequestedAmount: number; + maxRequestedAmount: number; + minRequestedBulletAmount: number; + maxRequestedBulletAmount: number; + useWhitelist: boolean; + useBlacklist: boolean; +} +export interface IElimination { + targets: ITarget[]; + bodyPartProb: number; + bodyParts: IBodyPart[]; + specificLocationProb: number; + distLocationBlacklist: string[]; + distProb: number; + maxDist: number; + minDist: number; + maxKills: number; + minKills: number; +} +export interface IProbabilityObject { + key: string; + relativeProbability: number; + data?: any; +} +export interface ITarget extends IProbabilityObject { + data: IBossInfo; +} +export interface IBossInfo { + isBoss: boolean; +} +export interface IBodyPart extends IProbabilityObject { + data: string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IRagfairConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IRagfairConfig.d.ts new file mode 100644 index 0000000..2d151ca --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IRagfairConfig.d.ts @@ -0,0 +1,59 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IRagfairConfig extends IBaseConfig { + kind: "aki-ragfair"; + runIntervalSeconds: number; + sell: Sell; + traders: Record; + dynamic: Dynamic; +} +export interface Sell { + fees: boolean; + chance: Chance; + time: Time; + reputation: Reputation; +} +export interface Chance { + base: number; + overprices: number; + underpriced: number; +} +export interface Time { + base: number; + min: number; + max: number; +} +export interface Reputation { + gain: number; + loss: number; +} +export interface Dynamic { + expiredOfferThreshold: number; + offerItemCount: MinMax; + price: MinMax; + endTimeSeconds: MinMax; + condition: Condition; + stackablePercent: MinMax; + nonStackableCount: MinMax; + rating: MinMax; + currencies: Record; + showAsSingleStack: string[]; + blacklist: Blacklist; +} +export interface MinMax { + min: number; + max: number; +} +export interface Condition { + conditionChance: number; + min: number; + max: number; +} +export interface Blacklist { + /** + * show/hide trader items that are blacklisted by bsg + */ + traderItems: boolean; + custom: string[]; + enableBsgList: boolean; + enableQuestList: boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IRepairConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IRepairConfig.d.ts new file mode 100644 index 0000000..4966eb5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IRepairConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IRepairConfig extends IBaseConfig { + kind: "aki-repair"; + priceMultiplier: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ITraderConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ITraderConfig.d.ts new file mode 100644 index 0000000..dab73e3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/ITraderConfig.d.ts @@ -0,0 +1,15 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ITraderConfig extends IBaseConfig { + kind: "aki-trader"; + updateTime: UpdateTime[]; + updateTimeDefault: number; + fenceAssortSize: number; + fenceMaxPresetsCount: number; + fencePresetPriceMult: number; + minDurabilityForSale: number; + fenceItemIgnoreList: string[]; +} +export interface UpdateTime { + traderId: string; + seconds: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IWeatherConfig.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IWeatherConfig.d.ts new file mode 100644 index 0000000..c52cab3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/config/IWeatherConfig.d.ts @@ -0,0 +1,21 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface IWeatherConfig extends IBaseConfig { + kind: "aki-weather"; + acceleration: number; + weather: Weather; +} +export interface Weather { + clouds: MinMax; + windSpeed: MinMax; + windDirection: MinMax; + windGustiness: MinMax; + rain: MinMax; + rainIntensity: MinMax; + fog: MinMax; + temp: MinMax; + pressure: MinMax; +} +export interface MinMax { + min: number; + max: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/controllers/IBotController.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/controllers/IBotController.d.ts new file mode 100644 index 0000000..010e208 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/controllers/IBotController.d.ts @@ -0,0 +1,13 @@ +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"; +export interface IBotController { + getBotLimit(type: string): number; + getBotDifficulty(type: string, difficulty: string): IBotCore | Difficulty; + isBotPmc(botRole: string): boolean; + isBotBoss(botRole: string): boolean; + isBotFollower(botRole: string): boolean; + generate(info: IGenerateBotsRequestData, playerScav: boolean): IBotBase[]; + getBotCap(): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IBotGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IBotGenerator.d.ts new file mode 100644 index 0000000..f3e8586 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IBotGenerator.d.ts @@ -0,0 +1,10 @@ +import { Inventory as PmcInventory } from "../../eft/common/IPmcData"; +import { Inventory, Chances, Generation } from "../../eft/common/tables/IBotType"; +export interface IBotGenerator { + generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory; +} +export interface IExhaustableArray { + getRandomValue(): T; + getFirstValue(): T; + hasValues(): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/ILocationGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/ILocationGenerator.d.ts new file mode 100644 index 0000000..530ceca --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/ILocationGenerator.d.ts @@ -0,0 +1,6 @@ +import { IStaticContainerProps, IStaticLootDetails, IStaticAmmoDetails, IStaticForcedProps } from "../../eft/common/tables/ILootBase"; +import { ILooseLoot, SpawnpointTemplate } from "../../eft/common/ILooseLoot"; +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/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IPMCLootGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IPMCLootGenerator.d.ts new file mode 100644 index 0000000..a9db89b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IPMCLootGenerator.d.ts @@ -0,0 +1,4 @@ +export interface IPMCLootGenerator { + generatePMCPocketLootPool(): string[]; + generatePMCBackpackLootPool(): string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IRagfairAssortGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IRagfairAssortGenerator.d.ts new file mode 100644 index 0000000..6670540 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IRagfairAssortGenerator.d.ts @@ -0,0 +1,4 @@ +import { Item } from "../../eft/common/tables/IItem"; +export interface IRagfairAssortGenerator { + getAssortItems(): Item[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IRagfairOfferGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IRagfairOfferGenerator.d.ts new file mode 100644 index 0000000..30b4be5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/generators/IRagfairOfferGenerator.d.ts @@ -0,0 +1,6 @@ +import { IBarterScheme } from "../../eft/common/tables/ITrader"; +import { IRagfairOffer } from "../../eft/ragfair/IRagfairOffer"; +import { Item } from "../../eft/common/tables/IItem"; +export interface IRagfairOfferGenerator { + createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece: boolean): IRagfairOffer; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/helpers/Traders.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/helpers/Traders.d.ts new file mode 100644 index 0000000..163cd71 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/helpers/Traders.d.ts @@ -0,0 +1,10 @@ +export declare enum Traders { + PRAPOR = "54cb50c76803fa8b248b4571", + THERAPIST = "54cb57776803fa99248b456e", + FENCE = "579dc571d53a0658a154fbec", + SKIER = "58330581ace78e27b8b10cee", + PEACEKEEPER = "5935c25fb3acc3127c3d8cd9", + MECHANIC = "5a7c2eca46aef81a7ca2145d", + RAGMAN = "5ac3b934156ae10c4430e83c", + JAEGER = "5c0647fdd443bc2504c2d371" +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IMod.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IMod.d.ts new file mode 100644 index 0000000..623e3dd --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IMod.d.ts @@ -0,0 +1,10 @@ +declare namespace ModLoader { + interface IMod { + name: string; + version: string; + main?: string; + author?: string; + license: string; + dependencies?: Record; + } +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IModLoader.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IModLoader.d.ts new file mode 100644 index 0000000..5398c9b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IModLoader.d.ts @@ -0,0 +1,8 @@ +import { DependencyContainer } from "tsyringe"; +export interface IModLoader { + load(container: DependencyContainer): void; + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + getImportedModsNames(): string[]; + getModPath(mod: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IPackageJsonData.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IPackageJsonData.d.ts new file mode 100644 index 0000000..09472cd --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/mod/IPackageJsonData.d.ts @@ -0,0 +1,11 @@ +export interface IPackageJsonData { + incompatibilities?: string[]; + dependencies?: string[]; + name: string; + author: string; + version: string; + akiVersion: string; + licence: string; + main: string; + contributors: string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/ragfair/IRagfairServerPrices.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/ragfair/IRagfairServerPrices.d.ts new file mode 100644 index 0000000..c7d246a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/ragfair/IRagfairServerPrices.d.ts @@ -0,0 +1,4 @@ +export interface IRagfairServerPrices { + static: Record; + dynamic: Record; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IDatabaseTables.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IDatabaseTables.d.ts new file mode 100644 index 0000000..dbb71be --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IDatabaseTables.d.ts @@ -0,0 +1,51 @@ +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 { 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"; +export interface IDatabaseTables { + bots: { + types: Record; + base: IBotBase; + core: IBotCore; + }; + hideout: { + areas: IHideoutArea[]; + production: IHideoutProduction[]; + scavcase: IHideoutScavCase[]; + settings: IHideoutSettingsBase; + }; + locales: ILocaleBase; + locations: ILocations; + loot: ILootBase; + match: any; + templates: { + character: string[]; + items: Record; + quests: IQuest[]; + repeatableQuests: IRepeatableQuestDatabase; + clientItems: Record; + handbook: IHandbookBase; + customization: Record; + profiles: any; + prices: Record; + }; + traders: Record; + globals: IGlobals; + server: IServerBase; + settings: ISettingsBase; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IHttpServer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IHttpServer.d.ts new file mode 100644 index 0000000..50e5c91 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IHttpServer.d.ts @@ -0,0 +1,11 @@ +/// +import http, { ServerResponse } from "http"; +import { INotification } from "../../eft/notifier/INotifier"; +export interface IHttpServer { + load(): void; + getCookies(req: http.IncomingMessage): any; + sendFile(resp: ServerResponse, file: any): void; + isConnectionWebSocket(sessionID: string): boolean; + sendResponse(sessionID: string, req: any, resp: any, body: Buffer): void; + sendMessage(sessionID: string, output: INotification): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ILocaleBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ILocaleBase.d.ts new file mode 100644 index 0000000..a20084d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ILocaleBase.d.ts @@ -0,0 +1,61 @@ +export interface ILocaleBase { + global: ILocaleGlobalBase; + menu: Record; + languages: ILanguageBase[]; +} +export interface ILocaleGlobalBase { + interface: Record; + enum: any[]; + mail: Record; + quest: Record; + preset: Record; + handbook: Record; + season: Record; + customization: Record; + repeatableQuest: Record; + templates: ILocaleTemplateBase; + locations: ILocaleLocationsBase; + banners: ILocaleBannersBase; + trading: ILocaleTradingBase; +} +export interface ILocaleQuest { + name: string; + description: string; + note: string; + failMessageText: string; + startedMessageText: string; + successMessageText: string; + conditions: Record; + location: string; +} +export interface ILocalePreset { + Name: string; +} +export interface ILocaleTemplateBase { + templates: Record; +} +export interface ILocaleLocationsBase { + locations: Record; +} +export interface ILocaleBannersBase { + locations: Record; +} +export interface ILocaleProps { + Name: string; + ShortName: string; + Description: string; +} +export interface ILocaleTradingBase { + locations: Record; +} +export interface ILocaleTradingProps { + FullName: string; + FirstName: string; + Nickname: string; + Location: string; + Description: string; +} +export interface ILanguageBase { + ShortName: string; + Name: string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ILocations.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ILocations.d.ts new file mode 100644 index 0000000..18f0262 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ILocations.d.ts @@ -0,0 +1,26 @@ +import { ILocationBase } from "../../eft/common/ILocationBase"; +import { ILooseLoot } from "../../eft/common/ILooseLoot"; +import { ILocationsBase } from "../../eft/common/tables/ILocationsBase"; +export interface ILocations { + bigmap?: ILocationData; + develop?: ILocationData; + factory4_day?: ILocationData; + factory4_night?: ILocationData; + hideout?: ILocationData; + interchange?: ILocationData; + laboratory?: ILocationData; + lighthouse?: ILocationData; + privatearea?: ILocationData; + rezervbase?: ILocationData; + shoreline?: ILocationData; + suburbs?: ILocationData; + tarkovstreets?: ILocationData; + terminal?: ILocationData; + town?: ILocationData; + woods?: ILocationData; + base?: ILocationsBase; +} +export interface ILocationData { + base: ILocationBase; + looseLoot?: ILooseLoot; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IServerBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IServerBase.d.ts new file mode 100644 index 0000000..d033db3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/IServerBase.d.ts @@ -0,0 +1,4 @@ +export interface IServerBase { + ip: string; + port: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ISettingsBase.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ISettingsBase.d.ts new file mode 100644 index 0000000..c067cda --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/server/ISettingsBase.d.ts @@ -0,0 +1,43 @@ +export interface ISettingsBase { + config: Config; +} +export interface Config { + AFKTimeoutSeconds: number; + AdditionalRandomDelaySeconds: number; + ClientSendRateLimit: number; + CriticalRetriesCount: number; + DefaultRetriesCount: number; + FirstCycleDelaySeconds: number; + FramerateLimit: FramerateLimit; + GroupStatusInterval: number; + KeepAliveInterval: number; + Mark502and504AsNonImportant: boolean; + MemoryManagementSettings: MemoryManagementSettings; + NVidiaHighlights: boolean; + NextCycleDelaySeconds: number; + PingServerResultSendInterval: number; + PingServersInterval: number; + ReleaseProfiler: ReleaseProfiler; + SecondCycleDelaySeconds: number; + TurnOffLogging: boolean; + WeaponOverlapDistanceCulling: number; + WebDiagnosticsEnabled: boolean; +} +export interface FramerateLimit { + MaxFramerateGameLimit: number; + MaxFramerateLobbyLimit: number; + MinFramerateLimit: number; +} +export interface MemoryManagementSettings { + AggressiveGC: boolean; + GigabytesRequiredToDisableGCDuringRaid: number; + HeapPreAllocationEnabled: boolean; + HeapPreAllocationMB: number; + OverrideRamCleanerSettings: boolean; + RamCleanerEnabled: boolean; +} +export interface ReleaseProfiler { + Enabled: boolean; + MaxRecords: number; + RecordTriggerValue: number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IAsyncQueue.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IAsyncQueue.d.ts new file mode 100644 index 0000000..2be801a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IAsyncQueue.d.ts @@ -0,0 +1,4 @@ +import { ICommand } from "./ICommand"; +export interface IAsyncQueue { + waitFor(command: ICommand): Promise; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/ICommand.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/ICommand.d.ts new file mode 100644 index 0000000..696bb83 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/ICommand.d.ts @@ -0,0 +1,4 @@ +export interface ICommand { + uuid: string; + cmd: () => Promise; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/ILogger.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/ILogger.d.ts new file mode 100644 index 0000000..c983701 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/ILogger.d.ts @@ -0,0 +1,10 @@ +import { Daum } from "../../eft/itemEvent/IItemEventRouterRequest"; +export interface ILogger { + writeToLogFile(data: string | Daum): void; + log(data: string | Record | Error, color: string): void; + error(data: string): void; + warning(data: string): void; + success(data: string): void; + info(data: string): void; + debug(data: string | Record, onlyShowInConsole?: boolean): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IUuidGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IUuidGenerator.d.ts new file mode 100644 index 0000000..3870469 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IUuidGenerator.d.ts @@ -0,0 +1,3 @@ +export interface IUUidGenerator { + generate(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IWatermark.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IWatermark.d.ts new file mode 100644 index 0000000..a15f5d7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/models/spt/utils/IWatermark.d.ts @@ -0,0 +1,22 @@ +export interface IWatermarkLocale { + getLocale(): string; + getDescription(): string[]; + getWarning(): string[]; +} +export interface IWatermark { + initialize(): void; + getVersionTag(): string; + /** + * Set window title + */ + setTitle(): void; + /** + * Reset console cursor to top + */ + resetCursor(): void; + /** + * Draw the watermark + */ + draw(): void; + getVersionLabel(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/HttpRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/HttpRouter.d.ts new file mode 100644 index 0000000..44edc0b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/HttpRouter.d.ts @@ -0,0 +1,11 @@ +/// +import { IncomingMessage } from "http"; +import { DynamicRouter, StaticRouter } from "../di/Router"; +export declare class HttpRouter { + private staticRouters; + private dynamicRoutes; + constructor(staticRouters: StaticRouter[], dynamicRoutes: DynamicRouter[]); + private groupBy; + getResponse(req: IncomingMessage, info: any, sessionID: string): string; + private handleRoute; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/ImageRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/ImageRouter.d.ts new file mode 100644 index 0000000..07a0606 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/ImageRouter.d.ts @@ -0,0 +1,12 @@ +/// +import { IncomingMessage, ServerResponse } from "http"; +import { VFS } from "../utils/VFS"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +export declare class ImageRouter { + private vfs; + constructor(vfs: VFS); + private onRoute; + addRoute(key: string, valueToAdd: string): void; + sendImage(sessionID: string, req: IncomingMessage, resp: ServerResponse, body: any, httpServer: IHttpServer): void; + getImage(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/ItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/ItemEventRouter.d.ts new file mode 100644 index 0000000..bb20152 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/ItemEventRouter.d.ts @@ -0,0 +1,17 @@ +import { JsonUtil } from "../utils/JsonUtil"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IItemEventRouterRequest } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { ItemEventRouterDefinition } from "../di/Router"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class ItemEventRouter { + private logger; + private jsonUtil; + private profileHelper; + private itemEventRouters; + constructor(logger: ILogger, jsonUtil: JsonUtil, profileHelper: ProfileHelper, itemEventRouters: ItemEventRouterDefinition[]); + private output; + handleEvents(info: IItemEventRouterRequest, sessionID: string): IItemEventRouterResponse; + getOutput(sessionID: string): IItemEventRouterResponse; + private resetOutput; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/BotDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/BotDynamicRouter.d.ts new file mode 100644 index 0000000..51e52f7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/BotDynamicRouter.d.ts @@ -0,0 +1,9 @@ +import { BotCallbacks } from "../../callbacks/BotCallbacks"; +import { DynamicRouter, HandledRoute } from "../../di/Router"; +export declare class BotDynamicRouter extends DynamicRouter { + private botCallbacks; + constructor(botCallbacks: BotCallbacks); + private readonly _routes; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/BundleDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/BundleDynamicRouter.d.ts new file mode 100644 index 0000000..6cec61d --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/BundleDynamicRouter.d.ts @@ -0,0 +1,9 @@ +import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; +import { DynamicRouter, HandledRoute } from "../../di/Router"; +export declare class BundleDynamicRouter extends DynamicRouter { + private bundleCallbacks; + constructor(bundleCallbacks: BundleCallbacks); + private readonly _routes; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/CustomizationDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/CustomizationDynamicRouter.d.ts new file mode 100644 index 0000000..e8a27ff --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/CustomizationDynamicRouter.d.ts @@ -0,0 +1,9 @@ +import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; +import { DynamicRouter, HandledRoute } from "../../di/Router"; +export declare class CustomizationDynamicRouter extends DynamicRouter { + private customizationCallbacks; + constructor(customizationCallbacks: CustomizationCallbacks); + private readonly _routes; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/DataDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/DataDynamicRouter.d.ts new file mode 100644 index 0000000..9b6f632 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/DataDynamicRouter.d.ts @@ -0,0 +1,9 @@ +import { DataCallbacks } from "../../callbacks/DataCallbacks"; +import { DynamicRouter, HandledRoute } from "../../di/Router"; +export declare class DataDynamicRouter extends DynamicRouter { + private dataCallbacks; + constructor(dataCallbacks: DataCallbacks); + private readonly _routes; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/HttpDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/HttpDynamicRouter.d.ts new file mode 100644 index 0000000..17706d5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/HttpDynamicRouter.d.ts @@ -0,0 +1,9 @@ +import { DynamicRouter, HandledRoute } from "../../di/Router"; +import { ImageRouter } from "../ImageRouter"; +export declare class HttpDynamicRouter extends DynamicRouter { + private imageRouter; + constructor(imageRouter: ImageRouter); + private readonly _routes; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/InraidDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/InraidDynamicRouter.d.ts new file mode 100644 index 0000000..cb1e8c0 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/InraidDynamicRouter.d.ts @@ -0,0 +1,10 @@ +import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; +import { DynamicRouter, HandledRoute } from "../../di/Router"; +export declare class InraidDynamicRouter extends DynamicRouter { + private inraidCallbacks; + constructor(inraidCallbacks: InraidCallbacks); + private readonly _routes; + getTopLevelRoute(): string; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/LocationDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/LocationDynamicRouter.d.ts new file mode 100644 index 0000000..9d85230 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/LocationDynamicRouter.d.ts @@ -0,0 +1,10 @@ +import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; +import { DynamicRouter, HandledRoute } from "../../di/Router"; +export declare class LocationDynamicRouter extends DynamicRouter { + private locationCallbacks; + constructor(locationCallbacks: LocationCallbacks); + private readonly _routes; + getTopLevelRoute(): string; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/NotifierDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/NotifierDynamicRouter.d.ts new file mode 100644 index 0000000..e087b40 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/NotifierDynamicRouter.d.ts @@ -0,0 +1,9 @@ +import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; +import { DynamicRouter, HandledRoute } from "../../di/Router"; +export declare class NotifierDynamicRouter extends DynamicRouter { + private notifierCallbacks; + constructor(notifierCallbacks: NotifierCallbacks); + private readonly _routes; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/TraderDynamicRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/TraderDynamicRouter.d.ts new file mode 100644 index 0000000..d957e0e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/dynamic/TraderDynamicRouter.d.ts @@ -0,0 +1,9 @@ +import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; +import { DynamicRouter, HandledRoute } from "../../di/Router"; +export declare class TraderDynamicRouter extends DynamicRouter { + private traderCallbacks; + constructor(traderCallbacks: TraderCallbacks); + private readonly _routes; + getHandledRoutes(): HandledRoute[]; + handleDynamic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/CustomizationItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/CustomizationItemEventRouter.d.ts new file mode 100644 index 0000000..3025e2c --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/CustomizationItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class CustomizationItemEventRouter extends ItemEventRouterDefinition { + private customizationCallbacks; + constructor(customizationCallbacks: CustomizationCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/HealthItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/HealthItemEventRouter.d.ts new file mode 100644 index 0000000..bad9af2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/HealthItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class HealthItemEventRouter extends ItemEventRouterDefinition { + private healthCallbacks; + constructor(healthCallbacks: HealthCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/HideoutItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/HideoutItemEventRouter.d.ts new file mode 100644 index 0000000..2cec18b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/HideoutItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { HideoutCallbacks } from "../../callbacks/HideoutCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class HideoutItemEventRouter extends ItemEventRouterDefinition { + private hideoutCallbacks; + constructor(hideoutCallbacks: HideoutCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/InsuranceItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/InsuranceItemEventRouter.d.ts new file mode 100644 index 0000000..8efc2c2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/InsuranceItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class InsuranceItemEventRouter extends ItemEventRouterDefinition { + private insuranceCallbacks; + constructor(insuranceCallbacks: InsuranceCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/InventoryItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/InventoryItemEventRouter.d.ts new file mode 100644 index 0000000..1d93e7b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/InventoryItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { InventoryCallbacks } from "../../callbacks/InventoryCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class InventoryItemEventRouter extends ItemEventRouterDefinition { + private inventoryCallbacks; + constructor(inventoryCallbacks: InventoryCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/NoteItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/NoteItemEventRouter.d.ts new file mode 100644 index 0000000..12af594 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/NoteItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { NoteCallbacks } from "../../callbacks/NoteCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class NoteItemEventRouter extends ItemEventRouterDefinition { + private noteCallbacks; + constructor(noteCallbacks: NoteCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/PresetBuildItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/PresetBuildItemEventRouter.d.ts new file mode 100644 index 0000000..7298c52 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/PresetBuildItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class PresetBuildItemEventRouter extends ItemEventRouterDefinition { + private presetBuildCallbacks; + constructor(presetBuildCallbacks: PresetBuildCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/QuestItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/QuestItemEventRouter.d.ts new file mode 100644 index 0000000..9944ae9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/QuestItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class QuestItemEventRouter extends ItemEventRouterDefinition { + private questCallbacks; + constructor(questCallbacks: QuestCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/RagfairItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/RagfairItemEventRouter.d.ts new file mode 100644 index 0000000..88e52ba --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/RagfairItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class RagfairItemEventRouter extends ItemEventRouterDefinition { + private ragfairCallbacks; + constructor(ragfairCallbacks: RagfairCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/RepairItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/RepairItemEventRouter.d.ts new file mode 100644 index 0000000..b292ded --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/RepairItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { RepairCallbacks } from "../../callbacks/RepairCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class RepairItemEventRouter extends ItemEventRouterDefinition { + private repairCallbacks; + constructor(repairCallbacks: RepairCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/TradeItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/TradeItemEventRouter.d.ts new file mode 100644 index 0000000..1bca2b8 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/TradeItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { TradeCallbacks } from "../../callbacks/TradeCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class TradeItemEventRouter extends ItemEventRouterDefinition { + private tradeCallbacks; + constructor(tradeCallbacks: TradeCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/WishlistItemEventRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/WishlistItemEventRouter.d.ts new file mode 100644 index 0000000..38831f6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/item_events/WishlistItemEventRouter.d.ts @@ -0,0 +1,10 @@ +import { IPmcData } from "../../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../../models/eft/itemEvent/IItemEventRouterResponse"; +import { WishlistCallbacks } from "../../callbacks/WishlistCallbacks"; +import { HandledRoute, ItemEventRouterDefinition } from "../../di/Router"; +export declare class WishlistItemEventRouter extends ItemEventRouterDefinition { + private wishlistCallbacks; + constructor(wishlistCallbacks: WishlistCallbacks); + getHandledRoutes(): HandledRoute[]; + handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/HealthSaveLoadRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/HealthSaveLoadRouter.d.ts new file mode 100644 index 0000000..114f5b2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/HealthSaveLoadRouter.d.ts @@ -0,0 +1,7 @@ +import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "../../di/Router"; +export declare class HealthSaveLoadRouter extends SaveLoadRouter { + constructor(); + getHandledRoutes(): HandledRoute[]; + handleLoad(profile: IAkiProfile): IAkiProfile; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/InraidSaveLoadRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/InraidSaveLoadRouter.d.ts new file mode 100644 index 0000000..4c00b40 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/InraidSaveLoadRouter.d.ts @@ -0,0 +1,7 @@ +import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "../../di/Router"; +export declare class InraidSaveLoadRouter extends SaveLoadRouter { + constructor(); + getHandledRoutes(): HandledRoute[]; + handleLoad(profile: IAkiProfile): IAkiProfile; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/InsuranceSaveLoadRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/InsuranceSaveLoadRouter.d.ts new file mode 100644 index 0000000..30ce98e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/InsuranceSaveLoadRouter.d.ts @@ -0,0 +1,7 @@ +import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "../../di/Router"; +export declare class InsuranceSaveLoadRouter extends SaveLoadRouter { + constructor(); + getHandledRoutes(): HandledRoute[]; + handleLoad(profile: IAkiProfile): IAkiProfile; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/ProfileSaveLoadRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/ProfileSaveLoadRouter.d.ts new file mode 100644 index 0000000..16c7619 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/save_load/ProfileSaveLoadRouter.d.ts @@ -0,0 +1,7 @@ +import { IAkiProfile } from "../../models/eft/profile/IAkiProfile"; +import { HandledRoute, SaveLoadRouter } from "../../di/Router"; +export declare class ProfileSaveLoadRouter extends SaveLoadRouter { + constructor(); + getHandledRoutes(): HandledRoute[]; + handleLoad(profile: IAkiProfile): IAkiProfile; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/BundleSerializer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/BundleSerializer.d.ts new file mode 100644 index 0000000..5f275c4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/BundleSerializer.d.ts @@ -0,0 +1,11 @@ +import { IHttpServer } from "../../models/spt/server/IHttpServer"; +import { ILogger } from "../../models/spt/utils/ILogger"; +import { Serializer } from "../../di/Serializer"; +import { BundleLoader } from "../../loaders/BundleLoader"; +export declare class BundleSerializer extends Serializer { + private logger; + private bundleLoader; + constructor(logger: ILogger, bundleLoader: BundleLoader); + serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + canHandle(route: string): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/ImageSerializer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/ImageSerializer.d.ts new file mode 100644 index 0000000..29340d0 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/ImageSerializer.d.ts @@ -0,0 +1,9 @@ +import { IHttpServer } from "../../models/spt/server/IHttpServer"; +import { Serializer } from "../../di/Serializer"; +import { ImageRouter } from "../ImageRouter"; +export declare class ImageSerializer extends Serializer { + private imageRouter; + constructor(imageRouter: ImageRouter); + serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + canHandle(route: string): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/NotifySerializer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/NotifySerializer.d.ts new file mode 100644 index 0000000..7be87ef --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/serializers/NotifySerializer.d.ts @@ -0,0 +1,11 @@ +import { IHttpServer } from "../../models/spt/server/IHttpServer"; +import { NotifierController } from "../../controllers/NotifierController"; +import { Serializer } from "../../di/Serializer"; +import { HttpServerHelper } from "../../helpers/HttpServerHelper"; +export declare class NotifySerializer extends Serializer { + private notifierController; + private httpServerHelper; + constructor(notifierController: NotifierController, httpServerHelper: HttpServerHelper); + serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void; + canHandle(route: string): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/BotStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/BotStaticRouter.d.ts new file mode 100644 index 0000000..7b23da6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/BotStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { BotCallbacks } from "../../callbacks/BotCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class BotStaticRouter extends StaticRouter { + private botCallbacks; + constructor(botCallbacks: BotCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/BundleStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/BundleStaticRouter.d.ts new file mode 100644 index 0000000..9283003 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/BundleStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { BundleCallbacks } from "../../callbacks/BundleCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class BundleStaticRouter extends StaticRouter { + private bundleCallbacks; + constructor(bundleCallbacks: BundleCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/CustomizationStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/CustomizationStaticRouter.d.ts new file mode 100644 index 0000000..0d29578 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/CustomizationStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { CustomizationCallbacks } from "../../callbacks/CustomizationCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class CustomizationStaticRouter extends StaticRouter { + private customizationCallbacks; + constructor(customizationCallbacks: CustomizationCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/DataStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/DataStaticRouter.d.ts new file mode 100644 index 0000000..b8d2fea --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/DataStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { DataCallbacks } from "../../callbacks/DataCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class DataStaticRouter extends StaticRouter { + private dataCallbacks; + constructor(dataCallbacks: DataCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/DialogStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/DialogStaticRouter.d.ts new file mode 100644 index 0000000..5e7285e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/DialogStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { DialogueCallbacks } from "../../callbacks/DialogueCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class DialogStaticRouter extends StaticRouter { + private dialogueCallbacks; + constructor(dialogueCallbacks: DialogueCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/GameStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/GameStaticRouter.d.ts new file mode 100644 index 0000000..e8eca40 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/GameStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { GameCallbacks } from "../../callbacks/GameCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class GameStaticRouter extends StaticRouter { + private gameCallbacks; + constructor(gameCallbacks: GameCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/HealthStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/HealthStaticRouter.d.ts new file mode 100644 index 0000000..aa0b8b3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/HealthStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { HealthCallbacks } from "../../callbacks/HealthCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class HealthStaticRouter extends StaticRouter { + private healthCallbacks; + constructor(healthCallbacks: HealthCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/InraidStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/InraidStaticRouter.d.ts new file mode 100644 index 0000000..417d9d7 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/InraidStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { InraidCallbacks } from "../../callbacks/InraidCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class InraidStaticRouter extends StaticRouter { + private inraidCallbacks; + constructor(inraidCallbacks: InraidCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/InsuranceStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/InsuranceStaticRouter.d.ts new file mode 100644 index 0000000..6fbffe5 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/InsuranceStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { InsuranceCallbacks } from "../../callbacks/InsuranceCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class InsuranceStaticRouter extends StaticRouter { + private insuranceCallbacks; + constructor(insuranceCallbacks: InsuranceCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/ItemEventStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/ItemEventStaticRouter.d.ts new file mode 100644 index 0000000..1a869e1 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/ItemEventStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { ItemEventCallbacks } from "../../callbacks/ItemEventCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class ItemEventStaticRouter extends StaticRouter { + private itemEventCallbacks; + constructor(itemEventCallbacks: ItemEventCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/LauncherStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/LauncherStaticRouter.d.ts new file mode 100644 index 0000000..0d5e231 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/LauncherStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { LauncherCallbacks } from "../../callbacks/LauncherCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class LauncherStaticRouter extends StaticRouter { + private launcherCallbacks; + constructor(launcherCallbacks: LauncherCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/LocationStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/LocationStaticRouter.d.ts new file mode 100644 index 0000000..0b9b063 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/LocationStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { LocationCallbacks } from "../../callbacks/LocationCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class LocationStaticRouter extends StaticRouter { + private locationCallbacks; + constructor(locationCallbacks: LocationCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/MatchStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/MatchStaticRouter.d.ts new file mode 100644 index 0000000..55c9640 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/MatchStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { MatchCallbacks } from "../../callbacks/MatchCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class MatchStaticRouter extends StaticRouter { + private matchCallbacks; + constructor(matchCallbacks: MatchCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/NotifierStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/NotifierStaticRouter.d.ts new file mode 100644 index 0000000..0d992db --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/NotifierStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { NotifierCallbacks } from "../../callbacks/NotifierCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class NotifierStaticRouter extends StaticRouter { + private notifierCallbacks; + constructor(notifierCallbacks: NotifierCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/PresetStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/PresetStaticRouter.d.ts new file mode 100644 index 0000000..a1bda56 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/PresetStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { PresetBuildCallbacks } from "../../callbacks/PresetBuildCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class PresetStaticRouter extends StaticRouter { + private presetCallbacks; + constructor(presetCallbacks: PresetBuildCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/ProfileStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/ProfileStaticRouter.d.ts new file mode 100644 index 0000000..d03b782 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/ProfileStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { ProfileCallbacks } from "../../callbacks/ProfileCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class ProfileStaticRouter extends StaticRouter { + private profileCallbacks; + constructor(profileCallbacks: ProfileCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/QuestStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/QuestStaticRouter.d.ts new file mode 100644 index 0000000..d375409 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/QuestStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { QuestCallbacks } from "../../callbacks/QuestCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class QuestStaticRouter extends StaticRouter { + private questCallbacks; + constructor(questCallbacks: QuestCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/RagfairStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/RagfairStaticRouter.d.ts new file mode 100644 index 0000000..d5ed312 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/RagfairStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { RagfairCallbacks } from "../../callbacks/RagfairCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class RagfairStaticRouter extends StaticRouter { + private ragfairCallbacks; + constructor(ragfairCallbacks: RagfairCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/TraderStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/TraderStaticRouter.d.ts new file mode 100644 index 0000000..e3406fb --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/TraderStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { TraderCallbacks } from "../../callbacks/TraderCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class TraderStaticRouter extends StaticRouter { + private traderCallbacks; + constructor(traderCallbacks: TraderCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/WeatherStaticRouter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/WeatherStaticRouter.d.ts new file mode 100644 index 0000000..aec3575 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/routers/static/WeatherStaticRouter.d.ts @@ -0,0 +1,8 @@ +import { WeatherCallbacks } from "../../callbacks/WeatherCallbacks"; +import { HandledRoute, StaticRouter } from "../../di/Router"; +export declare class WeatherStaticRouter extends StaticRouter { + private weatherCallbacks; + constructor(weatherCallbacks: WeatherCallbacks); + getHandledRoutes(): HandledRoute[]; + handleStatic(url: string, info: any, sessionID: string, output: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/servers/ConfigServer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/servers/ConfigServer.d.ts new file mode 100644 index 0000000..9c2e114 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/servers/ConfigServer.d.ts @@ -0,0 +1,30 @@ +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class ConfigServer { + private logger; + private vfs; + private jsonUtil; + private configs; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil); + getConfig(configType: ConfigTypes): T; + initialize(): void; +} +export declare const enum ConfigTypes { + AIRDROP = "aki-airdrop", + BOT = "aki-bot", + CORE = "aki-core", + HEALTH = "aki-health", + HIDEOUT = "aki-hideout", + HTTP = "aki-http", + IN_RAID = "aki-inraid", + INSURANCE = "aki-insurance", + INVENTORY = "aki-inventory", + LOCATION = "aki-location", + MATCH = "aki-match", + QUEST = "aki-quest", + RAGFAIR = "aki-ragfair", + REPAIR = "aki-repair", + TRADER = "aki-trader", + WEATHER = "aki-weather" +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/servers/DatabaseServer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/servers/DatabaseServer.d.ts new file mode 100644 index 0000000..521bcf9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/servers/DatabaseServer.d.ts @@ -0,0 +1,6 @@ +import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; +export declare class DatabaseServer { + private tableData; + getTables(): IDatabaseTables; + setTables(any: any): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/servers/HttpServer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/servers/HttpServer.d.ts new file mode 100644 index 0000000..0ba20c6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/servers/HttpServer.d.ts @@ -0,0 +1,43 @@ +/// +import { HttpRouter } from "../routers/HttpRouter"; +import { JsonUtil } from "../utils/JsonUtil"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { DatabaseServer } from "./DatabaseServer"; +import { Serializer } from "../di/Serializer"; +import http, { ServerResponse } from "http"; +import { INotification } from "../models/eft/notifier/INotifier"; +import { NotifierHelper } from "../helpers/NotifierHelper"; +import { ConfigServer } from "./ConfigServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { HttpServerHelper } from "../helpers/HttpServerHelper"; +import { IHttpServer } from "../models/spt/server/IHttpServer"; +export declare class HttpServer implements IHttpServer { + private httpRouter; + private logger; + private jsonUtil; + private httpResponse; + private databaseServer; + private notifierHelper; + private httpServerHelper; + private serializers; + private configServer; + constructor(httpRouter: HttpRouter, logger: ILogger, jsonUtil: JsonUtil, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, serializers: Serializer[], configServer: ConfigServer); + private buffers; + private onReceive; + private onRespond; + private httpConfig; + private webSockets; + private websocketPingHandler; + getCookies(req: http.IncomingMessage): any; + resetBuffer(sessionID: string): void; + putInBuffer(sessionID: any, data: any, bufLength: number): boolean; + getFromBuffer(sessionID: string): any; + sendZlibJson(resp: any, output: any, sessionID: string): void; + sendMessage(sessionID: string, output: INotification): void; + sendFile(resp: ServerResponse, file: any): void; + isConnectionWebSocket(sessionID: string): boolean; + sendResponse(sessionID: string, req: any, resp: any, body: Buffer): void; + handleRequest(req: http.IncomingMessage, resp: http.ServerResponse): void; + load(): void; + wsOnConnection(ws: any, req: any): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/servers/RagfairServer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/servers/RagfairServer.d.ts new file mode 100644 index 0000000..d103625 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/servers/RagfairServer.d.ts @@ -0,0 +1,46 @@ +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { RagfairServerHelper } from "../helpers/RagfairServerHelper"; +import { ProfileHelper } from "../helpers/ProfileHelper"; +import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; +import { SaveServer } from "./SaveServer"; +import { RagfairPriceService } from "../services/RagfairPriceService"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; +import { RagfairLinkedItemService } from "../services/RagfairLinkedItemService"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { ConfigServer } from "./ConfigServer"; +import { ItemEventRouter } from "../routers/ItemEventRouter"; +import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairServer { + private logger; + private ragfairOfferGenerator; + private ragfairServerHelper; + private profileHelper; + private itemEventRouter; + private httpResponse; + private saveServer; + private ragfairPriceService; + private ragfairOfferService; + private ragfairLinkedItemService; + private ragfairCategoriesService; + private ragfairRequiredItemsService; + private configServer; + private ragfairConfig; + constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, saveServer: SaveServer, ragfairPriceService: RagfairPriceService, ragfairOfferService: RagfairOfferService, ragfairLinkedItemService: RagfairLinkedItemService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer); + load(): void; + update(): void; + private processExpiredOffer; + returnPlayerOffer(offer: IRagfairOffer): IItemEventRouterResponse; + getCategories(): Record; + /** + * Disable/Hide an offer from flea + * @param offerId + */ + hideOffer(offerId: string): void; + getOffer(offerID: string): IRagfairOffer; + removeOfferStack(offerID: string, amount: number): void; + doesOfferExist(offerId: string): boolean; + addPlayerOffers(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/servers/SaveServer.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/servers/SaveServer.d.ts new file mode 100644 index 0000000..fdf92e4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/servers/SaveServer.d.ts @@ -0,0 +1,28 @@ +import { IAkiProfile, Info } from "../models/eft/profile/IAkiProfile"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +import { SaveLoadRouter } from "../di/Router"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class SaveServer { + private vfs; + private saveLoadRouters; + private jsonUtil; + private hashUtil; + private logger; + private profileFilepath; + private profiles; + private onSave; + private saveMd5; + constructor(vfs: VFS, saveLoadRouters: SaveLoadRouter[], jsonUtil: JsonUtil, hashUtil: HashUtil, logger: ILogger); + load(): void; + save(): void; + getProfile(sessionId: string): IAkiProfile; + getProfiles(): Record; + deleteProfileById(sessionID: string): boolean; + createProfile(profileInfo: Info): void; + addProfile(profileDetails: IAkiProfile): void; + loadProfile(sessionID: string): void; + saveProfile(sessionID: string): void; + removeProfile(sessionID: string): boolean; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/FenceService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/FenceService.d.ts new file mode 100644 index 0000000..eef87b3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/FenceService.d.ts @@ -0,0 +1,38 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { FenceLevel } from "../models/eft/common/IGlobals"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RandomUtil } from "../utils/RandomUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class FenceService { + private logger; + private hashUtil; + private jsonUtil; + private randomUtil; + private databaseServer; + private handbookHelper; + private itemHelper; + private presetHelper; + private configServer; + private fenceAssort; + private traderConfig; + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, itemHelper: ItemHelper, presetHelper: PresetHelper, configServer: ConfigServer); + private setFenceAssort; + getFenceAssorts(): ITraderAssort; + hasExpiredCache(refreshAssort: boolean): boolean; + generateFenceAssortCache(pmcData: IPmcData): void; + /** + * + * @param pmcData Get the fence level the passed in profile has + * @returns FenceLevel + */ + getFenceInfo(pmcData: IPmcData): FenceLevel; + removeFenceOffer(assortIdToRemove: string): void; + updateFenceOffers(pmcData: IPmcData): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/HashCacheService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/HashCacheService.d.ts new file mode 100644 index 0000000..c9b0170 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/HashCacheService.d.ts @@ -0,0 +1,19 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { HashUtil } from "../utils/HashUtil"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +export declare class HashCacheService { + private vfs; + private hashUtil; + private jsonUtil; + private logger; + private jsonHashes; + private modHashes; + private readonly modCachePath; + constructor(vfs: VFS, hashUtil: HashUtil, jsonUtil: JsonUtil, logger: ILogger); + getStoredModHash(modName: string): string; + modContentMatchesStoredHash(modName: string, modContent: string): boolean; + hashMatchesStoredHash(modName: string, modHash: string): boolean; + storeModContent(modName: string, modContent: string): void; + storeModHash(modName: string, modHash: string): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/InsuranceService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/InsuranceService.d.ts new file mode 100644 index 0000000..35f0dbc --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/InsuranceService.d.ts @@ -0,0 +1,41 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DialogueHelper } from "../helpers/DialogueHelper"; +import { SecureContainerHelper } from "../helpers/SecureContainerHelper"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { RandomUtil } from "../utils/RandomUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class InsuranceService { + private logger; + private databaseServer; + private secureContainerHelper; + private randomUtil; + private timeUtil; + private saveServer; + private traderHelper; + private dialogueHelper; + private configServer; + private insured; + private templatesById; + private insuranceConfig; + constructor(logger: ILogger, databaseServer: DatabaseServer, secureContainerHelper: SecureContainerHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, saveServer: SaveServer, traderHelper: TraderHelper, dialogueHelper: DialogueHelper, configServer: ConfigServer); + insuranceExists(sessionId: string): boolean; + insuranceTraderArrayExists(sessionId: string, traderId: string): boolean; + getInsurance(sessionId: string): Record; + getInsuranceItems(sessionId: string, traderId: string): any[]; + resetInsurance(sessionId: string): void; + resetInsuranceTraderArray(sessionId: string, traderId: string): void; + addInsuranceItemToArray(sessionId: string, traderId: string, itemToAdd: any): void; + getItemPrice(_tpl: string): number; + generateTemplatesById(): void; + sendInsuredItems(pmcData: IPmcData, sessionID: string): void; + storeLostGear(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; + storeInsuredItemsForReturn(pmcData: IPmcData, offraidData: ISaveProgressRequestData, preRaidGear: Item[], sessionID: string): void; + private addGearToSend; + getPremium(pmcData: IPmcData, inventoryItem: Item, traderId: string): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/MatchLocationService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/MatchLocationService.d.ts new file mode 100644 index 0000000..f7b7d3b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/MatchLocationService.d.ts @@ -0,0 +1,8 @@ +import { TimeUtil } from "../utils/TimeUtil"; +export declare class MatchLocationService { + private timeUtil; + private locations; + constructor(timeUtil: TimeUtil); + createGroup(sessionID: string, info: any): any; + deleteGroup(info: any): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/ModCompilerService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/ModCompilerService.d.ts new file mode 100644 index 0000000..7e750c3 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/ModCompilerService.d.ts @@ -0,0 +1,11 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { VFS } from "../utils/VFS"; +export declare class ModCompilerService { + private logger; + private vfs; + constructor(logger: ILogger, vfs: VFS); + compileMod(path: string, modTypeScriptFiles: string[]): Promise; + private compile; + private areFilesReady; + private delay; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/NotificationService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/NotificationService.d.ts new file mode 100644 index 0000000..9c6c143 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/NotificationService.d.ts @@ -0,0 +1,21 @@ +import { INotification } from "../models/eft/notifier/INotifier"; +export declare class NotificationService { + private messageQueue; + getMessageQueue(): {}; + getMessageFromQueue(sessionId: string): any; + updateMessageOnQueue(sessionId: string, value: any[]): void; + has(sessionID: string): boolean; + /** + * Pop first message from queue. + */ + pop(sessionID: string): any; + /** + * Add message to queue + */ + add(sessionID: string, message: INotification): void; + /** + * Get message queue for session + * @param sessionID + */ + get(sessionID: string): any; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/PaymentService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/PaymentService.d.ts new file mode 100644 index 0000000..20cee50 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/PaymentService.d.ts @@ -0,0 +1,48 @@ +import { InventoryHelper } from "../helpers/InventoryHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData"; +import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData"; +import { TraderHelper } from "../helpers/TraderHelper"; +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { HttpResponseUtil } from "../utils/HttpResponseUtil"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class PaymentService { + private logger; + private httpResponse; + private databaseServer; + private handbookHelper; + private traderHelper; + private itemHelper; + private inventoryHelper; + private paymentHelper; + constructor(logger: ILogger, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper); + /** + * Take money and insert items into return to server request + * @param {Object} pmcData + * @param {Object} body + * @param {string} sessionID + * @returns Object + */ + payMoney(pmcData: IPmcData, body: IProcessBuyTradeRequestData, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; + /** + * Receive money back after selling + * @param {IPmcData} pmcData + * @param {number} amount + * @param {IProcessSellTradeRequestData} body + * @param {IItemEventRouterResponse} output + * @param {string} sessionID + * @returns IItemEventRouterResponse + */ + 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 + */ + private isItemInStash; + addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/PlayerService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/PlayerService.d.ts new file mode 100644 index 0000000..4a74b4a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/PlayerService.d.ts @@ -0,0 +1,22 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPlayerIncrementSkillLevelRequestData } from "../models/eft/player/IPlayerIncrementSkillLevelRequestData"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class PlayerService { + private logger; + private databaseServer; + constructor(logger: ILogger, databaseServer: DatabaseServer); + /** + * increases the profile skill and updates any output + * @param {Object} pmcData + * @param {Object} output + * @param {String} skillName + * @param {Number} amount + */ + incrementSkillLevel(pmcData: IPmcData, output: IPlayerIncrementSkillLevelRequestData, skillName: string, amount: number): void; + /** + * @param {Object} pmcData + * @returns number + */ + calculateLevel(pmcData: IPmcData): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairCategoriesService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairCategoriesService.d.ts new file mode 100644 index 0000000..fb9efa2 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairCategoriesService.d.ts @@ -0,0 +1,10 @@ +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +export declare class RagfairCategoriesService { + updateCategories(offers: IRagfairOffer[]): void; + private categories; + getCategories(): Record; + getCategoryByItemId(itemId: string): number; + resetCategories(): void; + setCategoryValue(itemId: string, newValue: number): void; + incrementCategory(itemId: string): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairLinkedItemService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairLinkedItemService.d.ts new file mode 100644 index 0000000..d5dc58e --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairLinkedItemService.d.ts @@ -0,0 +1,9 @@ +import { DatabaseServer } from "../servers/DatabaseServer"; +export declare class RagfairLinkedItemService { + private databaseServer; + private linkedItemsCache; + constructor(databaseServer: DatabaseServer); + getLinkedItems(linkedSearchId: string): Iterable; + buildLinkedItemTable(): void; + private getFilters; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairOfferService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairOfferService.d.ts new file mode 100644 index 0000000..4e4ae26 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairOfferService.d.ts @@ -0,0 +1,52 @@ +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { TimeUtil } from "../utils/TimeUtil"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +export declare class RagfairOfferService { + private timeUtil; + private databaseServer; + private saveServer; + private configServer; + private playerOffersLoaded; + private toUpdate; + private expiredOffers; + private offers; + private ragfairConfig; + constructor(timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, configServer: ConfigServer); + getOffers(): IRagfairOffer[]; + getOfferByOfferId(offerId: string): IRagfairOffer; + getOffersOfType(templateId: string): IRagfairOffer[]; + addOffer(offer: IRagfairOffer): void; + addOfferToExpired(offer: Item): void; + setTraderUpdateStatus(traderId: string, shouldUpdate: boolean): void; + shouldTraderBeUpdated(traderID: string): boolean; + /** + * Get an array of expired offers that are still shown to player + * @returns IRagfairOffer array + */ + getExpiredActiveOffers(): IRagfairOffer[]; + getExpiredOfferCount(): number; + getOfferIndexByOfferId(offerId: string): number; + /** + * Get an array of expired items not yet processed into new offers + * @returns items that need to be turned into offers + */ + getExpiredOffers(): Item[]; + resetExpiredOffers(): void; + private isExpired; + /** + * Does the offer exist on the ragfair + * @param offerId offer id to check for + * @returns offer exists - true + */ + doesOfferExist(offerId: string): boolean; + getTraders(): Record; + flagTraderForUpdate(expiredOfferUserId: string): void; + removeOffer(globalOfferIndex: number, countToRemove: number): void; + removeOfferStack(offerID: string, amount: number): void; + removeAllOffersByTrader(traderId: string): void; + addTradersToUpdateList(): void; + addPlayerOffers(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairPriceService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairPriceService.d.ts new file mode 100644 index 0000000..7cc42f9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairPriceService.d.ts @@ -0,0 +1,30 @@ +import { RandomUtil } from "../utils/RandomUtil"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ConfigServer } from "../servers/ConfigServer"; +import { HandbookHelper } from "../helpers/HandbookHelper"; +import { ItemHelper } from "../helpers/ItemHelper"; +import { PresetHelper } from "../helpers/PresetHelper"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IBarterScheme } from "../models/eft/common/tables/ITrader"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairPriceService { + private handbookHelper; + private databaseServer; + private logger; + private itemHelper; + private presetHelper; + private randomUtil; + private configServer; + private ragfairConfig; + private prices; + constructor(handbookHelper: HandbookHelper, databaseServer: DatabaseServer, logger: ILogger, itemHelper: ItemHelper, presetHelper: PresetHelper, randomUtil: RandomUtil, configServer: ConfigServer); + generateStaticPrices(): void; + generateDynamicPrices(): void; + hasDynamicPrices(): boolean; + getDynamicPrice(itemTpl: string): number; + getAllFleaPrices(): Record; + getFleaPriceForItem(tplId: string): number; + getBarterPrice(barterScheme: IBarterScheme[]): number; + getDynamicOfferPrice(items: Item[], desiredCurrency: string): number; + getWeaponPresetPrice(item: Item, items: Item[], existingPrice: number): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairRequiredItemsService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairRequiredItemsService.d.ts new file mode 100644 index 0000000..e4582d0 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/RagfairRequiredItemsService.d.ts @@ -0,0 +1,12 @@ +import { PaymentHelper } from "../helpers/PaymentHelper"; +import { RagfairOfferService } from "../services/RagfairOfferService"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairRequiredItemsService { + private logger; + private paymentHelper; + private ragfairOfferService; + private requiredItemsCache; + constructor(logger: ILogger, paymentHelper: PaymentHelper, ragfairOfferService: RagfairOfferService); + getRequiredItems(searchId: string): any; + buildRequiredItemTable(): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/services/TraderAssortService.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/services/TraderAssortService.d.ts new file mode 100644 index 0000000..ccb9e45 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/services/TraderAssortService.d.ts @@ -0,0 +1,6 @@ +import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +export declare class TraderAssortService { + private pristineTraderAssorts; + getPristineTraderAssort(traderId: string): ITraderAssort; + setPristineTraderAssort(traderId: string, assort: ITraderAssort): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/App.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/App.d.ts new file mode 100644 index 0000000..a11f576 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/App.d.ts @@ -0,0 +1,14 @@ +import { TimeUtil } from "./TimeUtil"; +import { OnLoad } from "../di/OnLoad"; +import { OnUpdate } from "../di/OnUpdate"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class App { + private logger; + private timeUtil; + private onLoadComponents; + private onUpdateComponents; + private onUpdateLastRun; + constructor(logger: ILogger, timeUtil: TimeUtil, onLoadComponents: OnLoad[], onUpdateComponents: OnUpdate[]); + load(): void; + private update; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/AyncQueue.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/AyncQueue.d.ts new file mode 100644 index 0000000..8f1559b --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/AyncQueue.d.ts @@ -0,0 +1,7 @@ +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { ICommand } from "../models/spt/utils/ICommand"; +export declare class AsyncQueue implements IAsyncQueue { + commandsQueue: ICommand[]; + constructor(); + waitFor(command: ICommand): Promise; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/DatabaseImporter.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/DatabaseImporter.d.ts new file mode 100644 index 0000000..97dda30 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/DatabaseImporter.d.ts @@ -0,0 +1,18 @@ +import { VFS } from "./VFS"; +import { JsonUtil } from "./JsonUtil"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { ImageRouter } from "../routers/ImageRouter"; +import { OnLoad } from "../di/OnLoad"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class DatabaseImporter extends OnLoad { + private logger; + private vfs; + private jsonUtil; + private databaseServer; + private imageRouter; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, imageRouter: ImageRouter); + onLoad(): void; + getRoute(): string; + loadRecursive(filepath: string): any; + loadImages(filepath: string): void; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/HashUtil.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/HashUtil.d.ts new file mode 100644 index 0000000..cf92b47 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/HashUtil.d.ts @@ -0,0 +1,11 @@ +/// +import crypto from "crypto"; +import { TimeUtil } from "./TimeUtil"; +export declare class HashUtil { + private timeUtil; + constructor(timeUtil: TimeUtil); + generate(): string; + generateMd5ForData(data: string): string; + generateSha1ForData(data: string): string; + generateHashForData(algorithm: string, data: crypto.BinaryLike): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/HttpResponseUtil.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/HttpResponseUtil.d.ts new file mode 100644 index 0000000..85c28bd --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/HttpResponseUtil.d.ts @@ -0,0 +1,16 @@ +import { JsonUtil } from "./JsonUtil"; +import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; +import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; +export declare class HttpResponseUtil { + private jsonUtil; + constructor(jsonUtil: JsonUtil); + private clearString; + noBody(data: any): any; + getBody(data: T, err?: number, errmsg?: any): IGetBodyResponseData; + getUnclearedBody(data: any, err?: number, errmsg?: any): string; + emptyResponse(): IGetBodyResponseData; + nullResponse(): INullResponseData; + emptyArrayResponse(): IGetBodyResponseData; + appendErrorToOutput(output: IItemEventRouterResponse, message?: string, title?: string): IItemEventRouterResponse; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/JsonUtil.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/JsonUtil.d.ts new file mode 100644 index 0000000..20b7448 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/JsonUtil.d.ts @@ -0,0 +1,25 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { HashUtil } from "./HashUtil"; +import { VFS } from "./VFS"; +export declare class JsonUtil { + private vfs; + private hashUtil; + private logger; + private fileHashes; + constructor(vfs: VFS, hashUtil: HashUtil, logger: ILogger); + /** + * From object to string + * @param data object to turn into JSON + * @param prettify Should output be prettified? + * @returns string + */ + serialize(data: any, prettify?: boolean): string; + /** + * From string to object + * @param jsonString json string to turn into object + * @returns object + */ + deserialize(jsonString: string): any; + deserializeWithCacheCheck(jsonString: string, filePath: string): string; + clone(data: T): T; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/Logger.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/Logger.d.ts new file mode 100644 index 0000000..9d5b32a --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/Logger.d.ts @@ -0,0 +1,25 @@ +/// +import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; +import fs from "fs"; +export declare class WinstonLogger implements ILogger { + private asyncQueue; + private uuidGenerator; + private showDebugInConsole; + private folderPath; + private file; + private filePath; + private logLevels; + private logger; + writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; + constructor(asyncQueue: IAsyncQueue, uuidGenerator: IUUidGenerator); + writeToLogFile(data: string | Daum): Promise; + log(data: string | Error | Record, color: string): Promise; + error(data: string | Record): Promise; + warning(data: string | Record): Promise; + success(data: string | Record): Promise; + info(data: string | Record): Promise; + debug(data: string | Record, onlyShowInConsole?: boolean): Promise; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/MathUtil.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/MathUtil.d.ts new file mode 100644 index 0000000..ea5fd69 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/MathUtil.d.ts @@ -0,0 +1,53 @@ +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) + */ + arraySum(values: number[]): number; + /** + * Helper to create the cumulative sum of all array elements + * arrayCumsum([1, 2, 3, 4]) = [1, 3, 6, 10] + * @param {array} values The array with numbers of which to calculate the cumulative sum + * @return {array} cumsum(values) + */ + arrayCumsum(values: number[]): number[]; + /** + * Helper to create the product of each element times factor + * @param {array} values The array of numbers which shall be multiplied by the factor + * @return {array} array times factor + */ + arrayProd(values: number[], factor: number): number[]; + /** + * Helper to add a constant to all array elements + * @param {array} values The array of numbers to which the summand should be added + * @return {array} array plus summand + */ + arrayAdd(values: number[], summand: number): number[]; + /** + * Map a value from an input range to an output range linearly + * + * Example: + * a_min = 0; a_max=1; + * b_min = 1; b_max=3; + * MathUtil.mapToRange(0.5, a_min, a_max, b_min, b_max) // returns 2 + * + * @param {number} x The value from input range to be mapped to output range + * @param {number} minIn min of input range + * @param {number} maxIn max of input range + * @param {number} minOut min of output range + * @param {number} maxOut max of outout range + * @return {number} the result of the mapping + */ + 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) + */ + interp1(xp: number, x: number[], y: number[]): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/ObjectId.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/ObjectId.d.ts new file mode 100644 index 0000000..b100572 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/ObjectId.d.ts @@ -0,0 +1,14 @@ +/// +import { TimeUtil } from "./TimeUtil"; +export declare class ObjectId { + private timeUtil; + constructor(timeUtil: TimeUtil); + private randomBytes; + private constglobalCounter; + private consttime; + private globalCounter; + private time; + incGlobalCounter(): number; + toHexString(byteArray: string | any[] | Buffer): string; + generate(): string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/RandomUtil.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/RandomUtil.d.ts new file mode 100644 index 0000000..3a3ecb6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/RandomUtil.d.ts @@ -0,0 +1,153 @@ +import { ILogger } from "../models/spt/utils/ILogger"; +import { JsonUtil } from "./JsonUtil"; +import { MathUtil } from "./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) + */ +export declare class ProbabilityObjectArray extends Array> { + private mathUtil; + constructor(mathUtil: MathUtil, ...items: ProbabilityObject[]); + filter(callbackfn: (value: ProbabilityObject, index: number, array: ProbabilityObject[]) => any): ProbabilityObjectArray; + /** + * Calculates the normalized cumulative probability of the ProbabilityObjectArray's elements normalized to 1 + * @param {array} probValues The relative probability values of which to calculate the normalized cumulative sum + * @returns {array} Cumulative Sum normalized to 1 + */ + cumulativeProbability(probValues: number[]): number[]; + /** + * Clone this ProbabilitObjectArray + * @returns {ProbabilityObjectArray} Deep Copy of this ProbabilityObjectArray + */ + clone(): ProbabilityObjectArray; + /** + * Drop an element from the ProbabilityObjectArray + * + * @param {string} key The key of the element to drop + * @returns {ProbabilityObjectArray} ProbabilityObjectArray without the dropped element + */ + drop(key: K): ProbabilityObjectArray; + /** + * Return the data field of a element of the ProbabilityObjectArray + * @param {string} key The key of the element whose data shall be retrieved + * @returns {object} The data object + */ + data(key: K): V; + /** + * Get the relative probability of an element by its key + * + * Example: + * po = new ProbabilityObjectArray(new ProbabilityObject("a", 5), new ProbabilityObject("b", 1)) + * po.maxProbability() // returns 5 + * + * @param {string} key The key of the element whose relative probability shall be retrieved + * @return {number} The relative probability + */ + probability(key: K): number; + /** + * Get the maximum relative probability out of a ProbabilityObjectArray + * + * Example: + * po = new ProbabilityObjectArray(new ProbabilityObject("a", 5), new ProbabilityObject("b", 1)) + * po.maxProbability() // returns 5 + * + * @return {number} the maximum value of all relative probabilities in this ProbabilityObjectArray + */ + maxProbability(): number; + /** + * Get the minimum relative probability out of a ProbabilityObjectArray + * + * Example: + * po = new ProbabilityObjectArray(new ProbabilityObject("a", 5), new ProbabilityObject("b", 1)) + * po.minProbability() // returns 1 + * + * @return {number} the minimum value of all relative probabilities in this ProbabilityObjectArray + */ + minProbability(): number; + /** + * Draw random element of the ProbabilityObject N times to return an array of N keys. + * Drawing can be with or without replacement + * + * @param {integer} count The number of times we want to draw + * @param {boolean} replacement Draw with or without replacement from the input dict + * @param {array} locklist list keys which shall be replaced even if drawing without replacement + * @return {array} Array consisting of N random keys for this ProbabilityObjectArray + */ + draw(count?: number, replacement?: boolean, locklist?: 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. + */ +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(key: K, relativeProbability: number, data?: V); +} +export declare class RandomUtil { + private jsonUtil; + private logger; + constructor(jsonUtil: JsonUtil, logger: ILogger); + getInt(min: number, max: number): number; + getIntEx(max: number): number; + getFloat(min: number, max: number): number; + getBool(): boolean; + getStringArrayValue(arr: string[]): string; + getArrayValue(arr: T[]): T; + getKey(node: any): string; + getKeyValue(node: { + [x: string]: any; + }): any; + /** + * Draw from normal distribution + * @param {number} mu Mean of the normal distribution + * @param {number} sigma Standard deviation of the normal distribution + * @returns {number} The value drawn + */ + randn(mu: number, sigma: number): number; + /** + * Draw Random integer low inclusive, high exclusive + * if high is not set we draw from 0 to low (exclusive) + * @param {integer} low Lower bound inclusive, when high is not set, this is high + * @param {integer} high Higher bound exclusive + * @returns {integer} The random integer in [low, high) + */ + randInt(low: number, high?: number): number; + /** + * Draw a random element of the provided list N times to return an array of N random elements + * Drawing can be with or without replacement + * @param {array} list The array we want to draw randomly from + * @param {integer} count The number of times we want to draw + * @param {boolean} replacement Draw with ot without replacement from the input array + * @return {array} Array consisting of N random elements + */ + drawRandomFromList(list: Array, count?: number, replacement?: boolean): Array; + /** + * Draw a random (top level) element of the provided dictionary N times to return an array of N random dictionary keys + * Drawing can be with or without replacement + * @param {any} dict The dictionary we want to draw randomly from + * @param {integer} count The number of times we want to draw + * @param {boolean} replacement Draw with ot without replacement from the input dict + * @return {array} Array consisting of N random keys of the dictionary + */ + drawRandomFromDict(dict: any, count?: number, replacement?: boolean): any[]; + getBiasedRandomNumber(min: number, max: number, shift: number, n: number): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/TimeUtil.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/TimeUtil.d.ts new file mode 100644 index 0000000..9733be9 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/TimeUtil.d.ts @@ -0,0 +1,8 @@ +export declare class TimeUtil { + static readonly oneHourAsSeconds = 3600; + formatTime(date: Date): string; + formatDate(date: Date): string; + getDate(): string; + getTime(): string; + getTimestamp(): number; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/UUidGenerator.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/UUidGenerator.d.ts new file mode 100644 index 0000000..000b719 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/UUidGenerator.d.ts @@ -0,0 +1,4 @@ +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; +export declare class UUidGenerator implements IUUidGenerator { + generate: () => string; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/VFS.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/VFS.d.ts new file mode 100644 index 0000000..b064cf4 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/VFS.d.ts @@ -0,0 +1,54 @@ +/// +import "reflect-metadata"; +import fs from "fs"; +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; +export declare class VFS { + private asyncQueue; + private uuidGenerator; + accessFilePromisify: (path: fs.PathLike, mode?: number) => Promise; + copyFilePromisify: (src: fs.PathLike, dst: fs.PathLike, flags?: number) => Promise; + mkdirPromisify: (path: fs.PathLike, options: fs.MakeDirectoryOptions & { + recursive: true; + }) => Promise; + readFilePromisify: (path: fs.PathLike) => Promise; + writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; + readdirPromisify: (path: fs.PathLike, options?: BufferEncoding | { + encoding: BufferEncoding; + withFileTypes?: false; + }) => Promise; + statPromisify: (path: fs.PathLike, options?: fs.StatOptions & { + bigint?: false; + }) => Promise; + unlinkPromisify: (path: fs.PathLike) => Promise; + rmdirPromisify: (path: fs.PathLike) => Promise; + constructor(asyncQueue: IAsyncQueue, uuidGenerator: IUUidGenerator); + exists(filepath: fs.PathLike): boolean; + existsAsync(filepath: fs.PathLike): Promise; + copyFile(filepath: fs.PathLike, target: fs.PathLike): void; + copyAsync(filepath: fs.PathLike, target: fs.PathLike): Promise; + createDir(filepath: string): void; + createDirAsync(filepath: string): Promise; + copyDir(filepath: string, target: string, fileExtensions: string | string[]): void; + copyDirAsync(filepath: string, target: string, fileExtensions: string | string[]): Promise; + readFile(filepath: string): any; + readFileAsync(filepath: string): Promise; + writeFile(filepath: any, data?: string, append?: boolean, atomic?: boolean): void; + writeFileAsync(filepath: any, data?: string, append?: boolean, atomic?: boolean): Promise; + getFiles(filepath: string): string[]; + getFilesAsync(filepath: string): Promise; + getDirs(filepath: string): string[]; + getDirsAsync(filepath: string): Promise; + removeFile(filepath: string): void; + removeFileAsync(filepath: string): Promise; + removeDir(filepath: string): void; + removeDirAsync(filepath: string): Promise; + private lockFileSync; + private checkFileSync; + private unlockFileSync; + getFileExtension(filepath: string): string; + stripExtension(filepath: string): string; + minifyAllJsonInDirRecursive(filepath: string): Promise; + minifyAllJsonInDirRecursiveAsync(filepath: string): Promise; + getFilesOfType(directory: string, fileType: string, files?: string[]): string[]; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/Watermark.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/Watermark.d.ts new file mode 100644 index 0000000..598d5a6 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/Watermark.d.ts @@ -0,0 +1,29 @@ +import { IWatermark, IWatermarkLocale } from "../models/spt/utils/IWatermark"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class WatermarkLocale implements IWatermarkLocale { + private locales; + getLocale(): string; + getDescription(): string[]; + getWarning(): string[]; +} +export declare class Watermark implements IWatermark { + private logger; + private configServer; + private watermarkLocale?; + private akiConfig; + constructor(logger: ILogger, configServer: ConfigServer, watermarkLocale?: WatermarkLocale); + private text; + private versionLabel; + initialize(): void; + getVersionTag(): string; + getVersionLabel(): string; + /** Set window title */ + setTitle(): void; + /** Reset console cursor to top */ + resetCursor(): void; + /** Draw the watermark */ + draw(): void; + /** Caculate text length */ + private textLength; +} diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/decorators/Singleton.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/decorators/Singleton.d.ts new file mode 100644 index 0000000..7e89026 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/decorators/Singleton.d.ts @@ -0,0 +1,4 @@ +import type constructor from "./constructor"; +import { InjectionToken } from "tsyringe"; +declare function singleton(token?: InjectionToken): (target: constructor) => void; +export default singleton; diff --git a/TypeScript/7OnUpdateOnLoadHooks/types/utils/decorators/constructor.d.ts b/TypeScript/7OnUpdateOnLoadHooks/types/utils/decorators/constructor.d.ts new file mode 100644 index 0000000..416f354 --- /dev/null +++ b/TypeScript/7OnUpdateOnLoadHooks/types/utils/decorators/constructor.d.ts @@ -0,0 +1,4 @@ +declare type constructor = { + new (...args: any[]): T; +}; +export default constructor;