From 8ecab28a7063a590ab4799096e9ea4bd9733a695 Mon Sep 17 00:00:00 2001 From: Valens Date: Mon, 25 Jul 2022 18:23:30 +0000 Subject: [PATCH 1/3] Update 'KcY-SeeItemValue/itemValue/server/src/mod.ts' --- KcY-SeeItemValue/itemValue/server/src/mod.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/KcY-SeeItemValue/itemValue/server/src/mod.ts b/KcY-SeeItemValue/itemValue/server/src/mod.ts index 6373f11..2f697fa 100644 --- a/KcY-SeeItemValue/itemValue/server/src/mod.ts +++ b/KcY-SeeItemValue/itemValue/server/src/mod.ts @@ -30,7 +30,7 @@ class SeeItemValue implements IMod private tradersArr; private cfg; - public load(container: DependencyContainer) + public preAkiLoad(container: DependencyContainer) { this.pkg = require("../package.json"); this.router = container.resolve("DynamicRouterModService"); @@ -41,7 +41,7 @@ class SeeItemValue implements IMod this.addRoute() } - public delayedLoad(container: DependencyContainer) + public postAkiLoad(container: DependencyContainer) { this.database = container.resolve("DatabaseServer"); this.table = this.database.getTables(); From 120cb1f4957e3c267496067fbed487d715162636 Mon Sep 17 00:00:00 2001 From: VforValens Date: Mon, 25 Jul 2022 14:29:35 -0400 Subject: [PATCH 2/3] Updating KcY-SeeItemValue for 3.1.0 --- KcY-SeeItemValue/itemValue/server/dist/package.json | 6 +++--- KcY-SeeItemValue/itemValue/server/dist/src/mod.ts | 4 ++-- KcY-SeeItemValue/itemValue/server/package.json | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/KcY-SeeItemValue/itemValue/server/dist/package.json b/KcY-SeeItemValue/itemValue/server/dist/package.json index e453164..36adb2e 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/package.json +++ b/KcY-SeeItemValue/itemValue/server/dist/package.json @@ -1,11 +1,11 @@ { "name": "SeeItemValue", "author": "KcY", - "version": "1.3.5", + "version": "1.3.6", "license": "NCSA Open Source", "main": "src/mod.js", - "akiVersion": "3.0.0", - "UpdatedBy": "CWX", + "akiVersion": "3.1.0", + "UpdatedBy": "CWX, Valens", "scripts": { "setup:environment": "npm i", "build:unzipped": "copyfiles -e \"./node_modules/**/*.*\" -e \"./dist/**/*.*\" -e \"./package-lock.json\" -e \"./tsconfig.json\" -e \"./README.txt\" -e \"./mod.code-workspace\" ./**/*.* ./dist", diff --git a/KcY-SeeItemValue/itemValue/server/dist/src/mod.ts b/KcY-SeeItemValue/itemValue/server/dist/src/mod.ts index 6364c0d..fb01647 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/src/mod.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/src/mod.ts @@ -30,7 +30,7 @@ class SeeItemValue implements IMod private tradersArr; private cfg; - public load(container: DependencyContainer) + public preAkiLoad(container: DependencyContainer) { this.pkg = require("../package.json"); this.router = container.resolve("DynamicRouterModService"); @@ -41,7 +41,7 @@ class SeeItemValue implements IMod this.addRoute() } - public delayedLoad(container: DependencyContainer) + public postAkiLoad(container: DependencyContainer) { this.database = container.resolve("DatabaseServer"); this.table = this.database.getTables(); diff --git a/KcY-SeeItemValue/itemValue/server/package.json b/KcY-SeeItemValue/itemValue/server/package.json index 3b4886e..36adb2e 100644 --- a/KcY-SeeItemValue/itemValue/server/package.json +++ b/KcY-SeeItemValue/itemValue/server/package.json @@ -1,11 +1,11 @@ { "name": "SeeItemValue", "author": "KcY", - "version": "1.3.3", + "version": "1.3.6", "license": "NCSA Open Source", "main": "src/mod.js", - "akiVersion": "3.0.0", - "UpdatedBy": "CWX", + "akiVersion": "3.1.0", + "UpdatedBy": "CWX, Valens", "scripts": { "setup:environment": "npm i", "build:unzipped": "copyfiles -e \"./node_modules/**/*.*\" -e \"./dist/**/*.*\" -e \"./package-lock.json\" -e \"./tsconfig.json\" -e \"./README.txt\" -e \"./mod.code-workspace\" ./**/*.* ./dist", From 051eb8a4cca72d321f0f65ff2ee241bf35ce28dc Mon Sep 17 00:00:00 2001 From: VforValens Date: Mon, 25 Jul 2022 15:21:49 -0400 Subject: [PATCH 3/3] Updates for 3.1.0 --- Faupi-HideoutMod/Project/package.json | 9 +- .../bepInEx/plugins/KcY-SeeItemValue.dll | Bin 9216 -> 0 bytes .../types/helpers/HealthHelper.d.ts | 27 ----- .../types/helpers/TraderHelper.d.ts | 53 --------- .../services/RagfairCategoriesService.d.ts | 10 -- .../types/utils/DatabaseImporter.d.ts | 52 --------- .../bepInEx/plugins/KcY-SeeItemValue.dll | Bin 0 -> 10240 bytes .../mods/KcY-SeeItemValue 1.3.5/LICENSE.txt | 0 .../mods/KcY-SeeItemValue 1.3.5/package.json | 6 +- .../KcY-SeeItemValue 1.3.5/src/config.json | 0 .../mods/KcY-SeeItemValue 1.3.5/src/mod.ts | 20 +--- .../KcY-SeeItemValue 1.3.5/types/Program.d.ts | 0 .../KcY-SeeItemValue 1.3.5/types/TYPES.d.ts | 0 .../types/callbacks/BotCallbacks.d.ts | 0 .../types/callbacks/BundleCallbacks.d.ts | 0 .../callbacks/CustomizationCallbacks.d.ts | 0 .../types/callbacks/DataCallbacks.d.ts | 0 .../types/callbacks/DialogueCallbacks.d.ts | 0 .../types/callbacks/GameCallbacks.d.ts | 2 + .../types/callbacks/HandbookCallbacks.d.ts | 0 .../types/callbacks/HealthCallbacks.d.ts | 7 ++ .../types/callbacks/HideoutCallbacks.d.ts | 0 .../types/callbacks/HttpCallbacks.d.ts | 0 .../types/callbacks/InraidCallbacks.d.ts | 0 .../types/callbacks/InsuranceCallbacks.d.ts | 3 +- .../types/callbacks/InventoryCallbacks.d.ts | 0 .../types/callbacks/ItemEventCallbacks.d.ts | 0 .../types/callbacks/LauncherCallbacks.d.ts | 0 .../types/callbacks/LocationCallbacks.d.ts | 0 .../types/callbacks/MatchCallbacks.d.ts | 27 +++-- .../types/callbacks/ModCallbacks.d.ts | 6 +- .../types/callbacks/NoteCallbacks.d.ts | 0 .../types/callbacks/NotifierCallbacks.d.ts | 0 .../types/callbacks/PresetBuildCallbacks.d.ts | 3 +- .../types/callbacks/PresetCallbacks.d.ts | 0 .../types/callbacks/ProfileCallbacks.d.ts | 10 +- .../types/callbacks/QuestCallbacks.d.ts | 0 .../types/callbacks/RagfairCallbacks.d.ts | 6 +- .../types/callbacks/RepairCallbacks.d.ts | 0 .../types/callbacks/SaveCallbacks.d.ts | 0 .../types/callbacks/TradeCallbacks.d.ts | 0 .../types/callbacks/TraderCallbacks.d.ts | 0 .../types/callbacks/WeatherCallbacks.d.ts | 0 .../types/callbacks/WishlistCallbacks.d.ts | 0 .../types/controllers/BotController.d.ts | 0 .../controllers/CustomizationController.d.ts | 0 .../types/controllers/DialogueController.d.ts | 0 .../types/controllers/GameController.d.ts | 21 ++-- .../types/controllers/HandbookController.d.ts | 0 .../types/controllers/HealthController.d.ts | 23 +++- .../types/controllers/HideoutController.d.ts | 0 .../types/controllers/InraidController.d.ts | 0 .../controllers/InsuranceController.d.ts | 9 +- .../controllers/InventoryController.d.ts | 18 ++- .../types/controllers/LauncherController.d.ts | 0 .../types/controllers/LocationController.d.ts | 0 .../types/controllers/MatchController.d.ts | 16 ++- .../types/controllers/NoteController.d.ts | 0 .../types/controllers/NotifierController.d.ts | 0 .../controllers/PresetBuildController.d.ts | 0 .../types/controllers/PresetController.d.ts | 0 .../types/controllers/ProfileController.d.ts | 10 +- .../types/controllers/QuestController.d.ts | 4 +- .../types/controllers/RagfairController.d.ts | 2 + .../types/controllers/RepairController.d.ts | 0 .../RepeatableQuestController.d.ts | 6 +- .../types/controllers/TradeController.d.ts | 0 .../types/controllers/TraderController.d.ts | 0 .../types/controllers/WeatherController.d.ts | 0 .../types/controllers/WishlistController.d.ts | 0 .../types/di/Container.d.ts | 0 .../types/di/OnLoad.d.ts | 0 .../types/di/OnLoadOnUpdate.d.ts | 0 .../types/di/OnUpdate.d.ts | 0 .../types/di/Router.d.ts | 0 .../types/di/Serializer.d.ts | 0 .../types/generators/BotGenerator.d.ts | 40 ++++++- .../generators/BotInventoryGenerator.d.ts | 0 .../types/generators/BotLootGenerator.d.ts | 14 +-- .../types/generators/BotWeaponGenerator.d.ts | 11 +- .../types/generators/LocationGenerator.d.ts | 0 .../types/generators/PMCLootGenerator.d.ts | 0 .../generators/RagfairAssortGenerator.d.ts | 0 .../generators/RagfairOfferGenerator.d.ts | 4 +- .../types/generators/WeatherGenerator.d.ts | 0 .../types/helpers/AssortHelper.d.ts | 0 .../types/helpers/BotGeneratorHelper.d.ts | 12 ++ .../types/helpers/BotHelper.d.ts | 0 .../types/helpers/ContainerHelper.d.ts | 0 .../types/helpers/DialogueHelper.d.ts | 0 .../types/helpers/DurabilityLimitsHelper.d.ts | 0 .../types/helpers/ExtendedProfileHelper.d.ts | 7 +- .../types/helpers/GameEventHelper.d.ts | 0 .../types/helpers/GameHelper.d.ts | 0 .../types/helpers/HandbookHelper.d.ts | 0 .../types/helpers/HealthHelper.d.ts | 51 ++++++++ .../types/helpers/HideoutHelper.d.ts | 0 .../types/helpers/HttpServerHelper.d.ts | 0 .../types/helpers/InRaidHelper.d.ts | 12 ++ .../types/helpers/InventoryHelper.d.ts | 0 .../types/helpers/ItemHelper.d.ts | 84 +++++++++++--- .../types/helpers/NotificationSendHelper.d.ts | 0 .../types/helpers/NotifierHelper.d.ts | 0 .../types/helpers/PaymentHelper.d.ts | 0 .../types/helpers/PresetHelper.d.ts | 4 +- .../types/helpers/ProbabilityHelper.d.ts | 0 .../types/helpers/ProfileHelper.d.ts | 6 + .../types/helpers/QuestConditionHelper.d.ts | 0 .../types/helpers/QuestHelper.d.ts | 20 +++- .../types/helpers/RagfairHelper.d.ts | 0 .../types/helpers/RagfairOfferHelper.d.ts | 4 +- .../types/helpers/RagfairSellHelper.d.ts | 0 .../types/helpers/RagfairServerHelper.d.ts | 6 +- .../types/helpers/RagfairSortHelper.d.ts | 4 +- .../types/helpers/RagfairTaxHelper.d.ts | 0 .../types/helpers/RepairHelper.d.ts | 0 .../types/helpers/SecureContainerHelper.d.ts | 0 .../types/helpers/TradeHelper.d.ts | 0 .../types/helpers/TraderAssortHelper.d.ts | 17 ++- .../types/helpers/TraderHelper.d.ts | 109 ++++++++++++++++++ .../types/helpers/UtilityHelper.d.ts | 0 .../types/helpers/WeightedRandomHelper.d.ts | 0 .../types/ide/BleedingEdgeEntry.d.ts | 0 .../types/ide/Compiler.d.ts | 0 .../types/ide/DebugEntry.d.ts | 0 .../types/ide/ReleaseEntry.d.ts | 0 .../types/ide/TestEntry.d.ts | 0 .../types/loaders/BundleLoader.d.ts | 0 .../types/loaders/DelayedModLoader.d.ts | 0 .../types/loaders/InitialModLoader.d.ts | 0 .../types/loaders/PostAkiModLoader.d.ts} | 8 +- .../types/loaders/PostDBModLoader.d.ts | 11 ++ .../types/loaders/PreAkiModLoader.d.ts} | 4 +- .../eft/bot/IGenerateBotsRequestData.d.ts | 0 .../models/eft/common/IEmptyRequestData.d.ts | 0 .../types/models/eft/common/IGlobals.d.ts | 5 +- .../types/models/eft/common/ILocation.d.ts | 0 .../models/eft/common/ILocationBase.d.ts | 9 +- .../ILocationsSourceDestinationBase.d.ts | 0 .../types/models/eft/common/ILooseLoot.d.ts | 0 .../models/eft/common/IMetricsTableData.d.ts | 0 .../types/models/eft/common/IPmcData.d.ts | 22 ++-- .../request/IBaseInteractionRequestData.d.ts | 0 .../models/eft/common/tables/IBotBase.d.ts | 0 .../models/eft/common/tables/IBotCore.d.ts | 0 .../models/eft/common/tables/IBotType.d.ts | 0 .../eft/common/tables/ICustomizationItem.d.ts | 0 .../eft/common/tables/IHandbookBase.d.ts | 0 .../types/models/eft/common/tables/IItem.d.ts | 0 .../eft/common/tables/ILocationsBase.d.ts | 0 .../models/eft/common/tables/ILootBase.d.ts | 0 .../models/eft/common/tables/IMatch.d.ts | 0 .../eft/common/tables/IProfileTemplate.d.ts | 25 ++++ .../models/eft/common/tables/IQuest.d.ts | 7 +- .../eft/common/tables/IRepeatableQuests.d.ts | 0 .../eft/common/tables/ITemplateItem.d.ts | 6 +- .../models/eft/common/tables/ITrader.d.ts | 0 .../IBuyClothingRequestData.d.ts | 0 .../IWearClothingRequestData.d.ts | 0 .../models/eft/dialog/IFriendRequestData.d.ts | 0 .../dialog/IGetAllAttachmentsRequestData.d.ts | 0 .../dialog/IGetAllAttachmentsResponse.d.ts | 0 .../dialog/IGetChatServerListRequestData.d.ts | 0 .../dialog/IGetFriendListDataResponse.d.ts | 0 .../dialog/IGetMailDialogInfoRequestData.d.ts | 0 .../dialog/IGetMailDialogListRequestData.d.ts | 0 .../dialog/IGetMailDialogViewRequestData.d.ts | 0 .../IGetMailDialogViewResponseData.d.ts | 0 .../eft/dialog/IPinDialogRequestData.d.ts | 0 .../eft/dialog/IRemoveDialogRequestData.d.ts | 0 .../eft/dialog/ISendMessageRequest.d.ts | 0 .../eft/dialog/ISetDialogReadRequestData.d.ts | 0 .../models/eft/game/IGameConfigResponse.d.ts | 0 .../eft/game/IGameEmptyCrcRequestData.d.ts | 0 .../eft/game/IReportNicknameRequestData.d.ts | 3 + .../eft/game/IVersionValidateRequestData.d.ts | 0 .../types/models/eft/health/Effect.d.ts | 5 + .../health/IHealthTreatmentRequestData.d.ts | 0 .../eft/health/IOffraidEatRequestData.d.ts | 0 .../eft/health/IOffraidHealRequestData.d.ts | 0 .../eft/health/ISyncHealthRequestData.d.ts | 0 .../HideoutUpgradeCompleteRequestData.d.ts | 0 .../models/eft/hideout/IHideoutArea.d.ts | 0 ...utContinousProductionStartRequestData.d.ts | 0 .../eft/hideout/IHideoutProduction.d.ts | 0 .../hideout/IHideoutPutItemInRequestData.d.ts | 0 .../models/eft/hideout/IHideoutScavCase.d.ts | 0 .../IHideoutScavCaseStartRequestData.d.ts | 0 .../eft/hideout/IHideoutSettingsBase.d.ts | 0 ...deoutSingleProductionStartRequestData.d.ts | 0 .../IHideoutTakeItemOutRequestData.d.ts | 0 .../IHideoutTakeProductionRequestData.d.ts | 0 .../IHideoutToggleAreaRequestData.d.ts | 0 .../IHideoutUpgradeCompleteRequestData.d.ts | 0 .../hideout/IHideoutUpgradeRequestData.d.ts | 0 .../httpResponse/IGetBodyResponseData.d.ts | 0 .../eft/httpResponse/INullResponseData.d.ts | 0 .../inRaid/IRegisterPlayerRequestData.d.ts | 0 .../eft/inRaid/ISaveProgressRequestData.d.ts | 0 .../IGetInsuranceCostRequestData.d.ts | 0 .../IGetInsuranceCostResponseData.d.ts | 1 + .../eft/insurance/IInsureRequestData.d.ts | 0 .../eft/inventory/IAddItemRequestData.d.ts | 0 .../inventory/IInventoryAddRequestData.d.ts | 0 .../IInventoryBaseActionRequestData.d.ts | 0 .../inventory/IInventoryBindRequestData.d.ts | 0 .../IInventoryCreateMarkerRequestData.d.ts | 0 .../IInventoryDeleteMarkerRequestData.d.ts | 0 .../IInventoryEditMarkerRequestData.d.ts | 0 .../IInventoryExamineRequestData.d.ts | 0 .../inventory/IInventoryFoldRequestData.d.ts | 0 .../inventory/IInventoryMergeRequestData.d.ts | 0 .../inventory/IInventoryMoveRequestData.d.ts | 0 ...IInventoryReadEncyclopediaRequestData.d.ts | 0 .../IInventoryRemoveRequestData.d.ts | 0 .../inventory/IInventorySortRequestData.d.ts | 0 .../inventory/IInventorySplitRequestData.d.ts | 0 .../inventory/IInventorySwapRequestData.d.ts | 0 .../inventory/IInventoryTagRequestData.d.ts | 0 .../IInventoryToggleRequestData.d.ts | 0 .../IInventoryTransferRequestData.d.ts | 0 .../IEmptyItemEventRouterResponse.d.ts | 0 .../eft/itemEvent/IItemEventRouterBase.d.ts | 0 .../itemEvent/IItemEventRouterRequest.d.ts | 0 .../itemEvent/IItemEventRouterResponse.d.ts | 0 .../eft/launcher/IChangeRequestData.d.ts | 0 .../launcher/IGetMiniProfileRequestData.d.ts | 0 .../eft/launcher/ILoginRequestData.d.ts | 0 .../models/eft/launcher/IMiniProfile.d.ts | 0 .../models/eft/launcher/IRegisterData.d.ts | 0 .../eft/launcher/IRemoveProfileData.d.ts | 0 .../eft/location/IGetLocationRequestData.d.ts | 0 .../eft/match/ICreateGroupRequestData.d.ts | 6 + .../eft/match/IEndOfflineRaidRequestData.d.ts | 0 .../eft/match/IGetGroupStatusRequestData.d.ts | 9 ++ .../eft/match/IGetProfileRequestData.d.ts | 0 .../eft/match/IJoinMatchRequestData.d.ts | 12 ++ .../models/eft/match/IJoinMatchResult.d.ts | 11 ++ .../eft/match/IPutMetricsRequestData.d.ts | 10 ++ .../match/IStartOffineRaidRequestData.d.ts | 9 +- .../eft/match/IUpdatePingRequestData.d.ts | 3 + .../models/eft/notes/INoteActionData.d.ts | 0 .../types/models/eft/notifier/INotifier.d.ts | 0 .../notifier/ISelectProfileRequestData.d.ts | 0 ...IPlayerIncrementSkillLevelRequestData.d.ts | 0 .../IPresetBuildActionRequestData.d.ts | 0 .../profile/GetProfileStatusResponseData.d.ts | 11 ++ .../types/models/eft/profile/IAkiProfile.d.ts | 0 .../IProfileChangeNicknameRequestData.d.ts | 0 .../IProfileChangeVoiceRequestData.d.ts | 0 .../profile/IProfileCreateRequestData.d.ts | 0 .../eft/profile/ISearchFriendRequestData.d.ts | 0 .../eft/profile/ISearchFriendResponse.d.ts | 0 .../profile/IValidateNicknameRequestData.d.ts | 0 .../eft/quests/IAcceptQuestRequestData.d.ts | 0 .../eft/quests/ICompleteQuestRequestData.d.ts | 1 + .../eft/quests/IHandoverQuestRequestData.d.ts | 0 .../eft/quests/IListQuestsRequestData.d.ts | 0 .../quests/IRepeatableQuestChangeRequest.d.ts | 0 .../eft/ragfair/IAddOfferRequestData.d.ts | 0 .../eft/ragfair/IExtendOfferRequestData.d.ts | 0 .../eft/ragfair/IGetItemPriceResult.d.ts | 0 .../ragfair/IGetMarketPriceRequestData.d.ts | 0 .../models/eft/ragfair/IGetOffersResult.d.ts | 2 +- .../models/eft/ragfair/IRagfairOffer.d.ts | 0 .../eft/ragfair/IRemoveOfferRequestData.d.ts | 0 .../eft/ragfair/ISearchRequestData.d.ts | 0 .../ISendRagfairReportRequestData.d.ts | 3 + .../repair/IBaseRepairActionDataRequest.d.ts | 0 .../eft/repair/IRepairActionDataRequest.d.ts | 0 .../ITraderRepairActionDataRequest.d.ts | 0 .../trade/IProcessBaseTradeRequestData.d.ts | 0 .../trade/IProcessBuyTradeRequestData.d.ts | 0 .../IProcessRagfairTradeRequestData.d.ts | 0 .../trade/IProcessSellTradeRequestData.d.ts | 0 .../models/eft/weather/IWeatherData.d.ts | 0 .../eft/wishlist/IWishlistActionData.d.ts | 0 .../types/models/enums/BaseClasses.d.ts | 0 .../types/models/enums/BotAmount.d.ts | 7 ++ .../types/models/enums/BotDifficulty.d.ts | 8 ++ .../types/models/enums/ConfigTypes.d.ts | 1 + .../types/models/enums/ELocationName.d.ts | 0 .../types/models/enums/EquipmentSlots.d.ts | 0 .../types/models/enums/HideoutAreas.d.ts | 0 .../types/models/enums/MemberCategory.d.ts | 0 .../types/models/enums/MessageType.d.ts | 0 .../types/models/enums/Money.d.ts | 0 .../types/models/enums/QuestRewardType.d.ts | 8 ++ .../types/models/enums/QuestStatus.d.ts | 0 .../types/models/enums/RaidMode.d.ts | 5 + .../types/models/enums/Traders.d.ts | 0 .../models/external/IPostAkiLoadMod.d.ts | 4 + .../types/models/external/IPostDBLoadMod.d.ts | 4 + .../types/models/external/IPreAkiLoadMod.d.ts | 4 + .../types/models/external/mod.d.ts | 0 .../types/models/external/tsyringe.d.ts | 0 .../types/models/spt/bindings/Route.d.ts | 0 .../types/models/spt/bots/BotLootCache.d.ts | 23 ++++ .../models/spt/callbacks/IBotCallbacks.d.ts | 0 .../spt/callbacks/IBundleCallbacks.d.ts | 0 .../callbacks/ICustomizationCallbacks.d.ts | 0 .../models/spt/callbacks/IDataCallbacks.d.ts | 0 .../spt/callbacks/IDialogueCallbacks.d.ts | 0 .../models/spt/callbacks/IGameCallbacks.d.ts | 0 .../spt/callbacks/IHandbookCallbacks.d.ts | 0 .../spt/callbacks/IHealthCallbacks.d.ts | 0 .../spt/callbacks/IHideoutCallbacks.d.ts | 0 .../models/spt/callbacks/IHttpCallbacks.d.ts | 0 .../spt/callbacks/IInraidCallbacks.d.ts | 0 .../spt/callbacks/IInsuranceCallbacks.d.ts | 0 .../spt/callbacks/IInventoryCallbacks.d.ts | 0 .../spt/callbacks/IItemEventCallbacks.d.ts | 0 .../spt/callbacks/ILauncherCallbacks.d.ts | 0 .../spt/callbacks/ILocationCallbacks.d.ts | 0 .../models/spt/callbacks/IMatchCallbacks.d.ts | 0 .../models/spt/callbacks/IModCallbacks.d.ts | 0 .../models/spt/callbacks/INoteCallbacks.d.ts | 0 .../spt/callbacks/INotifierCallbacks.d.ts | 0 .../spt/callbacks/IPresetBuildCallbacks.d.ts | 0 .../spt/callbacks/IPresetCallbacks.d.ts | 0 .../spt/callbacks/IProfileCallbacks.d.ts | 0 .../models/spt/callbacks/IQuestCallbacks.d.ts | 0 .../spt/callbacks/IRagfairCallbacks.d.ts | 0 .../spt/callbacks/IRepairCallbacks.d.ts | 0 .../models/spt/callbacks/ISaveCallbacks.d.ts | 0 .../models/spt/callbacks/ITradeCallbacks.d.ts | 0 .../spt/callbacks/ITraderCallbacks.d.ts | 0 .../spt/callbacks/IWeatherCallbacks.d.ts | 0 .../spt/callbacks/IWishlistCallbacks.d.ts | 0 .../models/spt/config/IAirdropConfig.d.ts | 0 .../types/models/spt/config/IBaseConfig.d.ts | 0 .../types/models/spt/config/IBotConfig.d.ts | 3 + .../types/models/spt/config/ICoreConfig.d.ts | 0 .../models/spt/config/IHealthConfig.d.ts | 0 .../models/spt/config/IHideoutConfig.d.ts | 0 .../types/models/spt/config/IHttpConfig.d.ts | 0 .../models/spt/config/IInRaidConfig.d.ts | 1 + .../models/spt/config/IInsuranceConfig.d.ts | 0 .../models/spt/config/IInventoryConfig.d.ts | 0 .../models/spt/config/ILocaleConfig.d.ts | 5 + .../models/spt/config/ILocationConfig.d.ts | 0 .../types/models/spt/config/IMatchConfig.d.ts | 0 .../types/models/spt/config/IQuestConfig.d.ts | 0 .../models/spt/config/IRagfairConfig.d.ts | 1 + .../models/spt/config/IRepairConfig.d.ts | 0 .../models/spt/config/ITraderConfig.d.ts | 12 +- .../models/spt/config/IWeatherConfig.d.ts | 0 .../spt/controllers/IBotController.d.ts | 0 .../models/spt/generators/IBotGenerator.d.ts | 0 .../spt/generators/ILocationGenerator.d.ts | 0 .../spt/generators/IPMCLootGenerator.d.ts | 0 .../generators/IRagfairAssortGenerator.d.ts | 0 .../generators/IRagfairOfferGenerator.d.ts | 0 .../spt/logging/LogBackgroundColor.d.ts | 11 ++ .../models/spt/logging/LogTextColor.d.ts | 11 ++ .../types/models/spt/logging/SptLogger.d.ts | 7 ++ .../types/models/spt/mod/IMod.d.ts | 0 .../types/models/spt/mod/IModLoader.d.ts | 0 .../models/spt/mod/IPackageJsonData.d.ts | 0 .../spt/ragfair/IRagfairServerPrices.d.ts | 0 .../models/spt/server/IDatabaseTables.d.ts | 6 +- .../types/models/spt/server/IHttpServer.d.ts | 0 .../types/models/spt/server/ILocaleBase.d.ts | 0 .../types/models/spt/server/ILocations.d.ts | 0 .../types/models/spt/server/IServerBase.d.ts | 0 .../models/spt/server/ISettingsBase.d.ts | 0 .../models/spt/services/CustomPreset.d.ts | 0 .../spt/services/CustomTraderAssortData.d.ts | 0 .../types/models/spt/utils/IAsyncQueue.d.ts | 0 .../types/models/spt/utils/ICommand.d.ts | 0 .../types/models/spt/utils/ILogger.d.ts | 5 +- .../models/spt/utils/IUuidGenerator.d.ts | 0 .../types/routers/HttpRouter.d.ts | 0 .../types/routers/ImageRouter.d.ts | 0 .../types/routers/ItemEventRouter.d.ts | 0 .../routers/dynamic/BotDynamicRouter.d.ts | 0 .../routers/dynamic/BundleDynamicRouter.d.ts | 0 .../dynamic/CustomizationDynamicRouter.d.ts | 0 .../routers/dynamic/DataDynamicRouter.d.ts | 0 .../routers/dynamic/HttpDynamicRouter.d.ts | 0 .../routers/dynamic/InraidDynamicRouter.d.ts | 0 .../dynamic/LocationDynamicRouter.d.ts | 0 .../dynamic/NotifierDynamicRouter.d.ts | 0 .../routers/dynamic/TraderDynamicRouter.d.ts | 0 .../CustomizationItemEventRouter.d.ts | 0 .../item_events/HealthItemEventRouter.d.ts | 0 .../item_events/HideoutItemEventRouter.d.ts | 0 .../item_events/InsuranceItemEventRouter.d.ts | 0 .../item_events/InventoryItemEventRouter.d.ts | 0 .../item_events/NoteItemEventRouter.d.ts | 0 .../PresetBuildItemEventRouter.d.ts | 0 .../item_events/QuestItemEventRouter.d.ts | 0 .../item_events/RagfairItemEventRouter.d.ts | 0 .../item_events/RepairItemEventRouter.d.ts | 0 .../item_events/TradeItemEventRouter.d.ts | 0 .../item_events/WishlistItemEventRouter.d.ts | 0 .../save_load/HealthSaveLoadRouter.d.ts | 0 .../save_load/InraidSaveLoadRouter.d.ts | 0 .../save_load/InsuranceSaveLoadRouter.d.ts | 0 .../save_load/ProfileSaveLoadRouter.d.ts | 0 .../routers/serializers/BundleSerializer.d.ts | 0 .../routers/serializers/ImageSerializer.d.ts | 0 .../routers/serializers/NotifySerializer.d.ts | 0 .../types/routers/static/BotStaticRouter.d.ts | 0 .../routers/static/BundleStaticRouter.d.ts | 0 .../static/CustomizationStaticRouter.d.ts | 0 .../routers/static/DataStaticRouter.d.ts | 0 .../routers/static/DialogStaticRouter.d.ts | 0 .../routers/static/GameStaticRouter.d.ts | 0 .../routers/static/HealthStaticRouter.d.ts | 0 .../routers/static/InraidStaticRouter.d.ts | 0 .../routers/static/InsuranceStaticRouter.d.ts | 0 .../routers/static/ItemEventStaticRouter.d.ts | 0 .../routers/static/LauncherStaticRouter.d.ts | 0 .../routers/static/LocationStaticRouter.d.ts | 0 .../routers/static/MatchStaticRouter.d.ts | 0 .../routers/static/NotifierStaticRouter.d.ts | 0 .../routers/static/PresetStaticRouter.d.ts | 0 .../routers/static/ProfileStaticRouter.d.ts | 0 .../routers/static/QuestStaticRouter.d.ts | 0 .../routers/static/RagfairStaticRouter.d.ts | 0 .../routers/static/TraderStaticRouter.d.ts | 0 .../routers/static/WeatherStaticRouter.d.ts | 0 .../types/servers/ConfigServer.d.ts | 0 .../types/servers/DatabaseServer.d.ts | 0 .../types/servers/HttpServer.d.ts | 0 .../types/servers/RagfairServer.d.ts | 3 +- .../types/servers/SaveServer.d.ts | 0 .../types/services/BotLootCacheService.d.ts | 59 ++++++++++ .../services/CustomHandbookItemService.d.ts | 0 .../types/services/CustomItemService.d.ts | 0 .../services/CustomTraderAssortService.d.ts | 0 .../types/services/FenceService.d.ts | 4 +- .../types/services/HashCacheService.d.ts | 0 .../types/services/InsuranceService.d.ts | 0 .../types/services/LocaleService.d.ts | 14 +++ .../types/services/MatchLocationService.d.ts | 3 +- .../types/services/ModCompilerService.d.ts | 0 .../types/services/NotificationService.d.ts | 0 .../types/services/PaymentService.d.ts | 17 +++ .../types/services/PlayerService.d.ts | 0 .../types/services/ProfileFixerService.d.ts | 40 +++++++ .../services/RagfairCategoriesService.d.ts | 40 +++++++ .../services/RagfairLinkedItemService.d.ts | 0 .../types/services/RagfairOfferService.d.ts | 10 +- .../types/services/RagfairPriceService.d.ts | 22 ++++ .../services/RagfairRequiredItemsService.d.ts | 0 .../types/services/TraderAssortService.d.ts | 0 .../types/services/customPresetService.d.ts | 0 .../mod/dynamicRouter/DynamicRouterMod.d.ts | 0 .../DynamicRouterModService.d.ts | 0 .../services/mod/image/imageRouteService.d.ts | 0 .../types/services/mod/onLoad/OnLoadMod.d.ts | 0 .../services/mod/onLoad/OnLoadModService.d.ts | 0 .../services/mod/onUpdate/OnUpdateMod.d.ts | 0 .../mod/onUpdate/OnUpdateModService.d.ts | 0 .../mod/staticRouter/StaticRouterMod.d.ts | 0 .../staticRouter/StaticRouterModService.d.ts | 0 .../types/utils/App.d.ts | 0 .../types/utils/AyncQueue.d.ts | 0 .../types/utils/DatabaseImporter.d.ts | 24 ++++ .../types/utils/HashUtil.d.ts | 0 .../types/utils/HttpResponseUtil.d.ts | 0 .../types/utils/JsonUtil.d.ts | 0 .../types/utils/Logger.d.ts | 37 +++--- .../types/utils/MathUtil.d.ts | 0 .../types/utils/ObjectId.d.ts | 0 .../types/utils/RandomUtil.d.ts | 0 .../types/utils/TimeUtil.d.ts | 0 .../types/utils/UUidGenerator.d.ts | 0 .../types/utils/VFS.d.ts | 0 .../types/utils/Watermark.d.ts | 7 +- .../types/utils/decorators/Singleton.d.ts | 0 .../types/utils/decorators/constructor.d.ts | 0 KcY-SeeItemValue/itemValue/Patches.cs | 8 +- KcY-SeeItemValue/itemValue/itemValueMod.cs | 12 +- .../itemValue/itemValueMod.csproj | 2 +- .../itemValue/server/dist/src/mod.ts | 4 +- .../dist/types/callbacks/GameCallbacks.d.ts | 2 + .../dist/types/callbacks/HealthCallbacks.d.ts | 7 ++ .../types/callbacks/InsuranceCallbacks.d.ts | 3 +- .../dist/types/callbacks/MatchCallbacks.d.ts | 27 +++-- .../dist/types/callbacks/ModCallbacks.d.ts | 6 +- .../types/callbacks/PresetBuildCallbacks.d.ts | 3 +- .../types/callbacks/ProfileCallbacks.d.ts | 10 +- .../types/callbacks/RagfairCallbacks.d.ts | 6 +- .../types/controllers/GameController.d.ts | 21 ++-- .../types/controllers/HealthController.d.ts | 23 +++- .../controllers/InsuranceController.d.ts | 9 +- .../controllers/InventoryController.d.ts | 18 ++- .../types/controllers/MatchController.d.ts | 16 ++- .../types/controllers/ProfileController.d.ts | 10 +- .../types/controllers/QuestController.d.ts | 4 +- .../types/controllers/RagfairController.d.ts | 2 + .../RepeatableQuestController.d.ts | 6 +- .../dist/types/generators/BotGenerator.d.ts | 40 ++++++- .../types/generators/BotLootGenerator.d.ts | 14 +-- .../types/generators/BotWeaponGenerator.d.ts | 11 +- .../generators/RagfairOfferGenerator.d.ts | 4 +- .../types/helpers/BotGeneratorHelper.d.ts | 12 ++ .../types/helpers/ExtendedProfileHelper.d.ts | 7 +- .../dist/types/helpers/HealthHelper.d.ts | 36 +++++- .../dist/types/helpers/InRaidHelper.d.ts | 12 ++ .../server/dist/types/helpers/ItemHelper.d.ts | 84 +++++++++++--- .../dist/types/helpers/PresetHelper.d.ts | 4 +- .../dist/types/helpers/ProfileHelper.d.ts | 6 + .../dist/types/helpers/QuestHelper.d.ts | 20 +++- .../types/helpers/RagfairOfferHelper.d.ts | 4 +- .../types/helpers/RagfairServerHelper.d.ts | 6 +- .../dist/types/helpers/RagfairSortHelper.d.ts | 4 +- .../types/helpers/TraderAssortHelper.d.ts | 17 ++- .../dist/types/helpers/TraderHelper.d.ts | 62 +++++++++- .../dist/types/loaders/PostAkiModLoader.d.ts | 21 ++++ .../dist/types/loaders/PostDBModLoader.d.ts | 11 ++ .../dist/types/loaders/PreAkiModLoader.d.ts | 64 ++++++++++ .../types/models/eft/common/IGlobals.d.ts | 5 +- .../models/eft/common/ILocationBase.d.ts | 9 +- .../types/models/eft/common/IPmcData.d.ts | 22 ++-- .../eft/common/tables/IProfileTemplate.d.ts | 25 ++++ .../models/eft/common/tables/IQuest.d.ts | 7 +- .../eft/common/tables/ITemplateItem.d.ts | 6 +- .../eft/game/IReportNicknameRequestData.d.ts | 3 + .../dist/types/models/eft/health/Effect.d.ts | 5 + .../IGetInsuranceCostResponseData.d.ts | 1 + .../eft/match/ICreateGroupRequestData.d.ts | 6 + .../eft/match/IGetGroupStatusRequestData.d.ts | 9 ++ .../eft/match/IJoinMatchRequestData.d.ts | 12 ++ .../models/eft/match/IJoinMatchResult.d.ts | 11 ++ .../eft/match/IPutMetricsRequestData.d.ts | 10 ++ .../match/IStartOffineRaidRequestData.d.ts | 9 +- .../eft/match/IUpdatePingRequestData.d.ts | 3 + .../profile/GetProfileStatusResponseData.d.ts | 11 ++ .../eft/quests/ICompleteQuestRequestData.d.ts | 1 + .../models/eft/ragfair/IGetOffersResult.d.ts | 2 +- .../ISendRagfairReportRequestData.d.ts | 3 + .../dist/types/models/enums/BotAmount.d.ts | 7 ++ .../types/models/enums/BotDifficulty.d.ts | 8 ++ .../dist/types/models/enums/ConfigTypes.d.ts | 1 + .../types/models/enums/QuestRewardType.d.ts | 8 ++ .../dist/types/models/enums/RaidMode.d.ts | 5 + .../models/external/IPostAkiLoadMod.d.ts | 4 + .../types/models/external/IPostDBLoadMod.d.ts | 4 + .../types/models/external/IPreAkiLoadMod.d.ts | 4 + .../types/models/spt/bots/BotLootCache.d.ts | 23 ++++ .../types/models/spt/config/IBotConfig.d.ts | 3 + .../models/spt/config/IInRaidConfig.d.ts | 1 + .../models/spt/config/ILocaleConfig.d.ts | 5 + .../models/spt/config/IRagfairConfig.d.ts | 1 + .../models/spt/config/ITraderConfig.d.ts | 12 +- .../spt/logging/LogBackgroundColor.d.ts | 11 ++ .../models/spt/logging/LogTextColor.d.ts | 11 ++ .../types/models/spt/logging/SptLogger.d.ts | 7 ++ .../models/spt/server/IDatabaseTables.d.ts | 6 +- .../dist/types/models/spt/utils/ILogger.d.ts | 5 +- .../dist/types/servers/RagfairServer.d.ts | 3 +- .../types/services/BotLootCacheService.d.ts | 59 ++++++++++ .../dist/types/services/FenceService.d.ts | 4 +- .../dist/types/services/LocaleService.d.ts | 14 +++ .../types/services/MatchLocationService.d.ts | 3 +- .../dist/types/services/PaymentService.d.ts | 17 +++ .../types/services/ProfileFixerService.d.ts | 40 +++++++ .../services/RagfairCategoriesService.d.ts | 42 ++++++- .../types/services/RagfairOfferService.d.ts | 10 +- .../types/services/RagfairPriceService.d.ts | 22 ++++ .../dist/types/utils/DatabaseImporter.d.ts | 30 +---- .../server/dist/types/utils/Logger.d.ts | 37 +++--- .../server/dist/types/utils/Watermark.d.ts | 7 +- .../server/types/callbacks/GameCallbacks.d.ts | 2 + .../types/callbacks/HealthCallbacks.d.ts | 7 ++ .../types/callbacks/InsuranceCallbacks.d.ts | 3 +- .../types/callbacks/MatchCallbacks.d.ts | 27 +++-- .../server/types/callbacks/ModCallbacks.d.ts | 6 +- .../types/callbacks/PresetBuildCallbacks.d.ts | 3 +- .../types/callbacks/ProfileCallbacks.d.ts | 10 +- .../types/callbacks/RagfairCallbacks.d.ts | 6 +- .../types/controllers/GameController.d.ts | 21 ++-- .../types/controllers/HealthController.d.ts | 23 +++- .../controllers/InsuranceController.d.ts | 9 +- .../controllers/InventoryController.d.ts | 18 ++- .../types/controllers/MatchController.d.ts | 16 ++- .../types/controllers/ProfileController.d.ts | 10 +- .../types/controllers/QuestController.d.ts | 4 +- .../types/controllers/RagfairController.d.ts | 2 + .../RepeatableQuestController.d.ts | 6 +- .../server/types/generators/BotGenerator.d.ts | 40 ++++++- .../types/generators/BotLootGenerator.d.ts | 14 +-- .../types/generators/BotWeaponGenerator.d.ts | 11 +- .../generators/RagfairOfferGenerator.d.ts | 4 +- .../types/helpers/BotGeneratorHelper.d.ts | 12 ++ .../types/helpers/ExtendedProfileHelper.d.ts | 7 +- .../server/types/helpers/GameHelper.d.ts | 11 -- .../server/types/helpers/HealthHelper.d.ts | 36 +++++- .../server/types/helpers/InRaidHelper.d.ts | 12 ++ .../server/types/helpers/ItemHelper.d.ts | 84 +++++++++++--- .../server/types/helpers/PresetHelper.d.ts | 4 +- .../server/types/helpers/ProfileHelper.d.ts | 6 + .../server/types/helpers/QuestHelper.d.ts | 20 +++- .../types/helpers/RagfairOfferHelper.d.ts | 4 +- .../types/helpers/RagfairServerHelper.d.ts | 6 +- .../types/helpers/RagfairSortHelper.d.ts | 4 +- .../types/helpers/TraderAssortHelper.d.ts | 17 ++- .../server/types/helpers/TraderHelper.d.ts | 62 +++++++++- .../types/loaders/PostAkiModLoader.d.ts | 21 ++++ .../server/types/loaders/PostDBModLoader.d.ts | 11 ++ .../server/types/loaders/PreAkiModLoader.d.ts | 64 ++++++++++ .../types/models/eft/common/IGlobals.d.ts | 5 +- .../models/eft/common/ILocationBase.d.ts | 9 +- .../types/models/eft/common/IPmcData.d.ts | 22 ++-- .../eft/common/tables/IProfileTemplate.d.ts | 25 ++++ .../models/eft/common/tables/IQuest.d.ts | 7 +- .../eft/common/tables/ITemplateItem.d.ts | 6 +- .../eft/game/IReportNicknameRequestData.d.ts | 3 + .../types/models/eft/health/Effect.d.ts | 5 + .../IGetInsuranceCostResponseData.d.ts | 1 + .../eft/match/ICreateGroupRequestData.d.ts | 6 + .../eft/match/IGetGroupStatusRequestData.d.ts | 9 ++ .../eft/match/IJoinMatchRequestData.d.ts | 12 ++ .../models/eft/match/IJoinMatchResult.d.ts | 11 ++ .../eft/match/IPutMetricsRequestData.d.ts | 10 ++ .../match/IStartOffineRaidRequestData.d.ts | 9 +- .../eft/match/IUpdatePingRequestData.d.ts | 3 + .../profile/GetProfileStatusResponseData.d.ts | 11 ++ .../eft/quests/ICompleteQuestRequestData.d.ts | 1 + .../models/eft/ragfair/IGetOffersResult.d.ts | 2 +- .../ISendRagfairReportRequestData.d.ts | 3 + .../server/types/models/enums/BotAmount.d.ts | 7 ++ .../types/models/enums/BotDifficulty.d.ts | 8 ++ .../types/models/enums/ConfigTypes.d.ts | 1 + .../types/models/enums/QuestRewardType.d.ts | 8 ++ .../server/types/models/enums/RaidMode.d.ts | 5 + .../models/external/IPostAkiLoadMod.d.ts | 4 + .../types/models/external/IPostDBLoadMod.d.ts | 4 + .../types/models/external/IPreAkiLoadMod.d.ts | 4 + .../server/types/models/external/mod.d.ts | 5 - .../types/models/spt/bots/BotLootCache.d.ts | 23 ++++ .../types/models/spt/config/IBotConfig.d.ts | 3 + .../models/spt/config/IInRaidConfig.d.ts | 1 + .../models/spt/config/ILocaleConfig.d.ts | 5 + .../models/spt/config/IRagfairConfig.d.ts | 1 + .../models/spt/config/ITraderConfig.d.ts | 12 +- .../spt/logging/LogBackgroundColor.d.ts | 11 ++ .../models/spt/logging/LogTextColor.d.ts | 11 ++ .../types/models/spt/logging/SptLogger.d.ts | 7 ++ .../models/spt/server/IDatabaseTables.d.ts | 6 +- .../types/models/spt/utils/ILogger.d.ts | 5 +- .../server/types/servers/RagfairServer.d.ts | 3 +- .../types/services/BotLootCacheService.d.ts | 59 ++++++++++ .../services/CustomHandbookItemService.d.ts | 13 --- .../types/services/CustomItemService.d.ts | 11 -- .../services/CustomTraderAssortService.d.ts | 14 --- .../server/types/services/FenceService.d.ts | 4 +- .../server/types/services/LocaleService.d.ts | 14 +++ .../types/services/MatchLocationService.d.ts | 3 +- .../server/types/services/PaymentService.d.ts | 17 +++ .../types/services/ProfileFixerService.d.ts | 40 +++++++ .../services/RagfairCategoriesService.d.ts | 42 ++++++- .../types/services/RagfairOfferService.d.ts | 10 +- .../types/services/RagfairPriceService.d.ts | 22 ++++ .../types/services/customPresetService.d.ts | 19 --- .../server/types/utils/DatabaseImporter.d.ts | 30 +---- .../itemValue/server/types/utils/Logger.d.ts | 37 +++--- .../server/types/utils/Watermark.d.ts | 7 +- Shared/EFT/Assembly-CSharp.dll | Bin 9394176 -> 9671168 bytes 663 files changed, 3095 insertions(+), 720 deletions(-) delete mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/bepInEx/plugins/KcY-SeeItemValue.dll delete mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HealthHelper.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderHelper.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairCategoriesService.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/DatabaseImporter.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/bepInEx/plugins/KcY-SeeItemValue.dll rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/LICENSE.txt (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/package.json (92%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/src/config.json (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/src/mod.ts (95%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/Program.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/TYPES.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BotCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BundleCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/CustomizationCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DataCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DialogueCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/GameCallbacks.d.ts (90%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HandbookCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HealthCallbacks.d.ts (85%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HideoutCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HttpCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InraidCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InsuranceCallbacks.d.ts (89%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InventoryCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ItemEventCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LauncherCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LocationCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/MatchCallbacks.d.ts (52%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ModCallbacks.d.ts (81%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NoteCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NotifierCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetBuildCallbacks.d.ts (84%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ProfileCallbacks.d.ts (87%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/QuestCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RagfairCallbacks.d.ts (89%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RepairCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/SaveCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TradeCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TraderCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WeatherCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WishlistCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/BotController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/CustomizationController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/DialogueController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/GameController.d.ts (52%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HandbookController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HealthController.d.ts (74%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HideoutController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InraidController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InsuranceController.d.ts (88%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InventoryController.d.ts (87%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LauncherController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LocationController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/MatchController.d.ts (65%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NoteController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NotifierController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetBuildController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/ProfileController.d.ts (83%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/QuestController.d.ts (94%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RagfairController.d.ts (97%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepairController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepeatableQuestController.d.ts (97%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TradeController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TraderController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WeatherController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WishlistController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/di/Container.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoad.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoadOnUpdate.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnUpdate.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/di/Router.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/di/Serializer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotGenerator.d.ts (61%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotInventoryGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotLootGenerator.d.ts (66%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotWeaponGenerator.d.ts (86%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/LocationGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/PMCLootGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairAssortGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairOfferGenerator.d.ts (91%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/generators/WeatherGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/AssortHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotGeneratorHelper.d.ts (91%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ContainerHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DialogueHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DurabilityLimitsHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ExtendedProfileHelper.d.ts (76%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameEventHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HandbookHelper.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HealthHelper.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HideoutHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HttpServerHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InRaidHelper.d.ts (80%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InventoryHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ItemHelper.d.ts (69%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotificationSendHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotifierHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PaymentHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PresetHelper.d.ts (79%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProbabilityHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProfileHelper.d.ts (87%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestConditionHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestHelper.d.ts (82%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairOfferHelper.d.ts (95%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSellHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairServerHelper.d.ts (89%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSortHelper.d.ts (79%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairTaxHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RepairHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/SecureContainerHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TradeHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderAssortHelper.d.ts (62%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderHelper.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/UtilityHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/WeightedRandomHelper.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/ide/BleedingEdgeEntry.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/ide/Compiler.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/ide/DebugEntry.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/ide/ReleaseEntry.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/ide/TestEntry.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/BundleLoader.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/DelayedModLoader.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/InitialModLoader.d.ts (100%) rename KcY-SeeItemValue/itemValue/{server/types/loaders/DelayedModLoader.d.ts => Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PostAkiModLoader.d.ts} (80%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PostDBModLoader.d.ts rename KcY-SeeItemValue/itemValue/{server/types/loaders/InitialModLoader.d.ts => Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PreAkiModLoader.d.ts} (96%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/bot/IGenerateBotsRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IEmptyRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IGlobals.d.ts (99%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocation.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationBase.d.ts (94%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationsSourceDestinationBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILooseLoot.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IMetricsTableData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IPmcData.d.ts (97%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/request/IBaseInteractionRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotCore.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotType.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ICustomizationItem.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IHandbookBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IItem.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILocationsBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILootBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IMatch.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IProfileTemplate.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IQuest.d.ts (94%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IRepeatableQuests.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITemplateItem.d.ts (98%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITrader.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IBuyClothingRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IWearClothingRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IFriendRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetChatServerListRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetFriendListDataResponse.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IPinDialogRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IRemoveDialogRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISendMessageRequest.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISetDialogReadRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameConfigResponse.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameEmptyCrcRequestData.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IReportNicknameRequestData.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IVersionValidateRequestData.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/Effect.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IHealthTreatmentRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidEatRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidHealRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/ISyncHealthRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutArea.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutProduction.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSettingsBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/IGetBodyResponseData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/INullResponseData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/ISaveProgressRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IInsureRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IAddItemRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryAddRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBindRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryExamineRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryFoldRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMergeRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMoveRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySortRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySplitRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySwapRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTagRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryToggleRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTransferRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IChangeRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/ILoginRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IMiniProfile.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRegisterData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRemoveProfileData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/location/IGetLocationRequestData.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/ICreateGroupRequestData.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IEndOfflineRaidRequestData.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetGroupStatusRequestData.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetProfileRequestData.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IJoinMatchRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IJoinMatchResult.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IPutMetricsRequestData.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IStartOffineRaidRequestData.d.ts (74%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IUpdatePingRequestData.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notes/INoteActionData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/INotifier.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/ISelectProfileRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/GetProfileStatusResponseData.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IAkiProfile.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileCreateRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendResponse.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IValidateNicknameRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IAcceptQuestRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/ICompleteQuestRequestData.d.ts (85%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IHandoverQuestRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IListQuestsRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IAddOfferRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IExtendOfferRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetItemPriceResult.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetOffersResult.d.ts (80%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRagfairOffer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISearchRequestData.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IRepairActionDataRequest.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessSellTradeRequestData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/weather/IWeatherData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/wishlist/IWishlistActionData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BaseClasses.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BotAmount.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BotDifficulty.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ConfigTypes.d.ts (94%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ELocationName.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/EquipmentSlots.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/HideoutAreas.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MemberCategory.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MessageType.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Money.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestRewardType.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestStatus.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/RaidMode.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Traders.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPostAkiLoadMod.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPostDBLoadMod.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPreAkiLoadMod.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/mod.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/tsyringe.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bindings/Route.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bots/BotLootCache.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBotCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBundleCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ICustomizationCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDataCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDialogueCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IGameCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHandbookCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHealthCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHideoutCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHttpCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInraidCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInsuranceCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInventoryCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IItemEventCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILauncherCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILocationCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IMatchCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IModCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INoteCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INotifierCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IProfileCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IQuestCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRagfairCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRepairCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ISaveCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITradeCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITraderCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWeatherCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWishlistCallbacks.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IAirdropConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBaseConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBotConfig.d.ts (97%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ICoreConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHealthConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHideoutConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHttpConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInRaidConfig.d.ts (95%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInsuranceConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInventoryConfig.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocaleConfig.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocationConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IMatchConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IQuestConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRagfairConfig.d.ts (98%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRepairConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ITraderConfig.d.ts (59%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IWeatherConfig.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/controllers/IBotController.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IBotGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/ILocationGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IPMCLootGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairAssortGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairOfferGenerator.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/LogBackgroundColor.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/LogTextColor.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/SptLogger.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IMod.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IModLoader.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IPackageJsonData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/ragfair/IRagfairServerPrices.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IDatabaseTables.d.ts (81%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IHttpServer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocaleBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocations.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IServerBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ISettingsBase.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomPreset.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomTraderAssortData.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IAsyncQueue.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ICommand.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ILogger.d.ts (59%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IUuidGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/HttpRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ImageRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BotDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BundleDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/CustomizationDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/DataDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/HttpDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/InraidDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/LocationDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/NotifierDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/TraderDynamicRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/CustomizationItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HealthItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HideoutItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InsuranceItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InventoryItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/NoteItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/PresetBuildItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/QuestItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RagfairItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RepairItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/TradeItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/WishlistItemEventRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/HealthSaveLoadRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InraidSaveLoadRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InsuranceSaveLoadRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/ProfileSaveLoadRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/BundleSerializer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/ImageSerializer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/NotifySerializer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BotStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BundleStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/CustomizationStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DataStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DialogStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/GameStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/HealthStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InraidStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InsuranceStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ItemEventStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LauncherStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LocationStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/MatchStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/NotifierStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/PresetStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ProfileStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/QuestStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/RagfairStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/TraderStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/WeatherStaticRouter.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/servers/ConfigServer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/servers/DatabaseServer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/servers/HttpServer.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/servers/RagfairServer.d.ts (92%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/servers/SaveServer.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/BotLootCacheService.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomHandbookItemService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomItemService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomTraderAssortService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/FenceService.d.ts (95%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/HashCacheService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/InsuranceService.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/LocaleService.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/MatchLocationService.d.ts (58%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/ModCompilerService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/NotificationService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/PaymentService.d.ts (79%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/PlayerService.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/ProfileFixerService.d.ts create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairCategoriesService.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairLinkedItemService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairOfferService.d.ts (86%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairPriceService.d.ts (64%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairRequiredItemsService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/TraderAssortService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/customPresetService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/image/imageRouteService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadMod.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadModService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateMod.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateModService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterMod.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterModService.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/App.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/AyncQueue.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/DatabaseImporter.d.ts rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HashUtil.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HttpResponseUtil.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/JsonUtil.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Logger.d.ts (67%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/MathUtil.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/ObjectId.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/RandomUtil.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/TimeUtil.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/UUidGenerator.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/VFS.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Watermark.d.ts (83%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/Singleton.d.ts (100%) rename KcY-SeeItemValue/itemValue/Built/{KcY-SeeItemValue 1.3.5 => KcY-SeeItemValue 1.3.6}/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/constructor.d.ts (100%) create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/loaders/PostAkiModLoader.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/loaders/PostDBModLoader.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/loaders/PreAkiModLoader.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/IProfileTemplate.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/game/IReportNicknameRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/health/Effect.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/ICreateGroupRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IGetGroupStatusRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IJoinMatchRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IJoinMatchResult.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IPutMetricsRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IUpdatePingRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/profile/GetProfileStatusResponseData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/enums/BotAmount.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/enums/BotDifficulty.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/enums/QuestRewardType.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/enums/RaidMode.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPostAkiLoadMod.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPostDBLoadMod.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPreAkiLoadMod.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/spt/bots/BotLootCache.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/ILocaleConfig.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/LogBackgroundColor.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/LogTextColor.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/SptLogger.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/services/BotLootCacheService.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/services/LocaleService.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/dist/types/services/ProfileFixerService.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/server/types/helpers/GameHelper.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/loaders/PostAkiModLoader.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/loaders/PostDBModLoader.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/loaders/PreAkiModLoader.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/IProfileTemplate.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/game/IReportNicknameRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/health/Effect.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/match/ICreateGroupRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/match/IGetGroupStatusRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/match/IJoinMatchRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/match/IJoinMatchResult.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/match/IPutMetricsRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/match/IUpdatePingRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/profile/GetProfileStatusResponseData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/enums/BotAmount.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/enums/BotDifficulty.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/enums/QuestRewardType.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/enums/RaidMode.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/external/IPostAkiLoadMod.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/external/IPostDBLoadMod.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/external/IPreAkiLoadMod.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/server/types/models/external/mod.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/spt/bots/BotLootCache.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/spt/config/ILocaleConfig.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/spt/logging/LogBackgroundColor.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/spt/logging/LogTextColor.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/models/spt/logging/SptLogger.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/services/BotLootCacheService.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/server/types/services/CustomHandbookItemService.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/server/types/services/CustomItemService.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/server/types/services/CustomTraderAssortService.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/services/LocaleService.d.ts create mode 100644 KcY-SeeItemValue/itemValue/server/types/services/ProfileFixerService.d.ts delete mode 100644 KcY-SeeItemValue/itemValue/server/types/services/customPresetService.d.ts diff --git a/Faupi-HideoutMod/Project/package.json b/Faupi-HideoutMod/Project/package.json index cc35dcd..6e470cf 100644 --- a/Faupi-HideoutMod/Project/package.json +++ b/Faupi-HideoutMod/Project/package.json @@ -1,11 +1,12 @@ { "name": "Faupi-HideoutArchitect", "author": "Faupi", - "version": "1.5.0", + "version": "1.5.1", "license": "NCSA Open Source", "main": "./src/hideoutarchitect.js", - "akiVersion": "3.0.0", + "akiVersion": "3.1.0", "devDependencies": { - "@types/node": "^17.0.35" - } + "@types/node": "^17.0.35" + } + "updated by": "CWX, Valens" } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/bepInEx/plugins/KcY-SeeItemValue.dll b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/bepInEx/plugins/KcY-SeeItemValue.dll deleted file mode 100644 index 29a226d750da90018aa1f20f0caf50f0b21c9046..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9216 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 - /** - * Calculate traders level based on exp amount and increment level if over threshold - * @param traderID trader to process - * @param sessionID session id - */ - lvlUp(traderID: string, sessionID: string): void; - getTraderUpdateSeconds(traderId: string): number; - /** - * check if an item is allowed to be sold to a trader - * @param traderFilters array of allowed categories - * @param tplToCheck itemTpl of inventory - * @returns boolean - */ - traderFilter(traderFilters: string[], tplToCheck: string): boolean; - getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel; -} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairCategoriesService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairCategoriesService.d.ts deleted file mode 100644 index 09956cc..0000000 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairCategoriesService.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; -export declare class RagfairCategoriesService { - updateCategories(offers: IRagfairOffer[]): void; - protected categories: Record; - getCategories(): Record; - getCategoryByItemId(itemId: string): number; - resetCategories(): void; - setCategoryValue(itemId: string, newValue: number): void; - incrementCategory(itemId: string): void; -} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/DatabaseImporter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/DatabaseImporter.d.ts deleted file mode 100644 index 24c1cd6..0000000 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/DatabaseImporter.d.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { OnLoad } from "../di/OnLoad"; -import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { ImageRouter } from "../routers/ImageRouter"; -import { DatabaseServer } from "../servers/DatabaseServer"; -import { CustomHandbookItemService } from "../services/CustomHandbookItemService"; -import { CustomItemService } from "../services/CustomItemService"; -import { CustomPresetService } from "../services/customPresetService"; -import { CustomTraderAssortService } from "../services/CustomTraderAssortService"; -import { JsonUtil } from "./JsonUtil"; -import { VFS } from "./VFS"; -export declare class DatabaseImporter extends OnLoad { - protected logger: ILogger; - protected vfs: VFS; - protected jsonUtil: JsonUtil; - protected databaseServer: DatabaseServer; - protected customItemService: CustomItemService; - protected customTraderAssortService: CustomTraderAssortService; - protected customHandbookItemService: CustomHandbookItemService; - protected customPresetService: CustomPresetService; - protected imageRouter: ImageRouter; - constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, customItemService: CustomItemService, customTraderAssortService: CustomTraderAssortService, customHandbookItemService: CustomHandbookItemService, customPresetService: CustomPresetService, imageRouter: ImageRouter); - onLoad(): void; - /** - * Read all json files in database folder and map into a json object - * @param filepath path to database folder - */ - protected hydrateDatabase(filepath: string): void; - /** - * Get all items added through CustomItemService and add to database.templates.items - * @param dataToImport db data to amend - */ - protected addCustomItemsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all assorts added through CustomTraderAssortService and add to database.traders[x].assort - * @param dataToImport db data to amend - */ - protected addCustomTraderAssortsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all custom handbook items added through CustomHandbookItemService and add to database.templates.handbook.items - * @param dataToImport db data to amend - */ - protected addCustomHandbookItemsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all custom preset items added through CustomPresetService and add to database.globals.ItemPresets - * @param dataToImport - */ - protected addCustomPresetsToDb(dataToImport: IDatabaseTables): void; - getRoute(): string; - loadRecursive(filepath: string): IDatabaseTables; - loadImages(filepath: string): void; -} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/bepInEx/plugins/KcY-SeeItemValue.dll b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/bepInEx/plugins/KcY-SeeItemValue.dll new file mode 100644 index 0000000000000000000000000000000000000000..d5954e5c9255fb501ef55b4594713ae8629f48a1 GIT binary patch literal 10240 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 F{s(fx`E>vQ literal 0 HcmV?d00001 diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/LICENSE.txt b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/LICENSE.txt similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/LICENSE.txt rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/LICENSE.txt diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/package.json b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/package.json similarity index 92% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/package.json rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/package.json index e453164..36adb2e 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/package.json +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/package.json @@ -1,11 +1,11 @@ { "name": "SeeItemValue", "author": "KcY", - "version": "1.3.5", + "version": "1.3.6", "license": "NCSA Open Source", "main": "src/mod.js", - "akiVersion": "3.0.0", - "UpdatedBy": "CWX", + "akiVersion": "3.1.0", + "UpdatedBy": "CWX, Valens", "scripts": { "setup:environment": "npm i", "build:unzipped": "copyfiles -e \"./node_modules/**/*.*\" -e \"./dist/**/*.*\" -e \"./package-lock.json\" -e \"./tsconfig.json\" -e \"./README.txt\" -e \"./mod.code-workspace\" ./**/*.* ./dist", diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/src/config.json b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/src/config.json similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/src/config.json rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/src/config.json diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/src/mod.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/src/mod.ts similarity index 95% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/src/mod.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/src/mod.ts index 64b4044..2f697fa 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/src/mod.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/src/mod.ts @@ -30,7 +30,7 @@ class SeeItemValue implements IMod private tradersArr; private cfg; - public load(container: DependencyContainer) + public preAkiLoad(container: DependencyContainer) { this.pkg = require("../package.json"); this.router = container.resolve("DynamicRouterModService"); @@ -41,7 +41,7 @@ class SeeItemValue implements IMod this.addRoute() } - public delayedLoad(container: DependencyContainer) + public postAkiLoad(container: DependencyContainer) { this.database = container.resolve("DatabaseServer"); this.table = this.database.getTables(); @@ -91,18 +91,6 @@ class SeeItemValue implements IMod let parentId = ""; let origiMax = 1; - if (!this.items[id]) - { - const result = { - multiplier: 1, - price: 1, - originalMax: 1 - } - - this.debugMode("Item was not in Item's Json - returning 1 as price", "yellow"); - return result; - } - if (id === "5449016a4bdc2d6f028b456f") { const result = { @@ -119,12 +107,12 @@ class SeeItemValue implements IMod const result = { multiplier: 1, price: this.livePrice[id], - originalMax: this.getOrigiDura(id) + originalMax: 1 }; if (typeof result != "undefined") { this.debugMode("Config setting false for traders - returning livePrice AVG", "yellow"); - return result; + return result } } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/Program.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/Program.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/Program.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/Program.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/TYPES.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/TYPES.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/TYPES.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/TYPES.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BotCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BotCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BotCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BotCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BundleCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BundleCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BundleCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/BundleCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/CustomizationCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/CustomizationCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/CustomizationCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/CustomizationCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DataCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DataCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DataCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DataCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DialogueCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DialogueCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DialogueCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/DialogueCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/GameCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/GameCallbacks.d.ts similarity index 90% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/GameCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/GameCallbacks.d.ts index d5cad76..06da1b5 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/GameCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/GameCallbacks.d.ts @@ -2,6 +2,7 @@ import { GameController } from "../controllers/GameController"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData"; +import { IReportNicknameRequestData } from "../models/eft/game/IReportNicknameRequestData"; import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; @@ -20,5 +21,6 @@ declare class GameCallbacks { validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getVersion(url: string, info: IEmptyRequestData, sessionID: string): string; + reportNickname(url: string, info: IReportNicknameRequestData, sessionID: string): INullResponseData; } export { GameCallbacks }; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HandbookCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HandbookCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HandbookCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HandbookCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HealthCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HealthCallbacks.d.ts similarity index 85% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HealthCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HealthCallbacks.d.ts index 8f7b89d..8672be7 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HealthCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HealthCallbacks.d.ts @@ -13,6 +13,13 @@ export declare class HealthCallbacks { protected profileHelper: ProfileHelper; protected healthController: HealthController; constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); + /** + * Custom aki server request found in modules/HealthSynchronizer.cs + * @param url + * @param info HealthListener.Instance.CurrentHealth class + * @param sessionID session id + * @returns empty response, no data sent back to client + */ syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HideoutCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HideoutCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HideoutCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HideoutCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HttpCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HttpCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HttpCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/HttpCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InraidCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InraidCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InraidCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InraidCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InsuranceCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InsuranceCallbacks.d.ts similarity index 89% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InsuranceCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InsuranceCallbacks.d.ts index 520d0eb..6819960 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InsuranceCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InsuranceCallbacks.d.ts @@ -3,6 +3,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; @@ -17,7 +18,7 @@ export declare class InsuranceCallbacks extends OnLoadOnUpdate { protected insuranceConfig: IInsuranceConfig; constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer); onLoad(): void; - getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData; + 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/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InventoryCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InventoryCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InventoryCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/InventoryCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ItemEventCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ItemEventCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ItemEventCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ItemEventCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LauncherCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LauncherCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LauncherCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LauncherCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LocationCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LocationCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LocationCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/LocationCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/MatchCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/MatchCallbacks.d.ts similarity index 52% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/MatchCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/MatchCallbacks.d.ts index 083c1f5..2a92ef5 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/MatchCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/MatchCallbacks.d.ts @@ -1,10 +1,17 @@ import { MatchController } from "../controllers/MatchController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; +import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; +import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; @@ -14,21 +21,21 @@ export declare class MatchCallbacks { protected matchController: MatchController; protected databaseServer: 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; + updatePing(url: string, info: IUpdatePingRequestData, sessionID: string): INullResponseData; + exitMatch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + stopGroupSearch(url: string, info: IEmptyRequestData, 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; + putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData; getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData; - serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; - joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData; + serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; + joinMatch(url: string, info: IJoinMatchRequestData, 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; + getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData; + createGroup(url: string, info: ICreateGroupRequestData, 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/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ModCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ModCallbacks.d.ts similarity index 81% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ModCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ModCallbacks.d.ts index 866abf7..58342dc 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ModCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ModCallbacks.d.ts @@ -1,5 +1,5 @@ import { OnLoad } from "../di/OnLoad"; -import { DelayedModLoader } from "../loaders/DelayedModLoader"; +import { PostAkiModLoader } from "../loaders/PostAkiModLoader"; import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; @@ -9,10 +9,10 @@ declare class ModCallbacks extends OnLoad { protected logger: ILogger; protected httpResponse: HttpResponseUtil; protected httpServer: IHttpServer; - protected modLoader: DelayedModLoader; + protected postAkiModLoader: PostAkiModLoader; protected configServer: ConfigServer; protected httpConfig: IHttpConfig; - constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); + constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, postAkiModLoader: PostAkiModLoader, configServer: ConfigServer); onLoad(): void; getRoute(): string; sendBundle(sessionID: string, req: any, resp: any, body: any): void; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NoteCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NoteCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NoteCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NoteCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NotifierCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NotifierCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NotifierCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/NotifierCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetBuildCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetBuildCallbacks.d.ts similarity index 84% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetBuildCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetBuildCallbacks.d.ts index 8a0c155..541715a 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetBuildCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetBuildCallbacks.d.ts @@ -1,4 +1,5 @@ import { PresetBuildController } from "../controllers/PresetBuildController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; @@ -9,7 +10,7 @@ export declare class PresetBuildCallbacks { protected httpResponse: HttpResponseUtil; protected presetBuildController: PresetBuildController; constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController); - getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; + getHandbookUserlist(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/PresetCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ProfileCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ProfileCallbacks.d.ts similarity index 87% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ProfileCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ProfileCallbacks.d.ts index 116e7c5..6a86fc0 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ProfileCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/ProfileCallbacks.d.ts @@ -3,6 +3,7 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData"; +import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData"; import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; @@ -23,7 +24,14 @@ export declare class ProfileCallbacks { 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; + /** + * Called when creating a character, when you choose a character face/voice + * @param url + * @param info response (empty) + * @param sessionID + * @returns + */ + 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/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/QuestCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/QuestCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/QuestCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/QuestCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RagfairCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RagfairCallbacks.d.ts similarity index 89% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RagfairCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RagfairCallbacks.d.ts index d5bab8b..3a405c9 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RagfairCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RagfairCallbacks.d.ts @@ -9,8 +9,10 @@ import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; +import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { ISendRagfairReportRequestData } from "../models/eft/ragfair/ISendRagfairReportRequestData"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; @@ -28,12 +30,12 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate { 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; + 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; - sendReport(url: string, info: any, sessionID: string): INullResponseData; + sendReport(url: string, info: ISendRagfairReportRequestData, sessionID: string): INullResponseData; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RepairCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RepairCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RepairCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/RepairCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/SaveCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/SaveCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/SaveCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/SaveCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TradeCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TradeCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TradeCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TradeCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TraderCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TraderCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TraderCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/TraderCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WeatherCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WeatherCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WeatherCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WeatherCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WishlistCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WishlistCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WishlistCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/callbacks/WishlistCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/BotController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/BotController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/BotController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/BotController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/CustomizationController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/CustomizationController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/CustomizationController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/CustomizationController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/DialogueController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/DialogueController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/DialogueController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/DialogueController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/GameController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/GameController.d.ts similarity index 52% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/GameController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/GameController.d.ts index 7f632d6..85ec418 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/GameController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/GameController.d.ts @@ -1,33 +1,28 @@ -import { GameHelper } from "../helpers/GameHelper"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; +import { LocaleService } from "../services/LocaleService"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { Watermark } from "../utils/Watermark"; export declare class GameController { protected logger: ILogger; protected watermark: Watermark; protected httpServerHelper: HttpServerHelper; + protected localeService: LocaleService; protected profileHelper: ProfileHelper; - protected gameHelper: GameHelper; + protected profileFixerService: ProfileFixerService; protected configServer: ConfigServer; protected httpConfig: IHttpConfig; - constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, configServer: ConfigServer); + protected coreConfig: ICoreConfig; + constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, localeService: LocaleService, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, configServer: ConfigServer); gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void; - protected addMissingBonusesProperty(pmcProfile: IPmcData): void; - protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; - protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void; - protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; - protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void; - protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; - protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; + protected logProfileDetails(fullProfile: IAkiProfile): void; getGameConfig(sessionID: string): IGameConfigResponse; getServer(): any[]; - protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HandbookController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HandbookController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HandbookController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HandbookController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HealthController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HealthController.d.ts similarity index 74% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HealthController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HealthController.d.ts index aafb8df..cc13603 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HealthController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HealthController.d.ts @@ -18,8 +18,29 @@ export declare class HealthController { protected inventoryHelper: InventoryHelper; protected healthHelper: HealthHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper); - saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + /** + * stores in-raid player health + * @param pmcData Player profile + * @param info Request data + * @param sessionID + * @param addEffects Should effects found be added or removed from profile + */ + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void; + /** + * When healing in menu + * @param pmcData + * @param body + * @param sessionID + * @returns + */ offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Occurs on post-raid healing page + * @param pmcData player profile + * @param info Request data from client + * @param sessionID Session id + * @returns + */ healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HideoutController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HideoutController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HideoutController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/HideoutController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InraidController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InraidController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InraidController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InraidController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InsuranceController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InsuranceController.d.ts similarity index 88% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InsuranceController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InsuranceController.d.ts index db2c567..af45442 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InsuranceController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InsuranceController.d.ts @@ -3,6 +3,7 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; @@ -33,6 +34,12 @@ export declare class InsuranceController { insuranceService: InsuranceService, configServer: ConfigServer); processReturn(): void; insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse; - cost(info: IGetInsuranceCostRequestData, sessionID: string): any; + /** + * Calculate insurance cost + * @param info request object + * @param sessionID session id + * @returns response object to send to client + */ + cost(info: IGetInsuranceCostRequestData, sessionID: string): IGetInsuranceCostResponseData; doAbsolutelyNothing(): void; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InventoryController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InventoryController.d.ts similarity index 87% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InventoryController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InventoryController.d.ts index b732aa9..f57f731 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InventoryController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/InventoryController.d.ts @@ -24,6 +24,8 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { FenceService } from "../services/FenceService"; +import { RagfairOfferService } from "../services/RagfairOfferService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InventoryController { @@ -31,12 +33,14 @@ export declare class InventoryController { protected hashUtil: HashUtil; protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; + protected fenceService: FenceService; protected presetHelper: PresetHelper; protected inventoryHelper: InventoryHelper; + protected ragfairOfferService: RagfairOfferService; protected profileHelper: ProfileHelper; protected paymentHelper: PaymentHelper; protected itemEventRouter: ItemEventRouter; - constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, fenceService: FenceService, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, ragfairOfferService: RagfairOfferService, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); /** * Move Item * change location of item with parentId and slotId @@ -93,9 +97,19 @@ export declare class InventoryController { tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; /** - * Handles examining of the item * + * Handles examining an item + * @param pmcData player profile + * @param body request object + * @param sessionID session id + * @returns response */ examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Get the tplid of an item from the examine request object + * @param body response request + * @returns tplid + */ + protected getExaminedItemTpl(body: IInventoryExamineRequestData): string; readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; /** * Handles sorting of Inventory. diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LauncherController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LauncherController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LauncherController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LauncherController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LocationController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LocationController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LocationController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/LocationController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/MatchController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/MatchController.d.ts similarity index 65% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/MatchController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/MatchController.d.ts index c322d96..0851ab0 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/MatchController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/MatchController.d.ts @@ -1,30 +1,36 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; +import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { IMatchConfig } from "../models/spt/config/IMatchConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { MatchLocationService } from "../services/MatchLocationService"; export declare class MatchController { protected saveServer: SaveServer; protected profileHelper: ProfileHelper; protected matchLocationService: MatchLocationService; protected traderHelper: TraderHelper; + protected botLootCacheService: BotLootCacheService; protected configServer: ConfigServer; protected matchConfig: IMatchConfig; protected inraidConfig: IInRaidConfig; - constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); + constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer); getEnabled(): boolean; getProfile(info: IGetProfileRequestData): IPmcData[]; - protected getMatch(location: any): any; - createGroup(sessionID: string, info: any): any; + createGroup(sessionID: string, info: ICreateGroupRequestData): any; deleteGroup(info: any): void; - joinMatch(info: any, sessionID: string): any[]; - getGroupStatus(info: any): any; + joinMatch(info: IJoinMatchRequestData, sessionID: string): IJoinMatchResult[]; + protected getMatch(location: string): any; + getGroupStatus(info: IGetGroupStatusRequestData): any; startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void; endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NoteController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NoteController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NoteController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NoteController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NotifierController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NotifierController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NotifierController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/NotifierController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetBuildController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetBuildController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetBuildController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetBuildController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/PresetController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/ProfileController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/ProfileController.d.ts similarity index 83% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/ProfileController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/ProfileController.d.ts index 9b7a6d5..b40bb7d 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/ProfileController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/ProfileController.d.ts @@ -11,6 +11,7 @@ import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendRespon import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileController { @@ -19,13 +20,20 @@ export declare class ProfileController { protected saveServer: SaveServer; protected databaseServer: DatabaseServer; protected itemHelper: ItemHelper; + protected profileFixerService: ProfileFixerService; protected traderHelper: TraderHelper; protected extendedProfileHelper: ExtendedProfileHelper; - constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); + constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileFixerService: ProfileFixerService, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); getMiniProfiles(): IMiniProfile[]; getMiniProfile(sessionID: string): any; getCompleteProfile(sessionID: string): IPmcData[]; createProfile(info: IProfileCreateRequestData, sessionID: string): void; + /** + * Generate a player scav object + * pmc profile MUST exist first before pscav can be generated + * @param sessionID + * @returns IPmcData object + */ generatePlayerScav(sessionID: string): IPmcData; validateNickname(info: IValidateNicknameRequestData, sessionID: string): string; changeNickname(info: IProfileChangeNicknameRequestData, sessionID: string): string; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/QuestController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/QuestController.d.ts similarity index 94% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/QuestController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/QuestController.d.ts index c00cd6d..2cbccfb 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/QuestController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/QuestController.d.ts @@ -14,6 +14,7 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; import { PlayerService } from "../services/PlayerService"; import { TimeUtil } from "../utils/TimeUtil"; export declare class QuestController { @@ -27,9 +28,10 @@ export declare class QuestController { protected questHelper: QuestHelper; protected questConditionHelper: QuestConditionHelper; protected playerService: PlayerService; + protected localeService: LocaleService; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, configServer: ConfigServer); /** * Get all quests visible to player * Exclude quests with incomplete preconditions (level/loyalty) diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RagfairController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RagfairController.d.ts similarity index 97% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RagfairController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RagfairController.d.ts index c758593..c4ffc15 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RagfairController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RagfairController.d.ts @@ -60,6 +60,8 @@ export declare class RagfairController { protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer); getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult; + protected isLinkedSearch(info: ISearchRequestData): boolean; + protected isRequiredSearch(info: ISearchRequestData): boolean; update(): void; getItemPrice(info: IGetMarketPriceRequestData): IGetItemPriceResult; addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepairController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepairController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepairController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepairController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepeatableQuestController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepeatableQuestController.d.ts similarity index 97% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepeatableQuestController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepeatableQuestController.d.ts index 9aa9590..2bb2aa9 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepeatableQuestController.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/RepeatableQuestController.d.ts @@ -1,4 +1,3 @@ -import { GameHelper } from "../helpers/GameHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; @@ -16,6 +15,7 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { PaymentService } from "../services/PaymentService"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { JsonUtil } from "../utils/JsonUtil"; import { MathUtil } from "../utils/MathUtil"; import { ObjectId } from "../utils/ObjectId"; @@ -58,14 +58,14 @@ export declare class RepeatableQuestController { protected itemHelper: ItemHelper; protected presetHelper: PresetHelper; protected profileHelper: ProfileHelper; - protected gameHelper: GameHelper; + protected profileFixerService: ProfileFixerService; protected ragfairServerHelper: RagfairServerHelper; protected itemEventRouter: ItemEventRouter; protected paymentService: PaymentService; protected objectId: ObjectId; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, 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. diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TradeController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TradeController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TradeController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TradeController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TraderController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TraderController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TraderController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/TraderController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WeatherController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WeatherController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WeatherController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WeatherController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WishlistController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WishlistController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WishlistController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/controllers/WishlistController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/Container.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/Container.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/Container.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/Container.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoad.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoad.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoad.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoad.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoadOnUpdate.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoadOnUpdate.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoadOnUpdate.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnLoadOnUpdate.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnUpdate.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnUpdate.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnUpdate.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/OnUpdate.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/Router.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/Router.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/Router.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/Router.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/Serializer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/Serializer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/di/Serializer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/di/Serializer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotGenerator.d.ts similarity index 61% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotGenerator.d.ts index 88a8014..28f05a9 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotGenerator.d.ts @@ -31,16 +31,54 @@ export declare class BotGenerator { protected botConfig: IBotConfig; 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[]; + /** + * Choose if a bot should become a Pmc by checking if bot type is allowed to become a Pmc in bot config + * @param isPlayerScav is a player scav being generated, forces choice returned to never be a pmc + */ + protected shouldBotBePmc(isPlayerScav: boolean, role: string): boolean; + /** + * Get a randomised PMC side based on bot config value 'isUsec' + * @returns pmc side as string + */ + protected getRandomisedPmcSide(): string; + /** + * Get a clone of the database\bots\base.json file + * @returns IBotBase object + */ + protected getCloneOfBotBase(): IBotBase; protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase; + /** + * Log the number of PMCs generated to the debug console + */ + protected logPmcGeneratedCount(output: IBotBase[]): void; protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult; - /** Converts health object to the required format */ + /** + * Converts health object to the required format + * @param healthObj health object from bot json + * @param playerScav Is a pscav bot being generated + * @returns PmcHealth object + */ protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth; protected generateSkills(skillsObj: Skills): Skills; + /** + * Convert from pmc side (usec/bear) to the side as defined in the bot config (usecType/bearType) + * @param pmcSide eft side (usec/bear) + * @returns pmc side as defined in config + */ protected getPmcRole(pmcSide: string): string; + /** + * Iterate through bots inventory and loot to find and remove christmas items (as defined in GameEventHelper) + * @param nodeInventory Bots inventory to iterate over + */ protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void; protected generateId(bot: IBotBase): IBotBase; protected generateInventoryID(profile: IBotBase): IBotBase; protected getPMCDifficulty(requestedDifficulty: string): string; + /** + * Add a side-specific (usec/bear) dogtag item to a bots inventory + * @param bot bot to add dogtag to + * @returns Bot with dogtag added + */ protected generateDogtag(bot: IBotBase): IBotBase; } export {}; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotInventoryGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotInventoryGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotInventoryGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotInventoryGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotLootGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotLootGenerator.d.ts similarity index 66% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotLootGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotLootGenerator.d.ts index 1d91836..2295f51 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotLootGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotLootGenerator.d.ts @@ -1,29 +1,27 @@ -import { PMCLootGenerator } from "../generators/PMCLootGenerator"; import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { HandbookHelper } from "../helpers/HandbookHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotLootGenerator { - protected jsonUtil: JsonUtil; + protected logger: ILogger; protected hashUtil: HashUtil; protected randomUtil: RandomUtil; protected databaseServer: DatabaseServer; protected handbookHelper: HandbookHelper; protected botGeneratorHelper: BotGeneratorHelper; - protected pmcLootGenerator: PMCLootGenerator; + protected botLootCacheService: BotLootCacheService; protected configServer: ConfigServer; protected botConfig: IBotConfig; - 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; + constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer); + generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, botRole: string, inventory: PmcInventory): void; protected getRandomisedCount(min: number, max: number, nValue: number): number; protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void; - /** Compares two item templates by their price to spawn chance ratio */ - protected compareByValue(a: ITemplateItem, b: ITemplateItem): number; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotWeaponGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotWeaponGenerator.d.ts similarity index 86% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotWeaponGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotWeaponGenerator.d.ts index a43b18c..80dc37c 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotWeaponGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/BotWeaponGenerator.d.ts @@ -9,7 +9,9 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; +import { JsonUtil } from "../utils/JsonUtil"; export declare class BotWeaponGenerator { + protected jsonUtil: JsonUtil; protected logger: ILogger; protected hashUtil: HashUtil; protected databaseServer: DatabaseServer; @@ -18,7 +20,7 @@ export declare class BotWeaponGenerator { protected botGeneratorHelper: BotGeneratorHelper; protected randomUtil: RandomUtil; private readonly modMagazineSlotId; - constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); + constructor(jsonUtil: JsonUtil, logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; /** * Get the mods necessary to kit out a weapon to its preset level @@ -41,6 +43,13 @@ export declare class BotWeaponGenerator { * @returns */ protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void; + /** + * Get a randomised number of bullets for a specific magazine + * @param magCounts min and max count of magazines + * @param magTemplate magazine to generate bullet count for + * @returns bullet count number + */ + protected getRandomisedBulletCount(magCounts: MinMax, magTemplate: ITemplateItem): number; /** * Get a randomised count of magazines * @param magCounts min and max value returned value can be between diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/LocationGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/LocationGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/LocationGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/LocationGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/PMCLootGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/PMCLootGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/PMCLootGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/PMCLootGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairAssortGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairAssortGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairAssortGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairAssortGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairOfferGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairOfferGenerator.d.ts similarity index 91% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairOfferGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairOfferGenerator.d.ts index de53ea9..3e7f4cc 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairOfferGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/RagfairOfferGenerator.d.ts @@ -11,6 +11,7 @@ import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { FenceService } from "../services/FenceService"; +import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { RagfairPriceService } from "../services/RagfairPriceService"; import { HashUtil } from "../utils/HashUtil"; @@ -31,11 +32,12 @@ export declare class RagfairOfferGenerator { protected ragfairAssortGenerator: RagfairAssortGenerator; protected ragfairOfferService: RagfairOfferService; protected ragfairPriceService: RagfairPriceService; + protected ragfairCategoriesService: RagfairCategoriesService; protected fenceService: FenceService; protected itemHelper: ItemHelper; protected configServer: ConfigServer; protected ragfairConfig: IRagfairConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, ragfairCategoriesService: RagfairCategoriesService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; protected getTraderId(userID: string): string; protected getRating(userID: string): number; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/WeatherGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/WeatherGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/generators/WeatherGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/generators/WeatherGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/AssortHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/AssortHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/AssortHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/AssortHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotGeneratorHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotGeneratorHelper.d.ts similarity index 91% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotGeneratorHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotGeneratorHelper.d.ts index e4b0c11..243e7a8 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotGeneratorHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotGeneratorHelper.d.ts @@ -29,6 +29,12 @@ export declare class BotGeneratorHelper { protected botConfig: IBotConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, probabilityHelper: ProbabilityHelper, 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[]; + /** + * Is this magazine cylinder related (revolvers and grenade launchers) + * @param magazineParentName the name of the magazines parent + * @returns true if it is cylinder related + */ + magazineIsCylinderRelated(magazineParentName: string): boolean; /** * Get a list of non black-listed cartridges from the PMC bot config * @param modSlot mod item slot @@ -69,6 +75,12 @@ export declare class BotGeneratorHelper { * @param {object} parentTemplate The CylinderMagazine's template */ protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void; + /** + * Take a record of camoras and merge the compatable shells into one array + * @param camorasWithShells camoras we want to merge into one array + * @returns string array of shells fro luitple camora sources + */ + protected mergeCamoraPoolsTogether(camorasWithShells: Record): string[]; generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { upd?: Upd; }; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/BotHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ContainerHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ContainerHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ContainerHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ContainerHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DialogueHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DialogueHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DialogueHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DialogueHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DurabilityLimitsHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DurabilityLimitsHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DurabilityLimitsHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/DurabilityLimitsHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ExtendedProfileHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ExtendedProfileHelper.d.ts similarity index 76% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ExtendedProfileHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ExtendedProfileHelper.d.ts index d8b754d..c05d88e 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ExtendedProfileHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ExtendedProfileHelper.d.ts @@ -2,15 +2,20 @@ import { BotGenerator } from "../generators/BotGenerator"; import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { FenceService } from "../services/FenceService"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; import { Watermark } from "../utils/Watermark"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; +/** + * This class needs to exist outside of ProfileHelper to ensure cyclic deps don't cause the server to fail on load + */ export declare class ExtendedProfileHelper extends ProfileHelper { + protected botLootCacheService: BotLootCacheService; protected botGenerator: BotGenerator; - constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator); + constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, botLootCacheService: BotLootCacheService, fenceService: FenceService, botGenerator: BotGenerator); generatePlayerScav(sessionID: string): IPmcData; protected getScavSkills(sessionID: string): Skills; protected removeSecureContainer(profile: IPmcData): IPmcData; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameEventHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameEventHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameEventHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameEventHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/GameHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HandbookHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HandbookHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HandbookHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HandbookHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HealthHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HealthHelper.d.ts new file mode 100644 index 0000000..3116c9c --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HealthHelper.d.ts @@ -0,0 +1,51 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { IHealthConfig } from "../models/spt/config/IHealthConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { SaveServer } from "../servers/SaveServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { TimeUtil } from "../utils/TimeUtil"; +export declare class HealthHelper { + protected jsonUtil: JsonUtil; + protected logger: ILogger; + protected timeUtil: TimeUtil; + protected saveServer: SaveServer; + protected configServer: ConfigServer; + protected healthConfig: IHealthConfig; + constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); + /** + * Resets the profiles vitality/healh and vitality/effects properties to their defaults + * @param sessionID Session Id + * @returns updated profile + */ + resetVitality(sessionID: string): IAkiProfile; + /** + * Update player profile with changes from request object + * @param pmcData Player profile + * @param info Request object + * @param sessionID Session id + * @param addEffects Should effects be added or removed (default - add) + */ + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void; + protected saveHealth(pmcData: IPmcData, sessionID: string): void; + /** + * Save effects to profile + * Works by removing all effects and adding them back from profile + * Remoces empty 'Effects' objects if found + * @param pmcData Player profile + * @param sessionID Session id + * @param addEffects Should effects be added back to profile + * @returns + */ + protected saveEffects(pmcData: IPmcData, sessionID: string, addEffects: boolean): void; + /** + * Add effect to body part in profile + * @param pmcData Player profile + * @param effectBodyPart body part to edit + * @param effectType Effect to add to body part + */ + protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: string): void; + protected isEmpty(map: any): boolean; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HideoutHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HideoutHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HideoutHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HideoutHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HttpServerHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HttpServerHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HttpServerHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/HttpServerHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InRaidHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InRaidHelper.d.ts similarity index 80% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InRaidHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InRaidHelper.d.ts index 05b6fdf..58e0f6a 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InRaidHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InRaidHelper.d.ts @@ -28,6 +28,18 @@ export declare class InRaidHelper { markFoundItems(pmcData: IPmcData, profile: IPmcData, isPlayerScav: boolean): IPmcData; removeFoundInRaidStatusFromItems(profile: IPmcData): IPmcData; setInventory(sessionID: string, pmcData: IPmcData, profile: IPmcData): IPmcData; + /** + * Clear pmc inventory of all items except those that are exempt + * @param pmcData Player profile + * @param sessionID Session id + * @returns Player profile with pmc inventory cleared + */ deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData; + /** + * Does the provided items slotId mean its kept on the player after death + * @param slotId slotid of item to check + * @returns true if item is kept after death + */ + isItemKeptAfterDeath(slotId: string): boolean; getPlayerGear(items: Item[]): Item[]; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InventoryHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InventoryHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InventoryHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/InventoryHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ItemHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ItemHelper.d.ts similarity index 69% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ItemHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ItemHelper.d.ts index 70c88d6..4e0eba4 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ItemHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ItemHelper.d.ts @@ -1,5 +1,5 @@ import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; +import { Item, Repairable } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -18,7 +18,7 @@ declare class ItemHelper { */ 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 + * Checks if an id is a valid item. Valid meaning that it's an item that may be a reward * or content of bot loot. Items that are tested as valid may be in a player backpack or stash. * @param {*} tpl template id of item to check * @returns boolean: true if item is valid reward @@ -83,26 +83,76 @@ declare class ItemHelper { * @returns {array} The array of StackSlotItems */ generateItemsFromStackSlot(item: ITemplateItem, parentId: string): Item[]; + /** + * Gets item data from items.json + * @param tpl items template id to look up + * @returns bool - is valid + template item object as array + */ getItem(tpl: string): [boolean, ITemplateItem]; + /** + * get normalized value (0-1) based on item condition + * @param item + * @returns number between 0 and 1 + */ getItemQualityModifier(item: Item): number; + /** + * Get a quality value based on a repairable items (weapon/armor) current state between current and max durability + * @param itemDetails + * @param repairable repairable object + * @param item + * @returns a number between 0 and 1 + */ + protected getRepairableItemQualityValue(itemDetails: ITemplateItem, repairable: Repairable, item: Item): number; + /** + * Recursive function that looks at every item from parameter and gets their childrens Ids + * @param items + * @param itemID + * @returns an array of strings + */ findAndReturnChildrenByItems(items: Item[], itemID: string): string[]; /** * A variant of findAndReturnChildren where the output is list of item objects instead of their ids. + * @param items + * @param baseItemId + * @returns An array of Item objects */ findAndReturnChildrenAsItems(items: Item[], baseItemId: string): Item[]; /** - * find children of the item in a given assort (weapons parts for example, need recursive loop function) + * Find children of the item in a given assort (weapons parts for example, need recursive loop function) + * @param itemIdToFind Template id of item to check for + * @param assort Array of items to check in + * @returns Array of children of requested item */ findAndReturnChildrenByAssort(itemIdToFind: string, assort: Item[]): Item[]; + /** + * Check if the passed in item has buy count restrictions + * @param itemToCheck Item to check + * @returns true if it has buy restrictions + */ 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 + * is the passed in template id a dog tag + * @param tpl Template id to check + * @returns true if it is a dogtag */ isDogtag(tpl: string): boolean; + /** + * Can the item passed in be sold to a trader because it is raw money + * @param tpl Item template id to check + * @returns true if unsellable + */ isNotSellable(tpl: string): boolean; + /** + * Gets the identifier for a child using slotId, locationX and locationY. + * @param item + * @returns "slotId OR slotid,locationX,locationY" + */ getChildId(item: Item): string; + /** + * Can the pased in item be stacked + * @param tpl item to check + * @returns true if it can be stacked + */ isItemTplStackable(tpl: string): boolean; /** * split item stack if it exceeds StackMaxSize @@ -112,15 +162,17 @@ declare class ItemHelper { * Find Barter items in the inventory * @param {string} by * @param {Object} pmcData - * @param {string} barter_itemID - * @returns Array + * @param {string} barterItemId + * @returns Array of Item objects */ - findBarterItems(by: string, pmcData: IPmcData, barter_itemID: string): any[]; + findBarterItems(by: string, pmcData: IPmcData, barterItemId: string): Item[]; /** - * @param {Object} pmcData - * @param {Array} items - * @param {Object} fastPanel - * @returns Array + * + * @param pmcData + * @param items + * @param insuredItems insured items to not replace ids for + * @param fastPanel + * @returns */ replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[]; /** @@ -136,6 +188,12 @@ declare class ItemHelper { * @returns boolean */ isQuestItem(tpl: string): boolean; + /** + * Get the inventory size of an item + * @param items + * @param rootItemId + * @returns ItemSize object (width and height) + */ getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize; } declare namespace ItemHelper { diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotificationSendHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotificationSendHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotificationSendHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotificationSendHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotifierHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotifierHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotifierHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/NotifierHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PaymentHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PaymentHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PaymentHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PaymentHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PresetHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PresetHelper.d.ts similarity index 79% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PresetHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PresetHelper.d.ts index 0371886..a469582 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PresetHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/PresetHelper.d.ts @@ -1,9 +1,11 @@ import { Preset } from "../models/eft/common/IGlobals"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; export declare class PresetHelper { + protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; protected lookup: Record; - constructor(databaseServer: DatabaseServer); + constructor(jsonUtil: JsonUtil, databaseServer: DatabaseServer); hydratePresetStore(input: Record): void; isPreset(id: string): boolean; hasPreset(templateId: string): boolean; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProbabilityHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProbabilityHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProbabilityHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProbabilityHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProfileHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProfileHelper.d.ts similarity index 87% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProfileHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProfileHelper.d.ts index 6a64291..b369000 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProfileHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/ProfileHelper.d.ts @@ -20,6 +20,12 @@ export declare class ProfileHelper { resetProfileQuestCondition(sessionID: string, conditionId: string): void; getCompleteProfile(sessionID: string): IPmcData[]; isNicknameTaken(info: IValidateNicknameRequestData, sessionID: string): boolean; + /** + * Add experience to a PMC inside the players profile + * @param sessionID Session id + * @param experienceToAdd Experiecne to add to PMC character + */ + addExperienceToPmc(sessionID: string, experienceToAdd: number): void; getProfileByPmcId(pmcId: string): IPmcData; getExperience(level: number): number; getMaxLevel(): number; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestConditionHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestConditionHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestConditionHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestConditionHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestHelper.d.ts similarity index 82% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestHelper.d.ts index 04ede16..0b10135 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/QuestHelper.d.ts @@ -8,6 +8,7 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; @@ -25,6 +26,7 @@ export declare class QuestHelper { protected itemHelper: ItemHelper; protected itemEventRouter: ItemEventRouter; protected databaseServer: DatabaseServer; + protected localeService: LocaleService; protected ragfairServerHelper: RagfairServerHelper; protected dialogueHelper: DialogueHelper; protected profileHelper: ProfileHelper; @@ -32,7 +34,7 @@ export declare class QuestHelper { protected traderHelper: TraderHelper; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); + constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); static get STATUS(): Record; questStatus(pmcData: IPmcData, questID: string): string; /** @@ -73,8 +75,22 @@ export declare class QuestHelper { */ cleanQuestConditions(quest: IQuest): IQuest; failQuest(pmcData: IPmcData, body: any, sessionID: string): any; + /** + * Get quest by id from database + * @param questId questid to look for + * @param pmcData player profile + * @returns IQuest object + */ getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; - getQuestLocaleIdFromDb(messageId: string, localisation?: string): string; + getQuestLocaleIdFromDb(messageId: string): string; + /** + * Give player quest rewards - Skills/exp/trader standing/items/assort unlocks + * @param pmcData Player profile + * @param body complete quest request + * @param state State of the quest now its complete + * @param sessionID Seession id + * @returns array of reward objects + */ applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): Reward[]; /** * Get the intel center bonus a player has diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairOfferHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairOfferHelper.d.ts similarity index 95% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairOfferHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairOfferHelper.d.ts index 129bc1c..5a77e13 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairOfferHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairOfferHelper.d.ts @@ -10,6 +10,7 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { LocaleService } from "../services/LocaleService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; @@ -37,11 +38,12 @@ export declare class RagfairOfferHelper { protected ragfairSortHelper: RagfairSortHelper; protected ragfairHelper: RagfairHelper; protected ragfairOfferService: RagfairOfferService; + protected localeService: LocaleService; protected configServer: ConfigServer; protected static TPL_GOODS_SOLD: string; protected ragfairConfig: IRagfairConfig; protected questConfig: IQuestConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, localeService: LocaleService, 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; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSellHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSellHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSellHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSellHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairServerHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairServerHelper.d.ts similarity index 89% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairServerHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairServerHelper.d.ts index 2cb3ea5..a52306b 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairServerHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairServerHelper.d.ts @@ -1,11 +1,12 @@ -import { MemberCategory } from "../models/enums/MemberCategory"; import { Item } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { MemberCategory } from "../models/enums/MemberCategory"; import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { LocaleService } from "../services/LocaleService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; @@ -19,13 +20,14 @@ export declare class RagfairServerHelper { protected databaseServer: DatabaseServer; protected profileHelper: ProfileHelper; protected itemHelper: ItemHelper; + protected localeService: LocaleService; protected dialogueHelper: DialogueHelper; protected jsonUtil: JsonUtil; protected configServer: ConfigServer; protected ragfairConfig: IRagfairConfig; protected questConfig: IQuestConfig; protected static TPL_GOODS_RETURNED: string; - constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); + constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, localeService: LocaleService, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); /** * Is item valid / on blacklist / quest item * @param itemDetails diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSortHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSortHelper.d.ts similarity index 79% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSortHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSortHelper.d.ts index e983569..d20e10c 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSortHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairSortHelper.d.ts @@ -1,8 +1,10 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; export declare class RagfairSortHelper { protected databaseServer: DatabaseServer; - constructor(databaseServer: DatabaseServer); + protected localeService: LocaleService; + constructor(databaseServer: DatabaseServer, localeService: LocaleService); sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; protected sortOffersByID(a: IRagfairOffer, b: IRagfairOffer): number; protected sortOffersByRating(a: IRagfairOffer, b: IRagfairOffer): number; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairTaxHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairTaxHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairTaxHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RagfairTaxHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RepairHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RepairHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RepairHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/RepairHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/SecureContainerHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/SecureContainerHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/SecureContainerHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/SecureContainerHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TradeHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TradeHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TradeHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TradeHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderAssortHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderAssortHelper.d.ts similarity index 62% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderAssortHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderAssortHelper.d.ts index 4f41ac2..91ba6b9 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderAssortHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderAssortHelper.d.ts @@ -2,24 +2,32 @@ import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; import { Item } from "../models/eft/common/tables/IItem"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { FenceService } from "../services/FenceService"; import { TraderAssortService } from "../services/TraderAssortService"; import { JsonUtil } from "../utils/JsonUtil"; +import { MathUtil } from "../utils/MathUtil"; import { AssortHelper } from "./AssortHelper"; +import { PaymentHelper } from "./PaymentHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderAssortHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; + protected mathUtil: MathUtil; protected databaseServer: DatabaseServer; protected profileHelper: ProfileHelper; protected assortHelper: AssortHelper; + protected paymentHelper: PaymentHelper; protected ragfairAssortGenerator: RagfairAssortGenerator; protected ragfairOfferGenerator: RagfairOfferGenerator; protected traderAssortService: TraderAssortService; protected fenceService: FenceService; - constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); + protected configServer: ConfigServer; + protected traderConfig: ITraderConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, mathUtil: MathUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, paymentHelper: PaymentHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService, configServer: ConfigServer); /** * Get a traders assorts * Can be used for returning ragfair / fence assorts @@ -29,7 +37,12 @@ export declare class TraderAssortHelper { */ getAssort(sessionId: string, traderId: string): ITraderAssort; /** - * Get an array of pristine trader items prior to any alteration by player + * Iterate over all assorts barter_scheme values, find barters selling for money and multiply by multipler in config + * @param traderAssort Assorts to multiple price of + */ + protected multiplyItemPricesByConfigMultipler(traderAssort: ITraderAssort): void; + /** + * Get an array of pristine trader items prior to any alteration by player (as they were on server start) * @param traderId trader id * @returns array of Items */ diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderHelper.d.ts new file mode 100644 index 0000000..b2e9d38 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/TraderHelper.d.ts @@ -0,0 +1,109 @@ +import { FenceLevel } from "../models/eft/common/IGlobals"; +import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; +import { IBarterScheme, ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { SaveServer } from "../servers/SaveServer"; +import { FenceService } from "../services/FenceService"; +import { PlayerService } from "../services/PlayerService"; +import { HandbookHelper } from "./HandbookHelper"; +import { ItemHelper } from "./ItemHelper"; +import { PaymentHelper } from "./PaymentHelper"; +import { ProfileHelper } from "./ProfileHelper"; +export declare class TraderHelper { + protected logger: ILogger; + protected databaseServer: DatabaseServer; + protected saveServer: SaveServer; + protected profileHelper: ProfileHelper; + protected paymentHelper: PaymentHelper; + protected itemHelper: ItemHelper; + protected handbookHelper: HandbookHelper; + protected playerService: PlayerService; + protected fenceService: FenceService; + protected configServer: ConfigServer; + protected traderConfig: ITraderConfig; + 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; + /** + * Reset a profiles trader data back to its initial state as seen by a level 1 player + * Does NOT take into account different profile levels + * @param sessionID session id + * @param traderID trader id to reset + */ + resetTrader(sessionID: string, traderID: string): void; + /** + * Alter a traders unlocked status + * @param traderID Trader to alter + * @param status New status to use + * @param sessionID Session id + */ + setTraderUnlockedState(traderID: string, status: boolean, sessionID: string): void; + /** + * Get a list of items and their prices from player inventory that can be sold to a trader + * @param traderID trader id being traded with + * @param sessionID session id + * @returns IBarterScheme[][] + */ + getPurchasesData(traderID: string, sessionID: string): Record; + /** + * Should item be skipped when selling to trader according to its sell categories and other checks + * @param pmcData + * @param item + * @param sellCategory + * @returns true if should NOT be sold to trader + */ + protected isItemUnSellableToTrader(pmcData: IPmcData, item: Item, sellCategory: string[]): boolean; + /** + * Can this weapon be sold to a trader with its current durabiltiy level + * @param traderID + * @param item + * @returns boolean + */ + protected isWeaponAndBelowTraderBuyDurability(traderID: string, item: Item): boolean; + /** + * Get the price of an item and all of its attached children + * Take into account bonuses/adjsutments e.g. discounts + * @param pmcData profile data + * @param item item to calculate price of + * @param buyPriceCoefficient + * @param fenceInfo fence data + * @param traderBase trader details + * @param currencyTpl Currency to get price as + * @returns price of item + children + */ + protected getAdjustedItemPrice(pmcData: IPmcData, item: Item, buyPriceCoefficient: number, fenceInfo: FenceLevel, traderBase: ITraderBase, currencyTpl: string): number; + /** + * Get the raw price of item+child items from handbook without any modification + * @param pmcData profile data + * @param item item to calculate price of + * @returns price as number + */ + protected getRawItemPrice(pmcData: IPmcData, item: Item): number; + protected getTraderDiscount(trader: ITraderBase, buyPriceCoefficient: number, fenceInfo: FenceLevel, traderID: string): number; + /** + * Add standing to a trader and level them up if exp goes over level threshold + * @param sessionID Session id + * @param traderId traders id + * @param standingToAdd Standing value to add to trader + */ + addStandingToTrader(sessionID: string, traderId: string, standingToAdd: number): void; + /** + * Calculate traders level based on exp amount and increments level if over threshold + * @param traderID trader to process + * @param sessionID session id + */ + lvlUp(traderID: string, sessionID: string): void; + getTraderUpdateSeconds(traderId: string): number; + /** + * check if an item is allowed to be sold to a trader + * @param traderFilters array of allowed categories + * @param tplToCheck itemTpl of inventory + * @returns boolean + */ + traderFilter(traderFilters: string[], tplToCheck: string): boolean; + getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/UtilityHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/UtilityHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/UtilityHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/UtilityHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/WeightedRandomHelper.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/WeightedRandomHelper.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/WeightedRandomHelper.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/helpers/WeightedRandomHelper.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/BleedingEdgeEntry.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/BleedingEdgeEntry.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/BleedingEdgeEntry.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/BleedingEdgeEntry.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/Compiler.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/Compiler.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/Compiler.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/Compiler.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/DebugEntry.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/DebugEntry.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/DebugEntry.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/DebugEntry.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/ReleaseEntry.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/ReleaseEntry.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/ReleaseEntry.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/ReleaseEntry.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/TestEntry.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/TestEntry.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/ide/TestEntry.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/ide/TestEntry.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/BundleLoader.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/BundleLoader.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/BundleLoader.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/BundleLoader.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/DelayedModLoader.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/DelayedModLoader.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/DelayedModLoader.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/DelayedModLoader.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/InitialModLoader.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/InitialModLoader.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/InitialModLoader.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/InitialModLoader.d.ts diff --git a/KcY-SeeItemValue/itemValue/server/types/loaders/DelayedModLoader.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PostAkiModLoader.d.ts similarity index 80% rename from KcY-SeeItemValue/itemValue/server/types/loaders/DelayedModLoader.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PostAkiModLoader.d.ts index 2a05604..edc6e5d 100644 --- a/KcY-SeeItemValue/itemValue/server/types/loaders/DelayedModLoader.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PostAkiModLoader.d.ts @@ -4,14 +4,14 @@ import { IModLoader } from "../models/spt/mod/IModLoader"; import { ModCompilerService } from "../services/ModCompilerService"; import { VFS } from "../utils/VFS"; import { BundleLoader } from "./BundleLoader"; -import { InitialModLoader } from "./InitialModLoader"; -export declare class DelayedModLoader implements IModLoader { +import { PreAkiModLoader } from "./PreAkiModLoader"; +export declare class PostAkiModLoader implements IModLoader { protected bundleLoader: BundleLoader; protected handbookController: HandbookController; protected vfs: VFS; protected modCompilerService: ModCompilerService; - protected initialModLoader: InitialModLoader; - constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, initialModLoader: InitialModLoader); + protected preAkiModLoader: PreAkiModLoader; + constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, preAkiModLoader: PreAkiModLoader); getBundles(local: boolean): string; getBundle(key: string, local: boolean): void; getModPath(mod: string): string; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PostDBModLoader.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PostDBModLoader.d.ts new file mode 100644 index 0000000..5101b7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PostDBModLoader.d.ts @@ -0,0 +1,11 @@ +import { DependencyContainer } from "tsyringe"; +import { OnLoad } from "../di/OnLoad"; +import { PreAkiModLoader } from "./PreAkiModLoader"; +export declare class PostDBModLoader implements OnLoad { + protected preAkiModLoader: PreAkiModLoader; + constructor(preAkiModLoader: PreAkiModLoader); + onLoad(): void; + getRoute(): string; + getModPath(mod: string): string; + protected executeMods(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/loaders/InitialModLoader.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PreAkiModLoader.d.ts similarity index 96% rename from KcY-SeeItemValue/itemValue/server/types/loaders/InitialModLoader.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PreAkiModLoader.d.ts index 9a99dcc..6ded3c6 100644 --- a/KcY-SeeItemValue/itemValue/server/types/loaders/InitialModLoader.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/loaders/PreAkiModLoader.d.ts @@ -9,7 +9,7 @@ import { ModCompilerService } from "../services/ModCompilerService"; import { JsonUtil } from "../utils/JsonUtil"; import { VFS } from "../utils/VFS"; import { BundleLoader } from "./BundleLoader"; -export declare class InitialModLoader implements IModLoader { +export declare class PreAkiModLoader implements IModLoader { protected logger: ILogger; protected vfs: VFS; protected jsonUtil: JsonUtil; @@ -50,7 +50,7 @@ export declare class InitialModLoader implements IModLoader { * @param modToValidate package.json details * @returns boolean */ - protected isModSpt300Compatible(modFolderName: string, modToValidate: IPackageJsonData): boolean; + protected isModSpt3XXCompatible(modFolderName: string, modToValidate: IPackageJsonData): boolean; protected isModCombatibleWithAki(mod: IPackageJsonData): boolean; protected executeMods(container: DependencyContainer): void; sortModsLoadOrder(): string[]; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/bot/IGenerateBotsRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/bot/IGenerateBotsRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/bot/IGenerateBotsRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/bot/IGenerateBotsRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IEmptyRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IEmptyRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IEmptyRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IEmptyRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IGlobals.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IGlobals.d.ts similarity index 99% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IGlobals.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IGlobals.d.ts index 456895c..9d28dbc 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IGlobals.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IGlobals.d.ts @@ -1128,8 +1128,11 @@ export interface Inertia { SprintAccelerationLimits: xyz; SideTime: xyz; DiagonalTime: xyz; + MaxTimeWithoutInput: xyz; MinDirectionBlendTime: number; - MoveTime: number; + MoveTimeRange: xyz; + ProneDirectionAccelerationRange: xyz; + ProneSpeedAccelerationRange: xyz; MinMovementAccelerationRangeRight: xyz; MaxMovementAccelerationRangeRight: xyz; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocation.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocation.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocation.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocation.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationBase.d.ts similarity index 94% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationBase.d.ts index ad48d32..b1dd448 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationBase.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationBase.d.ts @@ -26,6 +26,7 @@ export interface ILocationBase { DisabledForScav: boolean; DisabledScavExits: string; Enabled: boolean; + EnableCoop: boolean; GlobalLootChanceModifier: number; IconX: number; IconY: number; @@ -41,6 +42,7 @@ export interface ILocationBase { MinDistToFreePoint: number; MinMaxBots: MinMaxBot[]; MinPlayers: number; + MaxCoopGroup: number; Name: string; NewSpawn: boolean; OcculsionCullingEnabled: boolean; @@ -48,6 +50,8 @@ export interface ILocationBase { OpenZones: string; Preview: Preview; RequiredPlayerLevel: number; + PmcMaxPlayersInGroup: number; + ScavMaxPlayersInGroup: number; Rules: string; SafeLocation: boolean; Scene: Scene; @@ -55,7 +59,8 @@ export interface ILocationBase { UnixDateTime: number; _Id: string; doors: any[]; - escape_time_limit: number; + EscapeTimeLimit: number; + EscapeTimeLimitCoop: number; exit_access_time: number; exit_count: number; exit_time: number; @@ -63,6 +68,7 @@ export interface ILocationBase { filter_ex: string[]; limits: ILimit[]; matching_min_seconds: number; + GenerateLocalLootCache: boolean; maxItemCountInLocation: MaxItemCountInLocation[]; sav_summon_seconds: number; tmp_location_field_remove_me: number; @@ -106,6 +112,7 @@ export interface BossLocationSpawn { BossName: string; BossPlayer: boolean; BossZone: string; + RandomTimeSpawn: boolean; Time: number; TriggerId: string; TriggerName: string; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationsSourceDestinationBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationsSourceDestinationBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationsSourceDestinationBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILocationsSourceDestinationBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILooseLoot.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILooseLoot.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILooseLoot.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/ILooseLoot.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IMetricsTableData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IMetricsTableData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IMetricsTableData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IMetricsTableData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IPmcData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IPmcData.d.ts similarity index 97% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IPmcData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IPmcData.d.ts index adc2aa5..56bf07f 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IPmcData.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/IPmcData.d.ts @@ -6,7 +6,7 @@ import { MemberCategory } from "../../enums/MemberCategory"; export interface IPmcData { _id: string; aid: string; - savage: string; + savage?: string; Info: Info; Customization: Customization; Health: Health; @@ -28,13 +28,6 @@ export interface IPmcData { 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; @@ -56,6 +49,9 @@ export interface Info { Bans: IBan[]; BannedState: boolean; BannedUntil: number; + NeedWipeOptions: any[]; + lastCompletedWipe: LastCompleted; + lastCompletedEvent?: LastCompleted; } export interface Settings { Role: string; @@ -339,3 +335,13 @@ export interface RagfairInfo { } export interface CarExtractCounts { } +export declare enum SurvivorClass { + Unknown = 0, + Neutralizer = 1, + Marauder = 2, + Paramedic = 3, + Survivor = 4 +} +export interface LastCompleted { + $oid: string; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/request/IBaseInteractionRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/request/IBaseInteractionRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/request/IBaseInteractionRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/request/IBaseInteractionRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotCore.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotCore.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotCore.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotCore.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotType.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotType.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotType.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IBotType.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ICustomizationItem.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ICustomizationItem.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ICustomizationItem.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ICustomizationItem.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IHandbookBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IHandbookBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IHandbookBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IHandbookBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IItem.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IItem.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IItem.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IItem.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILocationsBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILocationsBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILocationsBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILocationsBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILootBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILootBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILootBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ILootBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IMatch.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IMatch.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IMatch.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IMatch.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IProfileTemplate.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IProfileTemplate.d.ts new file mode 100644 index 0000000..fbcd81a --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IProfileTemplate.d.ts @@ -0,0 +1,25 @@ +import { Dialogue, WeaponBuild } from "../../profile/IAkiProfile"; +import { IPmcData } from "../IPmcData"; +export interface IProfileTemplates { + Standard: IProfileSides; + "Left Behind": IProfileSides; + "Prepare To Escape": IProfileSides; + "Edge Of Darkness": IProfileSides; +} +export interface IProfileSides { + usec: TemplateSide; + bear: TemplateSide; +} +export interface TemplateSide { + character: IPmcData; + suits: string[]; + dialogues: Record; + weaponbuilds: WeaponBuild[]; + trader: ProfileTraderTemplate; +} +export interface ProfileTraderTemplate { + initialLoyaltyLevel: number; + initialStanding: number; + initialSalesSum: number; + jaegerUnlocked: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IQuest.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IQuest.d.ts similarity index 94% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IQuest.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IQuest.d.ts index e1fc888..a349a6d 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IQuest.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IQuest.d.ts @@ -1,3 +1,4 @@ +import { QuestRewardType } from "../../../enums/QuestRewardType"; import { Item } from "./IItem"; export interface IQuest { QuestName: string; @@ -23,6 +24,7 @@ export interface IQuest { status: string; KeyQuest: boolean; changeQuestMessageText: string; + side: string; } export interface Conditions { Started: AvailableForConditions[]; @@ -56,6 +58,7 @@ export interface AvailableForProps { plantTime?: number; zoneId?: string; type?: boolean; + countInRaid?: boolean; } export interface AvailableForCounter { id: string; @@ -97,9 +100,9 @@ export interface Rewards { Expired: Reward[]; } export interface Reward { - value?: string; + value?: string | number; id: string; - type: string; + type: QuestRewardType; index: number; target?: string; items?: Item[]; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IRepeatableQuests.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IRepeatableQuests.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IRepeatableQuests.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/IRepeatableQuests.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITemplateItem.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITemplateItem.d.ts similarity index 98% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITemplateItem.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITemplateItem.d.ts index 934ea7d..23a1a14 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITemplateItem.d.ts @@ -50,6 +50,7 @@ export interface Props { UnlootableFromSide?: string[]; AnimationVariantsNumber?: number; DiscardingBlock?: boolean; + DropSoundType?: string; RagFairCommissionModifier?: number; IsAlwaysAvailableForInsurance?: boolean; DiscardLimit?: number; @@ -89,7 +90,7 @@ export interface Props { SightModesCount?: number; OpticCalibrationDistances?: number[]; ScopesCount?: number; - AimSensitivity: any; + AimSensitivity?: number | number[][]; Zooms?: number[][]; CalibrationDistances?: number[][]; Intensity?: number; @@ -200,6 +201,9 @@ export interface Props { MinRepairDegradation?: number; MaxRepairDegradation?: number; IronSightRange?: number; + IsFlareGun?: boolean; + IsGrenadeLauncher?: boolean; + IsOneoff?: boolean; MustBoltBeOpennedForExternalReload?: boolean; MustBoltBeOpennedForInternalReload?: boolean; BoltAction?: boolean; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITrader.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITrader.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITrader.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/common/tables/ITrader.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IBuyClothingRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IBuyClothingRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IBuyClothingRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IBuyClothingRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IWearClothingRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IWearClothingRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IWearClothingRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/customization/IWearClothingRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IFriendRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IFriendRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IFriendRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IFriendRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetAllAttachmentsResponse.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetChatServerListRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetChatServerListRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetChatServerListRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetChatServerListRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetFriendListDataResponse.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetFriendListDataResponse.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetFriendListDataResponse.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetFriendListDataResponse.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogInfoRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogListRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IPinDialogRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IPinDialogRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IPinDialogRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IPinDialogRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IRemoveDialogRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IRemoveDialogRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IRemoveDialogRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/IRemoveDialogRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISendMessageRequest.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISendMessageRequest.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISendMessageRequest.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISendMessageRequest.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISetDialogReadRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISetDialogReadRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISetDialogReadRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/dialog/ISetDialogReadRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameConfigResponse.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameConfigResponse.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameConfigResponse.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameConfigResponse.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameEmptyCrcRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameEmptyCrcRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameEmptyCrcRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IGameEmptyCrcRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IReportNicknameRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IReportNicknameRequestData.d.ts new file mode 100644 index 0000000..087c58b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IReportNicknameRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IReportNicknameRequestData { + uid: string; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IVersionValidateRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IVersionValidateRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IVersionValidateRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/game/IVersionValidateRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/Effect.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/Effect.d.ts new file mode 100644 index 0000000..2f0adac --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/Effect.d.ts @@ -0,0 +1,5 @@ +export declare enum Effect { + Fracture = "Fracture", + LightBleeding = "LightBleeding", + HeavyBleeding = "HeavyBleeding" +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IHealthTreatmentRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IHealthTreatmentRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IHealthTreatmentRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IHealthTreatmentRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidEatRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidEatRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidEatRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidEatRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidHealRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidHealRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidHealRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/IOffraidHealRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/ISyncHealthRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/ISyncHealthRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/ISyncHealthRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/health/ISyncHealthRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/HideoutUpgradeCompleteRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutArea.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutArea.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutArea.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutArea.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutContinousProductionStartRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutProduction.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutProduction.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutProduction.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutProduction.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutPutItemInRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutScavCaseStartRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSettingsBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSettingsBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSettingsBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSettingsBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutSingleProductionStartRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeItemOutRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutTakeProductionRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutToggleAreaRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeCompleteRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/hideout/IHideoutUpgradeRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/IGetBodyResponseData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/IGetBodyResponseData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/IGetBodyResponseData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/IGetBodyResponseData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/INullResponseData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/INullResponseData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/INullResponseData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/httpResponse/INullResponseData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/IRegisterPlayerRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/ISaveProgressRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/ISaveProgressRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/ISaveProgressRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inRaid/ISaveProgressRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts new file mode 100644 index 0000000..bf209c6 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts @@ -0,0 +1 @@ +export declare type IGetInsuranceCostResponseData = Record>; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IInsureRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IInsureRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IInsureRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/insurance/IInsureRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IAddItemRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IAddItemRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IAddItemRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IAddItemRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryAddRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryAddRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryAddRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryAddRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBaseActionRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBindRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBindRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBindRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryBindRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryCreateMarkerRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryDeleteMarkerRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryEditMarkerRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryExamineRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryExamineRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryExamineRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryExamineRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryFoldRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryFoldRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryFoldRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryFoldRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMergeRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMergeRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMergeRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMergeRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMoveRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMoveRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMoveRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryMoveRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryReadEncyclopediaRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryRemoveRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySortRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySortRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySortRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySortRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySplitRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySplitRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySplitRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySplitRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySwapRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySwapRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySwapRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventorySwapRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTagRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTagRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTagRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTagRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryToggleRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryToggleRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryToggleRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryToggleRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTransferRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTransferRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTransferRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/inventory/IInventoryTransferRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IEmptyItemEventRouterResponse.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterRequest.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/itemEvent/IItemEventRouterResponse.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IChangeRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IChangeRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IChangeRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IChangeRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IGetMiniProfileRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/ILoginRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/ILoginRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/ILoginRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/ILoginRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IMiniProfile.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IMiniProfile.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IMiniProfile.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IMiniProfile.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRegisterData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRegisterData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRegisterData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRegisterData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRemoveProfileData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRemoveProfileData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRemoveProfileData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/launcher/IRemoveProfileData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/location/IGetLocationRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/location/IGetLocationRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/location/IGetLocationRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/location/IGetLocationRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/ICreateGroupRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/ICreateGroupRequestData.d.ts new file mode 100644 index 0000000..7413a8a --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/ICreateGroupRequestData.d.ts @@ -0,0 +1,6 @@ +import { RaidMode } from "../../enums/RaidMode"; +export interface ICreateGroupRequestData { + location: string; + raidMode: RaidMode; + startInGroup: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IEndOfflineRaidRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IEndOfflineRaidRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IEndOfflineRaidRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IEndOfflineRaidRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetGroupStatusRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetGroupStatusRequestData.d.ts new file mode 100644 index 0000000..55d7079 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetGroupStatusRequestData.d.ts @@ -0,0 +1,9 @@ +import { RaidMode } from "../../enums/RaidMode"; +export interface IGetGroupStatusRequestData { + location: string; + savage: boolean; + dt: string; + keyId: string; + raidMode: RaidMode; + startInGroup: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetProfileRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetProfileRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetProfileRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IGetProfileRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IJoinMatchRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IJoinMatchRequestData.d.ts new file mode 100644 index 0000000..cd34f7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IJoinMatchRequestData.d.ts @@ -0,0 +1,12 @@ +export interface IJoinMatchRequestData { + location: string; + savage: boolean; + dt: string; + servers: Server[]; + keyId: string; +} +export interface Server { + ping: number; + ip: string; + port: string; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IJoinMatchResult.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IJoinMatchResult.d.ts new file mode 100644 index 0000000..df695f4 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IJoinMatchResult.d.ts @@ -0,0 +1,11 @@ +export interface IJoinMatchResult { + profileid: string; + status: string; + sid: string; + ip: string; + port: number; + version: string; + location: string; + gamemode: string; + shortid: string; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IPutMetricsRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IPutMetricsRequestData.d.ts new file mode 100644 index 0000000..d9ed214 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IPutMetricsRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IPutMetricsRequestData { + sid: string; + settings: any; + SharedSettings: any; + HardwareDescription: any; + Location: string; + Metrics: any; + ClientEvents: any; + SpikeSamples: any[]; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IStartOffineRaidRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IStartOffineRaidRequestData.d.ts similarity index 74% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IStartOffineRaidRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IStartOffineRaidRequestData.d.ts index 84bccc8..af0625e 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IStartOffineRaidRequestData.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IStartOffineRaidRequestData.d.ts @@ -1,6 +1,7 @@ +import { BotAmount } from "../../enums/BotAmount"; +import { BotDifficulty } from "../../enums/BotDifficulty"; export interface IStartOfflineRaidRequestData { locationName: string; - entryPoint: string; startTime: number; dateTime: string; gameSettings: GameSettings; @@ -17,11 +18,11 @@ export interface TimeAndWeatherSettings { export interface BotsSettings { isEnabled: boolean; isScavWars: boolean; - botAmount: string; + botAmount: BotAmount; } export interface WavesSettings { - botDifficulty: string; + botDifficulty: BotDifficulty; isBosses: boolean; isTaggedAndCursed: boolean; - wavesBotAmount: string; + wavesBotAmount: BotAmount; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IUpdatePingRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IUpdatePingRequestData.d.ts new file mode 100644 index 0000000..defbd66 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/match/IUpdatePingRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IUpdatePingRequestData { + servers: any[]; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notes/INoteActionData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notes/INoteActionData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notes/INoteActionData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notes/INoteActionData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/INotifier.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/INotifier.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/INotifier.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/INotifier.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/ISelectProfileRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/ISelectProfileRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/ISelectProfileRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/notifier/ISelectProfileRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/player/IPlayerIncrementSkillLevelRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/presetBuild/IPresetBuildActionRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/GetProfileStatusResponseData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/GetProfileStatusResponseData.d.ts new file mode 100644 index 0000000..eee9b4f --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/GetProfileStatusResponseData.d.ts @@ -0,0 +1,11 @@ +export interface GetProfileStatusResponseData { + maxPveCountExceeded: false; + profiles: ProfileData[]; +} +export interface ProfileData { + profileid: string; + status: string; + sid: string; + ip: string; + port: number; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IAkiProfile.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IAkiProfile.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IAkiProfile.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IAkiProfile.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeNicknameRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileChangeVoiceRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileCreateRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileCreateRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileCreateRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IProfileCreateRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendResponse.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendResponse.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendResponse.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/ISearchFriendResponse.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IValidateNicknameRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IValidateNicknameRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IValidateNicknameRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/profile/IValidateNicknameRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IAcceptQuestRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IAcceptQuestRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IAcceptQuestRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IAcceptQuestRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/ICompleteQuestRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/ICompleteQuestRequestData.d.ts similarity index 85% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/ICompleteQuestRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/ICompleteQuestRequestData.d.ts index cc67404..36a6db3 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/ICompleteQuestRequestData.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/ICompleteQuestRequestData.d.ts @@ -1,5 +1,6 @@ export interface ICompleteQuestRequestData { Action: string; + /** Quest Id */ qid: string; removeExcessItems: boolean; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IHandoverQuestRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IHandoverQuestRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IHandoverQuestRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IHandoverQuestRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IListQuestsRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IListQuestsRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IListQuestsRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IListQuestsRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/quests/IRepeatableQuestChangeRequest.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IAddOfferRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IAddOfferRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IAddOfferRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IAddOfferRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IExtendOfferRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IExtendOfferRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IExtendOfferRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IExtendOfferRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetItemPriceResult.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetItemPriceResult.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetItemPriceResult.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetItemPriceResult.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetMarketPriceRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetOffersResult.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetOffersResult.d.ts similarity index 80% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetOffersResult.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetOffersResult.d.ts index 1c11422..fbc631d 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetOffersResult.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IGetOffersResult.d.ts @@ -1,6 +1,6 @@ import { IRagfairOffer } from "./IRagfairOffer"; export interface IGetOffersResult { - categories: Record; + categories?: Record; offers: IRagfairOffer[]; offersCount: number; selectedCategory: string; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRagfairOffer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRagfairOffer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRagfairOffer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRagfairOffer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/IRemoveOfferRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISearchRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISearchRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISearchRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISearchRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts new file mode 100644 index 0000000..2d14d20 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISendRagfairReportRequestData { + offerId: number; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IBaseRepairActionDataRequest.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IRepairActionDataRequest.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IRepairActionDataRequest.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IRepairActionDataRequest.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/IRepairActionDataRequest.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/repair/ITraderRepairActionDataRequest.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBaseTradeRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessBuyTradeRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessRagfairTradeRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessSellTradeRequestData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessSellTradeRequestData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessSellTradeRequestData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/trade/IProcessSellTradeRequestData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/weather/IWeatherData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/weather/IWeatherData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/weather/IWeatherData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/weather/IWeatherData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/wishlist/IWishlistActionData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/wishlist/IWishlistActionData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/wishlist/IWishlistActionData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/eft/wishlist/IWishlistActionData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BaseClasses.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BaseClasses.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BaseClasses.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BaseClasses.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BotAmount.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BotAmount.d.ts new file mode 100644 index 0000000..d0e1df1 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BotAmount.d.ts @@ -0,0 +1,7 @@ +export declare enum BotAmount { + AsOnline = "AsOnline", + Low = "Low", + Medium = "Medium", + High = "High", + Horde = "Horde" +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BotDifficulty.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BotDifficulty.d.ts new file mode 100644 index 0000000..c901bcf --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/BotDifficulty.d.ts @@ -0,0 +1,8 @@ +export declare enum BotDifficulty { + AsOnline = "AsOnline", + Easy = "Easy", + Medium = "Medium", + Hard = "Hard", + Impossible = "Impossible", + Random = "Random" +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ConfigTypes.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ConfigTypes.d.ts similarity index 94% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ConfigTypes.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ConfigTypes.d.ts index 6bd31e8..1c49e62 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ConfigTypes.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ConfigTypes.d.ts @@ -8,6 +8,7 @@ export declare enum ConfigTypes { IN_RAID = "aki-inraid", INSURANCE = "aki-insurance", INVENTORY = "aki-inventory", + LOCALE = "aki-locale", LOCATION = "aki-location", MATCH = "aki-match", QUEST = "aki-quest", diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ELocationName.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ELocationName.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ELocationName.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/ELocationName.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/EquipmentSlots.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/EquipmentSlots.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/EquipmentSlots.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/EquipmentSlots.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/HideoutAreas.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/HideoutAreas.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/HideoutAreas.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/HideoutAreas.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MemberCategory.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MemberCategory.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MemberCategory.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MemberCategory.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MessageType.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MessageType.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MessageType.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/MessageType.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Money.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Money.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Money.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Money.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestRewardType.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestRewardType.d.ts new file mode 100644 index 0000000..1d3db86 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestRewardType.d.ts @@ -0,0 +1,8 @@ +export declare enum QuestRewardType { + Skill = "Skill", + Experience = "Experience", + TraderStanding = "TraderStanding", + TraderUnlock = "TraderUnlock", + Item = "Item", + AssortmentUnlock = "AssortmentUnlock" +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestStatus.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestStatus.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestStatus.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/QuestStatus.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/RaidMode.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/RaidMode.d.ts new file mode 100644 index 0000000..c5a8cff --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/RaidMode.d.ts @@ -0,0 +1,5 @@ +export declare enum RaidMode { + Online = "Online", + Local = "Local", + Coop = "Coop" +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Traders.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Traders.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Traders.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/enums/Traders.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPostAkiLoadMod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPostAkiLoadMod.d.ts new file mode 100644 index 0000000..f6950e8 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPostAkiLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPostAkiLoadMod { + postAkiLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPostDBLoadMod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPostDBLoadMod.d.ts new file mode 100644 index 0000000..ca7c682 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPostDBLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPostDBLoadMod { + postDBLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPreAkiLoadMod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPreAkiLoadMod.d.ts new file mode 100644 index 0000000..ae7579e --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/IPreAkiLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPreAkiLoadMod { + preAkiLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/mod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/mod.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/mod.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/mod.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/tsyringe.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/tsyringe.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/tsyringe.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/external/tsyringe.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bindings/Route.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bindings/Route.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bindings/Route.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bindings/Route.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bots/BotLootCache.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bots/BotLootCache.d.ts new file mode 100644 index 0000000..e185315 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/bots/BotLootCache.d.ts @@ -0,0 +1,23 @@ +import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; +export declare class BotLootCache { + backpackLoot: ITemplateItem[]; + pocketLoot: ITemplateItem[]; + vestLoot: ITemplateItem[]; + combinedPoolLoot: ITemplateItem[]; + specialItems: ITemplateItem[]; + healingItems: ITemplateItem[]; + drugItems: ITemplateItem[]; + stimItems: ITemplateItem[]; + grenadeItems: ITemplateItem[]; +} +export declare enum LootCacheType { + Special = "Special", + Backpack = "Backpack", + Pocket = "Pocket", + Vest = "Vest", + Combined = "Combined", + HealingItems = "HealingItems", + DrugItems = "DrugItems", + StimItems = "StimItems", + GrenadeItems = "GrenadeItems" +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBotCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBotCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBotCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBotCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBundleCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBundleCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBundleCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IBundleCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ICustomizationCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ICustomizationCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ICustomizationCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ICustomizationCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDataCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDataCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDataCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDataCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDialogueCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDialogueCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDialogueCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IDialogueCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IGameCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IGameCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IGameCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IGameCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHandbookCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHandbookCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHandbookCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHandbookCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHealthCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHealthCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHealthCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHealthCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHideoutCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHideoutCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHideoutCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHideoutCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHttpCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHttpCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHttpCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IHttpCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInraidCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInraidCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInraidCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInraidCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInsuranceCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInsuranceCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInsuranceCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInsuranceCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInventoryCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInventoryCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInventoryCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IInventoryCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IItemEventCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IItemEventCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IItemEventCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IItemEventCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILauncherCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILauncherCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILauncherCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILauncherCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILocationCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILocationCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILocationCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ILocationCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IMatchCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IMatchCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IMatchCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IMatchCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IModCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IModCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IModCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IModCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INoteCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INoteCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INoteCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INoteCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INotifierCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INotifierCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INotifierCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/INotifierCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetBuildCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IPresetCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IProfileCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IProfileCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IProfileCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IProfileCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IQuestCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IQuestCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IQuestCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IQuestCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRagfairCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRagfairCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRagfairCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRagfairCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRepairCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRepairCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRepairCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IRepairCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ISaveCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ISaveCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ISaveCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ISaveCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITradeCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITradeCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITradeCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITradeCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITraderCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITraderCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITraderCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/ITraderCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWeatherCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWeatherCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWeatherCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWeatherCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWishlistCallbacks.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWishlistCallbacks.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWishlistCallbacks.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/callbacks/IWishlistCallbacks.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IAirdropConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IAirdropConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IAirdropConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IAirdropConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBaseConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBaseConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBaseConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBaseConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBotConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBotConfig.d.ts similarity index 97% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBotConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBotConfig.d.ts index 5fb9d93..f8cf39b 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBotConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IBotConfig.d.ts @@ -18,6 +18,7 @@ export interface PresetBatch { bossKojaniy: number; bossSanitar: number; bossTagilla: number; + bossKnight: number; bossTest: number; cursedAssault: number; followerBully: number; @@ -28,6 +29,8 @@ export interface PresetBatch { followerKojaniy: number; followerSanitar: number; followerTagilla: number; + followerBirdEye: number; + followerBigPipe: number; followerTest: number; marksman: number; pmcBot: number; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ICoreConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ICoreConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ICoreConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ICoreConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHealthConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHealthConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHealthConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHealthConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHideoutConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHideoutConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHideoutConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHideoutConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHttpConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHttpConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHttpConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IHttpConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInRaidConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInRaidConfig.d.ts similarity index 95% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInRaidConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInRaidConfig.d.ts index baaf083..3ae2972 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInRaidConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInRaidConfig.d.ts @@ -14,6 +14,7 @@ export interface RaidMenuSettings { bossEnabled: boolean; scavWars: boolean; taggedAndCursed: boolean; + enablePve: boolean; } export interface Save { loot: boolean; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInsuranceConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInsuranceConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInsuranceConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInsuranceConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInventoryConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInventoryConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInventoryConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IInventoryConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocaleConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocaleConfig.d.ts new file mode 100644 index 0000000..fe9abf7 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocaleConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ILocaleConfig extends IBaseConfig { + kind: "aki-locale"; + desiredLocale: string; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocationConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocationConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocationConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ILocationConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IMatchConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IMatchConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IMatchConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IMatchConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IQuestConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IQuestConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IQuestConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IQuestConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRagfairConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRagfairConfig.d.ts similarity index 98% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRagfairConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRagfairConfig.d.ts index 2d151ca..8518252 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRagfairConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRagfairConfig.d.ts @@ -30,6 +30,7 @@ export interface Dynamic { expiredOfferThreshold: number; offerItemCount: MinMax; price: MinMax; + presetPrice: MinMax; endTimeSeconds: MinMax; condition: Condition; stackablePercent: MinMax; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRepairConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRepairConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRepairConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IRepairConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ITraderConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ITraderConfig.d.ts similarity index 59% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ITraderConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ITraderConfig.d.ts index dab73e3..c8e8044 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ITraderConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/ITraderConfig.d.ts @@ -3,13 +3,17 @@ export interface ITraderConfig extends IBaseConfig { kind: "aki-trader"; updateTime: UpdateTime[]; updateTimeDefault: number; - fenceAssortSize: number; - fenceMaxPresetsCount: number; - fencePresetPriceMult: number; + traderPriceMultipler: number; minDurabilityForSale: number; - fenceItemIgnoreList: string[]; + fence: FenceConfig; } export interface UpdateTime { traderId: string; seconds: number; } +export interface FenceConfig { + assortSize: number; + maxPresetsCount: number; + presetPriceMult: number; + blacklist: string[]; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IWeatherConfig.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IWeatherConfig.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IWeatherConfig.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/config/IWeatherConfig.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/controllers/IBotController.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/controllers/IBotController.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/controllers/IBotController.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/controllers/IBotController.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IBotGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IBotGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IBotGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IBotGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/ILocationGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/ILocationGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/ILocationGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/ILocationGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IPMCLootGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IPMCLootGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IPMCLootGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IPMCLootGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairAssortGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairAssortGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairAssortGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairAssortGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairOfferGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairOfferGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairOfferGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/generators/IRagfairOfferGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/LogBackgroundColor.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/LogBackgroundColor.d.ts new file mode 100644 index 0000000..87e08a9 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/LogBackgroundColor.d.ts @@ -0,0 +1,11 @@ +export declare enum LogBackgroundColor { + default = "", + black = "blackBG", + red = "redBG", + green = "greenBG", + yellow = "yellowBG", + blue = "blueBG", + magenta = "magentaBG", + cyan = "cyanBG", + white = "whiteBG" +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/LogTextColor.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/LogTextColor.d.ts new file mode 100644 index 0000000..7147ae3 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/LogTextColor.d.ts @@ -0,0 +1,11 @@ +export declare enum LogTextColor { + black = "black", + red = "red", + green = "green", + yellow = "yellow", + blue = "blue", + magenta = "magenta", + cyan = "cyan", + white = "white", + gray = "" +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/SptLogger.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/SptLogger.d.ts new file mode 100644 index 0000000..ea1b3d8 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/logging/SptLogger.d.ts @@ -0,0 +1,7 @@ +export interface SptLogger { + error: (msg: string | Record) => void; + warn: (msg: string | Record) => void; + succ?: (msg: string | Record) => void; + info: (msg: string | Record) => void; + debug: (msg: string | Record) => void; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IMod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IMod.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IMod.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IMod.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IModLoader.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IModLoader.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IModLoader.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IModLoader.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IPackageJsonData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IPackageJsonData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IPackageJsonData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/mod/IPackageJsonData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/ragfair/IRagfairServerPrices.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/ragfair/IRagfairServerPrices.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/ragfair/IRagfairServerPrices.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/ragfair/IRagfairServerPrices.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IDatabaseTables.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IDatabaseTables.d.ts similarity index 81% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IDatabaseTables.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IDatabaseTables.d.ts index e0d3fdd..9978459 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IDatabaseTables.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IDatabaseTables.d.ts @@ -6,6 +6,7 @@ import { ICustomizationItem } from "../../eft/common/tables/ICustomizationItem"; import { IHandbookBase } from "../../eft/common/tables/IHandbookBase"; import { ILootBase } from "../../eft/common/tables/ILootBase"; import { IMatch } from "../../eft/common/tables/IMatch"; +import { IProfileTemplates } from "../../eft/common/tables/IProfileTemplate"; import { IQuest } from "../../eft/common/tables/IQuest"; import { IRepeatableQuestDatabase } from "../../eft/common/tables/IRepeatableQuests"; import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; @@ -39,10 +40,13 @@ export interface IDatabaseTables { items: Record; quests: IQuest[]; repeatableQuests: IRepeatableQuestDatabase; + /** DEPRECATED - Items file found in the client, massivly out of date compared to templates.items, try not to use this, remove ASAP*/ clientItems: Record; handbook: IHandbookBase; customization: Record; - profiles: any; + /** The profile templates listed in the launcher on profile creation, split by account type (e.g. Standard) then side (e.g. bear/usec) */ + profiles: IProfileTemplates; + /** Flea prices of items - gathered from online flea market dump */ prices: Record; }; traders?: Record; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IHttpServer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IHttpServer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IHttpServer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IHttpServer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocaleBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocaleBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocaleBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocaleBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocations.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocations.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocations.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ILocations.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IServerBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IServerBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IServerBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/IServerBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ISettingsBase.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ISettingsBase.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ISettingsBase.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/server/ISettingsBase.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomPreset.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomPreset.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomPreset.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomPreset.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomTraderAssortData.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomTraderAssortData.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomTraderAssortData.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/services/CustomTraderAssortData.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IAsyncQueue.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IAsyncQueue.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IAsyncQueue.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IAsyncQueue.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ICommand.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ICommand.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ICommand.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ICommand.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ILogger.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ILogger.d.ts similarity index 59% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ILogger.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ILogger.d.ts index c983701..2af3fac 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ILogger.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/ILogger.d.ts @@ -1,7 +1,10 @@ import { Daum } from "../../eft/itemEvent/IItemEventRouterRequest"; +import { LogBackgroundColor } from "../logging/LogBackgroundColor"; +import { LogTextColor } from "../logging/LogTextColor"; export interface ILogger { writeToLogFile(data: string | Daum): void; - log(data: string | Record | Error, color: string): void; + log(data: string | Record | Error, color: string, backgroundColor?: string): void; + logWithColor(data: string | Record, textColor: LogTextColor, backgroundColor?: LogBackgroundColor): void; error(data: string): void; warning(data: string): void; success(data: string): void; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IUuidGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IUuidGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IUuidGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/models/spt/utils/IUuidGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/HttpRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/HttpRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/HttpRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/HttpRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ImageRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ImageRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ImageRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ImageRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/ItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BotDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BotDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BotDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BotDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BundleDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BundleDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BundleDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/BundleDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/CustomizationDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/CustomizationDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/CustomizationDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/CustomizationDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/DataDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/DataDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/DataDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/DataDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/HttpDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/HttpDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/HttpDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/HttpDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/InraidDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/InraidDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/InraidDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/InraidDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/LocationDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/LocationDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/LocationDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/LocationDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/NotifierDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/NotifierDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/NotifierDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/NotifierDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/TraderDynamicRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/TraderDynamicRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/TraderDynamicRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/dynamic/TraderDynamicRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/CustomizationItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/CustomizationItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/CustomizationItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/CustomizationItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HealthItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HealthItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HealthItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HealthItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HideoutItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HideoutItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HideoutItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/HideoutItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InsuranceItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InsuranceItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InsuranceItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InsuranceItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InventoryItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InventoryItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InventoryItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/InventoryItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/NoteItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/NoteItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/NoteItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/NoteItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/PresetBuildItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/PresetBuildItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/PresetBuildItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/PresetBuildItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/QuestItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/QuestItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/QuestItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/QuestItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RagfairItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RagfairItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RagfairItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RagfairItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RepairItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RepairItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RepairItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/RepairItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/TradeItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/TradeItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/TradeItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/TradeItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/WishlistItemEventRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/WishlistItemEventRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/WishlistItemEventRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/item_events/WishlistItemEventRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/HealthSaveLoadRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/HealthSaveLoadRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/HealthSaveLoadRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/HealthSaveLoadRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InraidSaveLoadRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InraidSaveLoadRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InraidSaveLoadRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InraidSaveLoadRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InsuranceSaveLoadRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InsuranceSaveLoadRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InsuranceSaveLoadRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/InsuranceSaveLoadRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/ProfileSaveLoadRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/ProfileSaveLoadRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/ProfileSaveLoadRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/save_load/ProfileSaveLoadRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/BundleSerializer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/BundleSerializer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/BundleSerializer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/BundleSerializer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/ImageSerializer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/ImageSerializer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/ImageSerializer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/ImageSerializer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/NotifySerializer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/NotifySerializer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/NotifySerializer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/serializers/NotifySerializer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BotStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BotStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BotStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BotStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BundleStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BundleStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BundleStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/BundleStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/CustomizationStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/CustomizationStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/CustomizationStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/CustomizationStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DataStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DataStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DataStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DataStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DialogStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DialogStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DialogStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/DialogStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/GameStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/GameStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/GameStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/GameStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/HealthStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/HealthStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/HealthStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/HealthStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InraidStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InraidStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InraidStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InraidStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InsuranceStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InsuranceStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InsuranceStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/InsuranceStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ItemEventStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ItemEventStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ItemEventStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ItemEventStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LauncherStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LauncherStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LauncherStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LauncherStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LocationStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LocationStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LocationStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/LocationStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/MatchStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/MatchStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/MatchStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/MatchStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/NotifierStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/NotifierStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/NotifierStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/NotifierStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/PresetStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/PresetStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/PresetStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/PresetStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ProfileStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ProfileStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ProfileStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/ProfileStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/QuestStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/QuestStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/QuestStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/QuestStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/RagfairStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/RagfairStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/RagfairStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/RagfairStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/TraderStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/TraderStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/TraderStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/TraderStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/WeatherStaticRouter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/WeatherStaticRouter.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/WeatherStaticRouter.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/routers/static/WeatherStaticRouter.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/ConfigServer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/ConfigServer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/ConfigServer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/ConfigServer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/DatabaseServer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/DatabaseServer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/DatabaseServer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/DatabaseServer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/HttpServer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/HttpServer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/HttpServer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/HttpServer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/RagfairServer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/RagfairServer.d.ts similarity index 92% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/RagfairServer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/RagfairServer.d.ts index 60c92b5..bc86cdb 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/RagfairServer.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/RagfairServer.d.ts @@ -17,7 +17,8 @@ export declare class RagfairServer { constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer); load(): void; update(): void; - getCategories(): Record; + getAllCategories(): Record; + getBespokeCategories(offers: IRagfairOffer[]): Record; /** * Disable/Hide an offer from flea * @param offerId diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/SaveServer.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/SaveServer.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/servers/SaveServer.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/servers/SaveServer.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/BotLootCacheService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/BotLootCacheService.d.ts new file mode 100644 index 0000000..72eb332 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/BotLootCacheService.d.ts @@ -0,0 +1,59 @@ +import { PMCLootGenerator } from "../generators/PMCLootGenerator"; +import { Items } from "../models/eft/common/tables/IBotType"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { BotLootCache, LootCacheType } from "../models/spt/bots/BotLootCache"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RagfairPriceService } from "./RagfairPriceService"; +export declare class BotLootCacheService { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected pmcLootGenerator: PMCLootGenerator; + protected ragfairPriceService: RagfairPriceService; + protected lootCache: Record; + constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, pmcLootGenerator: PMCLootGenerator, ragfairPriceService: RagfairPriceService); + /** + * Remove all cached bot loot data + */ + clearCache(): void; + /** + * Get the fully created loot array, ordered by price low to high + * @param botRole bot to get loot for + * @param isPmc is the bot a pmc + * @param lootType what type of loot is needed + * @param lootPool the full pool of loot (needed when cache is empty) + * @returns ITemplateItem array + */ + getLootFromCache(botRole: string, isPmc: boolean, lootType: LootCacheType, lootPool: Items): ITemplateItem[]; + /** + * Generate loot for a bot and store inside a private class property + * @param botRole + * @param lootType + * @param lootPool the full pool of loot we use to create the various sub-categories with + * @param isPmc + */ + protected addLootToCache(botRole: string, isPmc: boolean, lootType: LootCacheType, lootPool: Items): void; + /** + * Check if a bot type exists inside the loot cache + * @param botRole role to check for + * @returns true if they exist + */ + protected botRoleExistsInCache(botRole: string): boolean; + /** + * If lootcache is null, init with empty property arrays + * @param botRole Bot role to hydrate + */ + protected initCacheForBotRole(botRole: string): void; + /** + * Compares two item prices by their flea (or handbook if that doesnt exist) price + * -1 when a < b + * 0 when a === b + * 1 when a > b + * @param itemAPrice + * @param itemBPrice + * @returns + */ + protected compareByValue(itemAPrice: number, itemBPrice: number): number; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomHandbookItemService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomHandbookItemService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomHandbookItemService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomHandbookItemService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomItemService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomItemService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomItemService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomItemService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomTraderAssortService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomTraderAssortService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomTraderAssortService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/CustomTraderAssortService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/FenceService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/FenceService.d.ts similarity index 95% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/FenceService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/FenceService.d.ts index 12723fb..79058c6 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/FenceService.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/FenceService.d.ts @@ -29,8 +29,8 @@ export declare class FenceService { hasExpiredCache(refreshAssort: boolean): boolean; generateFenceAssortCache(pmcData: IPmcData): void; /** - * - * @param pmcData Get the fence level the passed in profile has + * Get the fence level the passed in profile has + * @param pmcData Player profile * @returns FenceLevel */ getFenceInfo(pmcData: IPmcData): FenceLevel; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/HashCacheService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/HashCacheService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/HashCacheService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/HashCacheService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/InsuranceService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/InsuranceService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/InsuranceService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/InsuranceService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/LocaleService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/LocaleService.d.ts new file mode 100644 index 0000000..33bea7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/LocaleService.d.ts @@ -0,0 +1,14 @@ +import { ILocaleConfig } from "../models/spt/config/ILocaleConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +export declare class LocaleService { + protected logger: ILogger; + protected configServer: ConfigServer; + protected localeConfig: ILocaleConfig; + constructor(logger: ILogger, configServer: ConfigServer); + /** + * Gets the locale key from the locale.json file + * @returns locale e.g en/ge/cz/cn + */ + getDesiredLocale(): string; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/MatchLocationService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/MatchLocationService.d.ts similarity index 58% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/MatchLocationService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/MatchLocationService.d.ts index 2b5fc0e..c027bec 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/MatchLocationService.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/MatchLocationService.d.ts @@ -1,8 +1,9 @@ +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { TimeUtil } from "../utils/TimeUtil"; export declare class MatchLocationService { protected timeUtil: TimeUtil; protected locations: {}; constructor(timeUtil: TimeUtil); - createGroup(sessionID: string, info: any): any; + createGroup(sessionID: string, info: ICreateGroupRequestData): any; deleteGroup(info: any): void; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/ModCompilerService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/ModCompilerService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/ModCompilerService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/ModCompilerService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/NotificationService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/NotificationService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/NotificationService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/NotificationService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/PaymentService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/PaymentService.d.ts similarity index 79% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/PaymentService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/PaymentService.d.ts index 5834750..a5e538f 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/PaymentService.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/PaymentService.d.ts @@ -45,5 +45,22 @@ export declare class PaymentService { * ancestor with slotId=hideout */ protected isItemInStash(pmcData: IPmcData, item: Item): boolean; + /** + * Remove currency from player stash/inventory + * @param pmcData Player profile to find and remove currency from + * @param currencyTpl Type of currency to pay + * @param amountToPay money value to pay + * @param sessionID Sessino id + * @param output output object to send to client + * @returns IItemEventRouterResponse + */ addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; + /** + * Prioritise player stash first over player inventory + * Post-raid healing would often take money out of the players pockets/secure container + * @param a Firsat money stack item + * @param b Second money stack item + * @returns sorted item + */ + protected moneySort(a: Item, b: Item): number; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/PlayerService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/PlayerService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/PlayerService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/PlayerService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/ProfileFixerService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/ProfileFixerService.d.ts new file mode 100644 index 0000000..313a907 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/ProfileFixerService.d.ts @@ -0,0 +1,40 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { Watermark } from "../utils/Watermark"; +export declare class ProfileFixerService { + protected logger: ILogger; + protected watermark: Watermark; + protected databaseServer: DatabaseServer; + constructor(logger: ILogger, watermark: Watermark, databaseServer: DatabaseServer); + /** + * Find issues in the pmc profile data that may cause issues and fix them + * @param pmcProfile profile to check and fix + */ + checkForAndFixPmcProfileIssues(pmcProfile: IPmcData): void; + /** + * Add tag to profile to indicate when it was made + * @param fullProfile + */ + addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; + /** + * TODO - make this non-public - currently used by RepeatableQuestController + * Remove unused condition counters + * @param pmcProfile profile to remove old counters from + */ + removeDanglingConditionCounters(pmcProfile: IPmcData): void; + protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; + protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; + protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; + protected addMissingBonusesProperty(pmcProfile: IPmcData): void; + protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; + protected addMissingWorkbenchWeaponSkills(pmcProfile: IPmcData): void; + /** + * In 18876 bsg changed the pockets tplid to be one that has 3 additional special slots + * @param pmcProfile + */ + protected updateProfilePocketsToNewId(pmcProfile: IPmcData): void; + addMissingArmorRepairSkill(pmcProfile: IPmcData): void; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairCategoriesService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairCategoriesService.d.ts new file mode 100644 index 0000000..83910e5 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairCategoriesService.d.ts @@ -0,0 +1,40 @@ +import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { ILogger } from "../models/spt/utils/ILogger"; +export declare class RagfairCategoriesService { + protected logger: ILogger; + protected categories: Record; + constructor(logger: ILogger); + /** + * Get all flea categories and their count of offers + * @returns item categories and count + */ + getAllCategories(): Record; + /** + * With the supplied items, get custom categories + * @returns a custom list of categories + */ + getBespokeCategories(offers: IRagfairOffer[]): Record; + /** + * Take an array of ragfair offers and create a dictionary of items with thier corrisponding offer count + * @param offers ragfair offers + * @returns categories and count + */ + protected processOffersIntoCategories(offers: IRagfairOffer[]): Record; + /** + * Increment or decrement a category array + * @param offer offer to process + * @param categories categories to update + * @param increment should item be incremented or decremented + */ + protected addOrIncrementCategory(offer: IRagfairOffer, categories: Record, increment?: boolean): void; + /** + * Increase category count by 1 + * @param offer + */ + incrementCategory(offer: IRagfairOffer): void; + /** + * Reduce category count by 1 + * @param offer + */ + decrementCategory(offer: IRagfairOffer): void; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairLinkedItemService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairLinkedItemService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairLinkedItemService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairLinkedItemService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairOfferService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairOfferService.d.ts similarity index 86% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairOfferService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairOfferService.d.ts index 7afbf8c..7398a8f 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairOfferService.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairOfferService.d.ts @@ -11,12 +11,14 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; +import { RagfairCategoriesService } from "./RagfairCategoriesService"; export declare class RagfairOfferService { protected logger: ILogger; protected timeUtil: TimeUtil; protected databaseServer: DatabaseServer; protected saveServer: SaveServer; protected ragfairServerHelper: RagfairServerHelper; + protected ragfairCategoriesService: RagfairCategoriesService; protected profileHelper: ProfileHelper; protected itemEventRouter: ItemEventRouter; protected httpResponse: HttpResponseUtil; @@ -26,12 +28,16 @@ export declare class RagfairOfferService { protected expiredOffers: Item[]; protected offers: IRagfairOffer[]; protected ragfairConfig: IRagfairConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, ragfairCategoriesService: RagfairCategoriesService, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); + /** + * Get all offers + * @returns IRagfairOffer array + */ getOffers(): IRagfairOffer[]; getOfferByOfferId(offerId: string): IRagfairOffer; getOffersOfType(templateId: string): IRagfairOffer[]; addOffer(offer: IRagfairOffer): void; - addOfferToExpired(offer: Item): void; + addOfferToExpired(staleOffer: IRagfairOffer): void; setTraderUpdateStatus(traderId: string, shouldUpdate: boolean): void; shouldTraderBeUpdated(traderID: string): boolean; getExpiredOfferCount(): number; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairPriceService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairPriceService.d.ts similarity index 64% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairPriceService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairPriceService.d.ts index 5256b99..e33bbb9 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairPriceService.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairPriceService.d.ts @@ -1,6 +1,7 @@ import { HandbookHelper } from "../helpers/HandbookHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; +import { Preset } from "../models/eft/common/IGlobals"; import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; @@ -28,5 +29,26 @@ export declare class RagfairPriceService { getFleaPriceForItem(tplId: string): number; getBarterPrice(barterScheme: IBarterScheme[]): number; getDynamicOfferPrice(items: Item[], desiredCurrency: string): number; + /** + * Multiply the price by a randomised curve where n = 2, shift = 2 + * @param existingPrice price to alter + * @param isPreset is the item we're multiplying a preset + * @returns multiplied price + */ + protected randomisePrice(existingPrice: number, isPreset: boolean): number; + /** + * Calculate the cost of a weapon preset by adding together the price of its mods + base price of default weapon preset + * @param item base weapon + * @param items weapon plus mods + * @param existingPrice price of existing base weapon + * @returns + */ getWeaponPresetPrice(item: Item, items: Item[], existingPrice: number): number; + /** + * Attempt to get the default preset for a weapon, failing that get the first preset in the array + * (assumes default = has encyclopedia entry) + * @param presets weapon presets to choose from + * @returns Default preset object + */ + protected getDefaultWeaponPreset(presets: Preset[], weapon: Item): Preset; } diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairRequiredItemsService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairRequiredItemsService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairRequiredItemsService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/RagfairRequiredItemsService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/TraderAssortService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/TraderAssortService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/TraderAssortService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/TraderAssortService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/customPresetService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/customPresetService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/customPresetService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/customPresetService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterMod.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/dynamicRouter/DynamicRouterModService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/image/imageRouteService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/image/imageRouteService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/image/imageRouteService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/image/imageRouteService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadMod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadMod.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadMod.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadMod.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadModService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadModService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadModService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onLoad/OnLoadModService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateMod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateMod.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateMod.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateMod.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateModService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateModService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateModService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/onUpdate/OnUpdateModService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterMod.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterMod.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterMod.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterMod.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterModService.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterModService.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterModService.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/services/mod/staticRouter/StaticRouterModService.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/App.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/App.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/App.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/App.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/AyncQueue.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/AyncQueue.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/AyncQueue.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/AyncQueue.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/DatabaseImporter.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/DatabaseImporter.d.ts new file mode 100644 index 0000000..483e135 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/DatabaseImporter.d.ts @@ -0,0 +1,24 @@ +import { OnLoad } from "../di/OnLoad"; +import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ImageRouter } from "../routers/ImageRouter"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "./JsonUtil"; +import { VFS } from "./VFS"; +export declare class DatabaseImporter extends OnLoad { + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected imageRouter: ImageRouter; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, imageRouter: ImageRouter); + onLoad(): void; + /** + * Read all json files in database folder and map into a json object + * @param filepath path to database folder + */ + protected hydrateDatabase(filepath: string): void; + getRoute(): string; + loadRecursive(filepath: string): IDatabaseTables; + loadImages(filepath: string): void; +} diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HashUtil.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HashUtil.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HashUtil.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HashUtil.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HttpResponseUtil.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HttpResponseUtil.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HttpResponseUtil.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/HttpResponseUtil.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/JsonUtil.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/JsonUtil.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/JsonUtil.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/JsonUtil.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Logger.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Logger.d.ts similarity index 67% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Logger.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Logger.d.ts index f5b774b..3d9013f 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Logger.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Logger.d.ts @@ -1,17 +1,13 @@ /// -import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; -import { ILogger } from "../models/spt/utils/ILogger"; -import winston from "winston"; -import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; -import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; import fs from "fs"; -interface SptLogger { - error: (msg: string | Record) => void; - warn: (msg: string | Record) => void; - succ?: (msg: string | Record) => void; - info: (msg: string | Record) => void; - debug: (msg: string | Record) => void; -} +import winston from "winston"; +import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { LogBackgroundColor } from "../models/spt/logging/LogBackgroundColor"; +import { LogTextColor } from "../models/spt/logging/LogTextColor"; +import { SptLogger } from "../models/spt/logging/SptLogger"; +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; export declare class WinstonLogger implements ILogger { protected asyncQueue: IAsyncQueue; protected uuidGenerator: IUUidGenerator; @@ -36,16 +32,27 @@ export declare class WinstonLogger implements ILogger { custom: string; debug: string; }; + bgColors: { + default: string; + blackBG: string; + redBG: string; + greenBG: string; + yellowBG: string; + blueBG: string; + magentaBG: string; + cyanBG: string; + whiteBG: string; + }; }; protected logger: winston.Logger & SptLogger; - writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; + protected 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; + log(data: string | Error | Record, color: string, backgroundColor?: string): Promise; error(data: string | Record): Promise; warning(data: string | Record): Promise; success(data: string | Record): Promise; info(data: string | Record): Promise; + logWithColor(data: string | Record, textColor: LogTextColor, backgroundColor?: LogBackgroundColor): Promise; debug(data: string | Record, onlyShowInConsole?: boolean): Promise; } -export {}; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/MathUtil.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/MathUtil.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/MathUtil.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/MathUtil.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/ObjectId.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/ObjectId.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/ObjectId.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/ObjectId.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/RandomUtil.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/RandomUtil.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/RandomUtil.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/RandomUtil.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/TimeUtil.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/TimeUtil.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/TimeUtil.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/TimeUtil.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/UUidGenerator.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/UUidGenerator.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/UUidGenerator.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/UUidGenerator.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/VFS.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/VFS.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/VFS.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/VFS.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Watermark.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Watermark.d.ts similarity index 83% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Watermark.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Watermark.d.ts index 111bdd0..c6dc120 100644 --- a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Watermark.d.ts +++ b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/Watermark.d.ts @@ -28,7 +28,12 @@ export declare class Watermark { protected text: string[]; protected versionLabel: string; initialize(): void; - getVersionTag(): string; + /** + * Get a version string (x.x.x) or (x.x.x-BLEEDINGEDGE) OR (X.X.X (18xxx)) + * @param withEftVersion Include the eft version this spt version was made for + * @returns string + */ + getVersionTag(withEftVersion?: boolean): string; getVersionLabel(): string; /** Set window title */ setTitle(): void; diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/Singleton.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/Singleton.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/Singleton.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/Singleton.d.ts diff --git a/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/constructor.d.ts b/KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/constructor.d.ts similarity index 100% rename from KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.5/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/constructor.d.ts rename to KcY-SeeItemValue/itemValue/Built/KcY-SeeItemValue 1.3.6/user/mods/KcY-SeeItemValue 1.3.5/types/utils/decorators/constructor.d.ts diff --git a/KcY-SeeItemValue/itemValue/Patches.cs b/KcY-SeeItemValue/itemValue/Patches.cs index cb5e18d..b6f3e25 100644 --- a/KcY-SeeItemValue/itemValue/Patches.cs +++ b/KcY-SeeItemValue/itemValue/Patches.cs @@ -3,10 +3,10 @@ using System.Reflection; using Aki.Reflection.Patching; using EFT.InventoryLogic; using Ammo = BulletClass; -using Grenade = GClass2089; -using GrenadeTemplate = GClass1983; -using SecureContainer = GClass2035; -using SecureContainerTemplate = GClass1944; +using Grenade = GClass2174; +using GrenadeTemplate = GClass2067; +using SecureContainer = GClass2120; +using SecureContainerTemplate = GClass2028; namespace itemValueMod { diff --git a/KcY-SeeItemValue/itemValue/itemValueMod.cs b/KcY-SeeItemValue/itemValue/itemValueMod.cs index 168af3a..4ad6ec8 100644 --- a/KcY-SeeItemValue/itemValue/itemValueMod.cs +++ b/KcY-SeeItemValue/itemValue/itemValueMod.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using UnityEngine; using System.Reflection; -using ItemAttribute = GClass2100; +using ItemAttribute = GClass2185; namespace itemValueMod { @@ -114,21 +114,21 @@ namespace itemValueMod var foodDrink = item.GetItemComponent(); if (foodDrink != null && foodDrink.HpPercent != 0) { - GInterface202 ginterface202_0 = (GInterface202)foodDrink.GetType().GetField("ginterface202_0", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(foodDrink); + GInterface208 ginterface208_0 = (GInterface208)foodDrink.GetType().GetField("ginterface208_0", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(foodDrink); - editedPrice *= foodDrink.HpPercent / ginterface202_0.MaxResource; + editedPrice *= foodDrink.HpPercent / ginterface208_0.MaxResource; Debug.LogError($" FoodDrinkComponent: {editedPrice}"); } var keys = item.GetItemComponent(); if (keys != null) { - GInterface206 ginterface206_0 = (GInterface206)keys.GetType().GetField("Template", BindingFlags.Public | BindingFlags.Instance).GetValue(keys); + GInterface212 ginterface212_0 = (GInterface212)keys.GetType().GetField("Template", BindingFlags.Public | BindingFlags.Instance).GetValue(keys); if (keys.NumberOfUsages > 0) { - double totalMinusUsed = Convert.ToDouble(ginterface206_0.MaximumNumberOfUsage - keys.NumberOfUsages); - double multi = totalMinusUsed / ginterface206_0.MaximumNumberOfUsage; + double totalMinusUsed = Convert.ToDouble(ginterface212_0.MaximumNumberOfUsage - keys.NumberOfUsages); + double multi = totalMinusUsed / ginterface212_0.MaximumNumberOfUsage; editedPrice *= multi; Debug.LogError($" KeyComponent: {editedPrice}"); diff --git a/KcY-SeeItemValue/itemValue/itemValueMod.csproj b/KcY-SeeItemValue/itemValue/itemValueMod.csproj index b2bf84c..aaf274c 100644 --- a/KcY-SeeItemValue/itemValue/itemValueMod.csproj +++ b/KcY-SeeItemValue/itemValue/itemValueMod.csproj @@ -17,7 +17,7 @@ ..\..\Shared\AKI\Aki.Reflection.dll - ..\..\..\..\..\..\1. AKI\3.0.0\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll + ..\..\Shared\EFT\Assembly-CSharp.dll ..\..\Shared\BepInEx\BepInEx.dll diff --git a/KcY-SeeItemValue/itemValue/server/dist/src/mod.ts b/KcY-SeeItemValue/itemValue/server/dist/src/mod.ts index fb01647..2f697fa 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/src/mod.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/src/mod.ts @@ -107,12 +107,12 @@ class SeeItemValue implements IMod const result = { multiplier: 1, price: this.livePrice[id], - originalMax: this.getOrigiDura(id) + originalMax: 1 }; if (typeof result != "undefined") { this.debugMode("Config setting false for traders - returning livePrice AVG", "yellow"); - return result; + return result } } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/GameCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/GameCallbacks.d.ts index d5cad76..06da1b5 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/GameCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/GameCallbacks.d.ts @@ -2,6 +2,7 @@ import { GameController } from "../controllers/GameController"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData"; +import { IReportNicknameRequestData } from "../models/eft/game/IReportNicknameRequestData"; import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; @@ -20,5 +21,6 @@ declare class GameCallbacks { validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getVersion(url: string, info: IEmptyRequestData, sessionID: string): string; + reportNickname(url: string, info: IReportNicknameRequestData, sessionID: string): INullResponseData; } export { GameCallbacks }; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/HealthCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/HealthCallbacks.d.ts index 8f7b89d..8672be7 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/HealthCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/HealthCallbacks.d.ts @@ -13,6 +13,13 @@ export declare class HealthCallbacks { protected profileHelper: ProfileHelper; protected healthController: HealthController; constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); + /** + * Custom aki server request found in modules/HealthSynchronizer.cs + * @param url + * @param info HealthListener.Instance.CurrentHealth class + * @param sessionID session id + * @returns empty response, no data sent back to client + */ syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/InsuranceCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/InsuranceCallbacks.d.ts index 520d0eb..6819960 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/InsuranceCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/InsuranceCallbacks.d.ts @@ -3,6 +3,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; @@ -17,7 +18,7 @@ export declare class InsuranceCallbacks extends OnLoadOnUpdate { protected insuranceConfig: IInsuranceConfig; constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer); onLoad(): void; - getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData; + 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/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/MatchCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/MatchCallbacks.d.ts index 083c1f5..2a92ef5 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/MatchCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/MatchCallbacks.d.ts @@ -1,10 +1,17 @@ import { MatchController } from "../controllers/MatchController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; +import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; +import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; @@ -14,21 +21,21 @@ export declare class MatchCallbacks { protected matchController: MatchController; protected databaseServer: 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; + updatePing(url: string, info: IUpdatePingRequestData, sessionID: string): INullResponseData; + exitMatch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + stopGroupSearch(url: string, info: IEmptyRequestData, 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; + putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData; getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData; - serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; - joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData; + serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; + joinMatch(url: string, info: IJoinMatchRequestData, 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; + getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData; + createGroup(url: string, info: ICreateGroupRequestData, 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/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/ModCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/ModCallbacks.d.ts index 866abf7..58342dc 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/ModCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/ModCallbacks.d.ts @@ -1,5 +1,5 @@ import { OnLoad } from "../di/OnLoad"; -import { DelayedModLoader } from "../loaders/DelayedModLoader"; +import { PostAkiModLoader } from "../loaders/PostAkiModLoader"; import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; @@ -9,10 +9,10 @@ declare class ModCallbacks extends OnLoad { protected logger: ILogger; protected httpResponse: HttpResponseUtil; protected httpServer: IHttpServer; - protected modLoader: DelayedModLoader; + protected postAkiModLoader: PostAkiModLoader; protected configServer: ConfigServer; protected httpConfig: IHttpConfig; - constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); + constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, postAkiModLoader: PostAkiModLoader, configServer: ConfigServer); onLoad(): void; getRoute(): string; sendBundle(sessionID: string, req: any, resp: any, body: any): void; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/PresetBuildCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/PresetBuildCallbacks.d.ts index 8a0c155..541715a 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/PresetBuildCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/PresetBuildCallbacks.d.ts @@ -1,4 +1,5 @@ import { PresetBuildController } from "../controllers/PresetBuildController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; @@ -9,7 +10,7 @@ export declare class PresetBuildCallbacks { protected httpResponse: HttpResponseUtil; protected presetBuildController: PresetBuildController; constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController); - getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; + getHandbookUserlist(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/ProfileCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/ProfileCallbacks.d.ts index 116e7c5..6a86fc0 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/ProfileCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/ProfileCallbacks.d.ts @@ -3,6 +3,7 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData"; +import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData"; import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; @@ -23,7 +24,14 @@ export declare class ProfileCallbacks { 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; + /** + * Called when creating a character, when you choose a character face/voice + * @param url + * @param info response (empty) + * @param sessionID + * @returns + */ + 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/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/RagfairCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/RagfairCallbacks.d.ts index d5bab8b..3a405c9 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/RagfairCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/callbacks/RagfairCallbacks.d.ts @@ -9,8 +9,10 @@ import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; +import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { ISendRagfairReportRequestData } from "../models/eft/ragfair/ISendRagfairReportRequestData"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; @@ -28,12 +30,12 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate { 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; + 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; - sendReport(url: string, info: any, sessionID: string): INullResponseData; + sendReport(url: string, info: ISendRagfairReportRequestData, sessionID: string): INullResponseData; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/GameController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/GameController.d.ts index 7f632d6..85ec418 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/GameController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/GameController.d.ts @@ -1,33 +1,28 @@ -import { GameHelper } from "../helpers/GameHelper"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; +import { LocaleService } from "../services/LocaleService"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { Watermark } from "../utils/Watermark"; export declare class GameController { protected logger: ILogger; protected watermark: Watermark; protected httpServerHelper: HttpServerHelper; + protected localeService: LocaleService; protected profileHelper: ProfileHelper; - protected gameHelper: GameHelper; + protected profileFixerService: ProfileFixerService; protected configServer: ConfigServer; protected httpConfig: IHttpConfig; - constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, configServer: ConfigServer); + protected coreConfig: ICoreConfig; + constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, localeService: LocaleService, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, configServer: ConfigServer); gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void; - protected addMissingBonusesProperty(pmcProfile: IPmcData): void; - protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; - protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void; - protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; - protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void; - protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; - protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; + protected logProfileDetails(fullProfile: IAkiProfile): void; getGameConfig(sessionID: string): IGameConfigResponse; getServer(): any[]; - protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/HealthController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/HealthController.d.ts index aafb8df..cc13603 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/HealthController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/HealthController.d.ts @@ -18,8 +18,29 @@ export declare class HealthController { protected inventoryHelper: InventoryHelper; protected healthHelper: HealthHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper); - saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + /** + * stores in-raid player health + * @param pmcData Player profile + * @param info Request data + * @param sessionID + * @param addEffects Should effects found be added or removed from profile + */ + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void; + /** + * When healing in menu + * @param pmcData + * @param body + * @param sessionID + * @returns + */ offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Occurs on post-raid healing page + * @param pmcData player profile + * @param info Request data from client + * @param sessionID Session id + * @returns + */ healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/InsuranceController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/InsuranceController.d.ts index db2c567..af45442 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/InsuranceController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/InsuranceController.d.ts @@ -3,6 +3,7 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; @@ -33,6 +34,12 @@ export declare class InsuranceController { insuranceService: InsuranceService, configServer: ConfigServer); processReturn(): void; insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse; - cost(info: IGetInsuranceCostRequestData, sessionID: string): any; + /** + * Calculate insurance cost + * @param info request object + * @param sessionID session id + * @returns response object to send to client + */ + cost(info: IGetInsuranceCostRequestData, sessionID: string): IGetInsuranceCostResponseData; doAbsolutelyNothing(): void; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/InventoryController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/InventoryController.d.ts index b732aa9..f57f731 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/InventoryController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/InventoryController.d.ts @@ -24,6 +24,8 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { FenceService } from "../services/FenceService"; +import { RagfairOfferService } from "../services/RagfairOfferService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InventoryController { @@ -31,12 +33,14 @@ export declare class InventoryController { protected hashUtil: HashUtil; protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; + protected fenceService: FenceService; protected presetHelper: PresetHelper; protected inventoryHelper: InventoryHelper; + protected ragfairOfferService: RagfairOfferService; protected profileHelper: ProfileHelper; protected paymentHelper: PaymentHelper; protected itemEventRouter: ItemEventRouter; - constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, fenceService: FenceService, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, ragfairOfferService: RagfairOfferService, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); /** * Move Item * change location of item with parentId and slotId @@ -93,9 +97,19 @@ export declare class InventoryController { tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; /** - * Handles examining of the item * + * Handles examining an item + * @param pmcData player profile + * @param body request object + * @param sessionID session id + * @returns response */ examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Get the tplid of an item from the examine request object + * @param body response request + * @returns tplid + */ + protected getExaminedItemTpl(body: IInventoryExamineRequestData): string; readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; /** * Handles sorting of Inventory. diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/MatchController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/MatchController.d.ts index c322d96..0851ab0 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/MatchController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/MatchController.d.ts @@ -1,30 +1,36 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; +import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { IMatchConfig } from "../models/spt/config/IMatchConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { MatchLocationService } from "../services/MatchLocationService"; export declare class MatchController { protected saveServer: SaveServer; protected profileHelper: ProfileHelper; protected matchLocationService: MatchLocationService; protected traderHelper: TraderHelper; + protected botLootCacheService: BotLootCacheService; protected configServer: ConfigServer; protected matchConfig: IMatchConfig; protected inraidConfig: IInRaidConfig; - constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); + constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer); getEnabled(): boolean; getProfile(info: IGetProfileRequestData): IPmcData[]; - protected getMatch(location: any): any; - createGroup(sessionID: string, info: any): any; + createGroup(sessionID: string, info: ICreateGroupRequestData): any; deleteGroup(info: any): void; - joinMatch(info: any, sessionID: string): any[]; - getGroupStatus(info: any): any; + joinMatch(info: IJoinMatchRequestData, sessionID: string): IJoinMatchResult[]; + protected getMatch(location: string): any; + getGroupStatus(info: IGetGroupStatusRequestData): any; startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void; endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/ProfileController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/ProfileController.d.ts index 9b7a6d5..b40bb7d 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/ProfileController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/ProfileController.d.ts @@ -11,6 +11,7 @@ import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendRespon import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileController { @@ -19,13 +20,20 @@ export declare class ProfileController { protected saveServer: SaveServer; protected databaseServer: DatabaseServer; protected itemHelper: ItemHelper; + protected profileFixerService: ProfileFixerService; protected traderHelper: TraderHelper; protected extendedProfileHelper: ExtendedProfileHelper; - constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); + constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileFixerService: ProfileFixerService, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); getMiniProfiles(): IMiniProfile[]; getMiniProfile(sessionID: string): any; getCompleteProfile(sessionID: string): IPmcData[]; createProfile(info: IProfileCreateRequestData, sessionID: string): void; + /** + * Generate a player scav object + * pmc profile MUST exist first before pscav can be generated + * @param sessionID + * @returns IPmcData object + */ generatePlayerScav(sessionID: string): IPmcData; validateNickname(info: IValidateNicknameRequestData, sessionID: string): string; changeNickname(info: IProfileChangeNicknameRequestData, sessionID: string): string; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/QuestController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/QuestController.d.ts index c00cd6d..2cbccfb 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/QuestController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/QuestController.d.ts @@ -14,6 +14,7 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; import { PlayerService } from "../services/PlayerService"; import { TimeUtil } from "../utils/TimeUtil"; export declare class QuestController { @@ -27,9 +28,10 @@ export declare class QuestController { protected questHelper: QuestHelper; protected questConditionHelper: QuestConditionHelper; protected playerService: PlayerService; + protected localeService: LocaleService; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, configServer: ConfigServer); /** * Get all quests visible to player * Exclude quests with incomplete preconditions (level/loyalty) diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/RagfairController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/RagfairController.d.ts index c758593..c4ffc15 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/RagfairController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/RagfairController.d.ts @@ -60,6 +60,8 @@ export declare class RagfairController { protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer); getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult; + protected isLinkedSearch(info: ISearchRequestData): boolean; + protected isRequiredSearch(info: ISearchRequestData): boolean; update(): void; getItemPrice(info: IGetMarketPriceRequestData): IGetItemPriceResult; addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/RepeatableQuestController.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/RepeatableQuestController.d.ts index 9aa9590..2bb2aa9 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/controllers/RepeatableQuestController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/controllers/RepeatableQuestController.d.ts @@ -1,4 +1,3 @@ -import { GameHelper } from "../helpers/GameHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; @@ -16,6 +15,7 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { PaymentService } from "../services/PaymentService"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { JsonUtil } from "../utils/JsonUtil"; import { MathUtil } from "../utils/MathUtil"; import { ObjectId } from "../utils/ObjectId"; @@ -58,14 +58,14 @@ export declare class RepeatableQuestController { protected itemHelper: ItemHelper; protected presetHelper: PresetHelper; protected profileHelper: ProfileHelper; - protected gameHelper: GameHelper; + protected profileFixerService: ProfileFixerService; protected ragfairServerHelper: RagfairServerHelper; protected itemEventRouter: ItemEventRouter; protected paymentService: PaymentService; protected objectId: ObjectId; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, 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. diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotGenerator.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotGenerator.d.ts index 88a8014..28f05a9 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotGenerator.d.ts @@ -31,16 +31,54 @@ export declare class BotGenerator { protected botConfig: IBotConfig; 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[]; + /** + * Choose if a bot should become a Pmc by checking if bot type is allowed to become a Pmc in bot config + * @param isPlayerScav is a player scav being generated, forces choice returned to never be a pmc + */ + protected shouldBotBePmc(isPlayerScav: boolean, role: string): boolean; + /** + * Get a randomised PMC side based on bot config value 'isUsec' + * @returns pmc side as string + */ + protected getRandomisedPmcSide(): string; + /** + * Get a clone of the database\bots\base.json file + * @returns IBotBase object + */ + protected getCloneOfBotBase(): IBotBase; protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase; + /** + * Log the number of PMCs generated to the debug console + */ + protected logPmcGeneratedCount(output: IBotBase[]): void; protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult; - /** Converts health object to the required format */ + /** + * Converts health object to the required format + * @param healthObj health object from bot json + * @param playerScav Is a pscav bot being generated + * @returns PmcHealth object + */ protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth; protected generateSkills(skillsObj: Skills): Skills; + /** + * Convert from pmc side (usec/bear) to the side as defined in the bot config (usecType/bearType) + * @param pmcSide eft side (usec/bear) + * @returns pmc side as defined in config + */ protected getPmcRole(pmcSide: string): string; + /** + * Iterate through bots inventory and loot to find and remove christmas items (as defined in GameEventHelper) + * @param nodeInventory Bots inventory to iterate over + */ protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void; protected generateId(bot: IBotBase): IBotBase; protected generateInventoryID(profile: IBotBase): IBotBase; protected getPMCDifficulty(requestedDifficulty: string): string; + /** + * Add a side-specific (usec/bear) dogtag item to a bots inventory + * @param bot bot to add dogtag to + * @returns Bot with dogtag added + */ protected generateDogtag(bot: IBotBase): IBotBase; } export {}; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotLootGenerator.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotLootGenerator.d.ts index 1d91836..2295f51 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotLootGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotLootGenerator.d.ts @@ -1,29 +1,27 @@ -import { PMCLootGenerator } from "../generators/PMCLootGenerator"; import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { HandbookHelper } from "../helpers/HandbookHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotLootGenerator { - protected jsonUtil: JsonUtil; + protected logger: ILogger; protected hashUtil: HashUtil; protected randomUtil: RandomUtil; protected databaseServer: DatabaseServer; protected handbookHelper: HandbookHelper; protected botGeneratorHelper: BotGeneratorHelper; - protected pmcLootGenerator: PMCLootGenerator; + protected botLootCacheService: BotLootCacheService; protected configServer: ConfigServer; protected botConfig: IBotConfig; - 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; + constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer); + generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, botRole: string, inventory: PmcInventory): void; protected getRandomisedCount(min: number, max: number, nValue: number): number; protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void; - /** Compares two item templates by their price to spawn chance ratio */ - protected compareByValue(a: ITemplateItem, b: ITemplateItem): number; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotWeaponGenerator.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotWeaponGenerator.d.ts index a43b18c..80dc37c 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotWeaponGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/generators/BotWeaponGenerator.d.ts @@ -9,7 +9,9 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; +import { JsonUtil } from "../utils/JsonUtil"; export declare class BotWeaponGenerator { + protected jsonUtil: JsonUtil; protected logger: ILogger; protected hashUtil: HashUtil; protected databaseServer: DatabaseServer; @@ -18,7 +20,7 @@ export declare class BotWeaponGenerator { protected botGeneratorHelper: BotGeneratorHelper; protected randomUtil: RandomUtil; private readonly modMagazineSlotId; - constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); + constructor(jsonUtil: JsonUtil, logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; /** * Get the mods necessary to kit out a weapon to its preset level @@ -41,6 +43,13 @@ export declare class BotWeaponGenerator { * @returns */ protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void; + /** + * Get a randomised number of bullets for a specific magazine + * @param magCounts min and max count of magazines + * @param magTemplate magazine to generate bullet count for + * @returns bullet count number + */ + protected getRandomisedBulletCount(magCounts: MinMax, magTemplate: ITemplateItem): number; /** * Get a randomised count of magazines * @param magCounts min and max value returned value can be between diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/generators/RagfairOfferGenerator.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/generators/RagfairOfferGenerator.d.ts index de53ea9..3e7f4cc 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/generators/RagfairOfferGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/generators/RagfairOfferGenerator.d.ts @@ -11,6 +11,7 @@ import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { FenceService } from "../services/FenceService"; +import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { RagfairPriceService } from "../services/RagfairPriceService"; import { HashUtil } from "../utils/HashUtil"; @@ -31,11 +32,12 @@ export declare class RagfairOfferGenerator { protected ragfairAssortGenerator: RagfairAssortGenerator; protected ragfairOfferService: RagfairOfferService; protected ragfairPriceService: RagfairPriceService; + protected ragfairCategoriesService: RagfairCategoriesService; protected fenceService: FenceService; protected itemHelper: ItemHelper; protected configServer: ConfigServer; protected ragfairConfig: IRagfairConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, ragfairCategoriesService: RagfairCategoriesService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; protected getTraderId(userID: string): string; protected getRating(userID: string): number; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/BotGeneratorHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/BotGeneratorHelper.d.ts index e4b0c11..243e7a8 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/BotGeneratorHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/BotGeneratorHelper.d.ts @@ -29,6 +29,12 @@ export declare class BotGeneratorHelper { protected botConfig: IBotConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, probabilityHelper: ProbabilityHelper, 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[]; + /** + * Is this magazine cylinder related (revolvers and grenade launchers) + * @param magazineParentName the name of the magazines parent + * @returns true if it is cylinder related + */ + magazineIsCylinderRelated(magazineParentName: string): boolean; /** * Get a list of non black-listed cartridges from the PMC bot config * @param modSlot mod item slot @@ -69,6 +75,12 @@ export declare class BotGeneratorHelper { * @param {object} parentTemplate The CylinderMagazine's template */ protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void; + /** + * Take a record of camoras and merge the compatable shells into one array + * @param camorasWithShells camoras we want to merge into one array + * @returns string array of shells fro luitple camora sources + */ + protected mergeCamoraPoolsTogether(camorasWithShells: Record): string[]; generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { upd?: Upd; }; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ExtendedProfileHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ExtendedProfileHelper.d.ts index d8b754d..c05d88e 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ExtendedProfileHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ExtendedProfileHelper.d.ts @@ -2,15 +2,20 @@ import { BotGenerator } from "../generators/BotGenerator"; import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { FenceService } from "../services/FenceService"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; import { Watermark } from "../utils/Watermark"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; +/** + * This class needs to exist outside of ProfileHelper to ensure cyclic deps don't cause the server to fail on load + */ export declare class ExtendedProfileHelper extends ProfileHelper { + protected botLootCacheService: BotLootCacheService; protected botGenerator: BotGenerator; - constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator); + constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, botLootCacheService: BotLootCacheService, fenceService: FenceService, botGenerator: BotGenerator); generatePlayerScav(sessionID: string): IPmcData; protected getScavSkills(sessionID: string): Skills; protected removeSecureContainer(profile: IPmcData): IPmcData; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/HealthHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/HealthHelper.d.ts index 518c23f..3116c9c 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/HealthHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/HealthHelper.d.ts @@ -15,13 +15,37 @@ export declare class HealthHelper { protected configServer: ConfigServer; protected healthConfig: IHealthConfig; constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); + /** + * Resets the profiles vitality/healh and vitality/effects properties to their defaults + * @param sessionID Session Id + * @returns updated profile + */ resetVitality(sessionID: string): IAkiProfile; - saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + /** + * Update player profile with changes from request object + * @param pmcData Player profile + * @param info Request object + * @param sessionID Session id + * @param addEffects Should effects be added or removed (default - add) + */ + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void; protected saveHealth(pmcData: IPmcData, sessionID: string): void; - protected saveEffects(pmcData: IPmcData, sessionID: string): void; - protected addEffect(pmcData: IPmcData, sessionID: string, effect: { - bodyPart: string; - effectType: string; - }): void; + /** + * Save effects to profile + * Works by removing all effects and adding them back from profile + * Remoces empty 'Effects' objects if found + * @param pmcData Player profile + * @param sessionID Session id + * @param addEffects Should effects be added back to profile + * @returns + */ + protected saveEffects(pmcData: IPmcData, sessionID: string, addEffects: boolean): void; + /** + * Add effect to body part in profile + * @param pmcData Player profile + * @param effectBodyPart body part to edit + * @param effectType Effect to add to body part + */ + protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: string): void; protected isEmpty(map: any): boolean; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/InRaidHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/InRaidHelper.d.ts index 05b6fdf..58e0f6a 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/InRaidHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/InRaidHelper.d.ts @@ -28,6 +28,18 @@ export declare class InRaidHelper { markFoundItems(pmcData: IPmcData, profile: IPmcData, isPlayerScav: boolean): IPmcData; removeFoundInRaidStatusFromItems(profile: IPmcData): IPmcData; setInventory(sessionID: string, pmcData: IPmcData, profile: IPmcData): IPmcData; + /** + * Clear pmc inventory of all items except those that are exempt + * @param pmcData Player profile + * @param sessionID Session id + * @returns Player profile with pmc inventory cleared + */ deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData; + /** + * Does the provided items slotId mean its kept on the player after death + * @param slotId slotid of item to check + * @returns true if item is kept after death + */ + isItemKeptAfterDeath(slotId: string): boolean; getPlayerGear(items: Item[]): Item[]; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ItemHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ItemHelper.d.ts index 70c88d6..4e0eba4 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ItemHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ItemHelper.d.ts @@ -1,5 +1,5 @@ import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; +import { Item, Repairable } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -18,7 +18,7 @@ declare class ItemHelper { */ 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 + * Checks if an id is a valid item. Valid meaning that it's an item that may be a reward * or content of bot loot. Items that are tested as valid may be in a player backpack or stash. * @param {*} tpl template id of item to check * @returns boolean: true if item is valid reward @@ -83,26 +83,76 @@ declare class ItemHelper { * @returns {array} The array of StackSlotItems */ generateItemsFromStackSlot(item: ITemplateItem, parentId: string): Item[]; + /** + * Gets item data from items.json + * @param tpl items template id to look up + * @returns bool - is valid + template item object as array + */ getItem(tpl: string): [boolean, ITemplateItem]; + /** + * get normalized value (0-1) based on item condition + * @param item + * @returns number between 0 and 1 + */ getItemQualityModifier(item: Item): number; + /** + * Get a quality value based on a repairable items (weapon/armor) current state between current and max durability + * @param itemDetails + * @param repairable repairable object + * @param item + * @returns a number between 0 and 1 + */ + protected getRepairableItemQualityValue(itemDetails: ITemplateItem, repairable: Repairable, item: Item): number; + /** + * Recursive function that looks at every item from parameter and gets their childrens Ids + * @param items + * @param itemID + * @returns an array of strings + */ findAndReturnChildrenByItems(items: Item[], itemID: string): string[]; /** * A variant of findAndReturnChildren where the output is list of item objects instead of their ids. + * @param items + * @param baseItemId + * @returns An array of Item objects */ findAndReturnChildrenAsItems(items: Item[], baseItemId: string): Item[]; /** - * find children of the item in a given assort (weapons parts for example, need recursive loop function) + * Find children of the item in a given assort (weapons parts for example, need recursive loop function) + * @param itemIdToFind Template id of item to check for + * @param assort Array of items to check in + * @returns Array of children of requested item */ findAndReturnChildrenByAssort(itemIdToFind: string, assort: Item[]): Item[]; + /** + * Check if the passed in item has buy count restrictions + * @param itemToCheck Item to check + * @returns true if it has buy restrictions + */ 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 + * is the passed in template id a dog tag + * @param tpl Template id to check + * @returns true if it is a dogtag */ isDogtag(tpl: string): boolean; + /** + * Can the item passed in be sold to a trader because it is raw money + * @param tpl Item template id to check + * @returns true if unsellable + */ isNotSellable(tpl: string): boolean; + /** + * Gets the identifier for a child using slotId, locationX and locationY. + * @param item + * @returns "slotId OR slotid,locationX,locationY" + */ getChildId(item: Item): string; + /** + * Can the pased in item be stacked + * @param tpl item to check + * @returns true if it can be stacked + */ isItemTplStackable(tpl: string): boolean; /** * split item stack if it exceeds StackMaxSize @@ -112,15 +162,17 @@ declare class ItemHelper { * Find Barter items in the inventory * @param {string} by * @param {Object} pmcData - * @param {string} barter_itemID - * @returns Array + * @param {string} barterItemId + * @returns Array of Item objects */ - findBarterItems(by: string, pmcData: IPmcData, barter_itemID: string): any[]; + findBarterItems(by: string, pmcData: IPmcData, barterItemId: string): Item[]; /** - * @param {Object} pmcData - * @param {Array} items - * @param {Object} fastPanel - * @returns Array + * + * @param pmcData + * @param items + * @param insuredItems insured items to not replace ids for + * @param fastPanel + * @returns */ replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[]; /** @@ -136,6 +188,12 @@ declare class ItemHelper { * @returns boolean */ isQuestItem(tpl: string): boolean; + /** + * Get the inventory size of an item + * @param items + * @param rootItemId + * @returns ItemSize object (width and height) + */ getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize; } declare namespace ItemHelper { diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/PresetHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/PresetHelper.d.ts index 0371886..a469582 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/PresetHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/PresetHelper.d.ts @@ -1,9 +1,11 @@ import { Preset } from "../models/eft/common/IGlobals"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; export declare class PresetHelper { + protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; protected lookup: Record; - constructor(databaseServer: DatabaseServer); + constructor(jsonUtil: JsonUtil, databaseServer: DatabaseServer); hydratePresetStore(input: Record): void; isPreset(id: string): boolean; hasPreset(templateId: string): boolean; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ProfileHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ProfileHelper.d.ts index 6a64291..b369000 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ProfileHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/ProfileHelper.d.ts @@ -20,6 +20,12 @@ export declare class ProfileHelper { resetProfileQuestCondition(sessionID: string, conditionId: string): void; getCompleteProfile(sessionID: string): IPmcData[]; isNicknameTaken(info: IValidateNicknameRequestData, sessionID: string): boolean; + /** + * Add experience to a PMC inside the players profile + * @param sessionID Session id + * @param experienceToAdd Experiecne to add to PMC character + */ + addExperienceToPmc(sessionID: string, experienceToAdd: number): void; getProfileByPmcId(pmcId: string): IPmcData; getExperience(level: number): number; getMaxLevel(): number; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/QuestHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/QuestHelper.d.ts index 04ede16..0b10135 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/QuestHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/QuestHelper.d.ts @@ -8,6 +8,7 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; @@ -25,6 +26,7 @@ export declare class QuestHelper { protected itemHelper: ItemHelper; protected itemEventRouter: ItemEventRouter; protected databaseServer: DatabaseServer; + protected localeService: LocaleService; protected ragfairServerHelper: RagfairServerHelper; protected dialogueHelper: DialogueHelper; protected profileHelper: ProfileHelper; @@ -32,7 +34,7 @@ export declare class QuestHelper { protected traderHelper: TraderHelper; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); + constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); static get STATUS(): Record; questStatus(pmcData: IPmcData, questID: string): string; /** @@ -73,8 +75,22 @@ export declare class QuestHelper { */ cleanQuestConditions(quest: IQuest): IQuest; failQuest(pmcData: IPmcData, body: any, sessionID: string): any; + /** + * Get quest by id from database + * @param questId questid to look for + * @param pmcData player profile + * @returns IQuest object + */ getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; - getQuestLocaleIdFromDb(messageId: string, localisation?: string): string; + getQuestLocaleIdFromDb(messageId: string): string; + /** + * Give player quest rewards - Skills/exp/trader standing/items/assort unlocks + * @param pmcData Player profile + * @param body complete quest request + * @param state State of the quest now its complete + * @param sessionID Seession id + * @returns array of reward objects + */ applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): Reward[]; /** * Get the intel center bonus a player has diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairOfferHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairOfferHelper.d.ts index 129bc1c..5a77e13 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairOfferHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairOfferHelper.d.ts @@ -10,6 +10,7 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { LocaleService } from "../services/LocaleService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; @@ -37,11 +38,12 @@ export declare class RagfairOfferHelper { protected ragfairSortHelper: RagfairSortHelper; protected ragfairHelper: RagfairHelper; protected ragfairOfferService: RagfairOfferService; + protected localeService: LocaleService; protected configServer: ConfigServer; protected static TPL_GOODS_SOLD: string; protected ragfairConfig: IRagfairConfig; protected questConfig: IQuestConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, localeService: LocaleService, 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; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairServerHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairServerHelper.d.ts index 2cb3ea5..a52306b 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairServerHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairServerHelper.d.ts @@ -1,11 +1,12 @@ -import { MemberCategory } from "../models/enums/MemberCategory"; import { Item } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { MemberCategory } from "../models/enums/MemberCategory"; import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { LocaleService } from "../services/LocaleService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; @@ -19,13 +20,14 @@ export declare class RagfairServerHelper { protected databaseServer: DatabaseServer; protected profileHelper: ProfileHelper; protected itemHelper: ItemHelper; + protected localeService: LocaleService; protected dialogueHelper: DialogueHelper; protected jsonUtil: JsonUtil; protected configServer: ConfigServer; protected ragfairConfig: IRagfairConfig; protected questConfig: IQuestConfig; protected static TPL_GOODS_RETURNED: string; - constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); + constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, localeService: LocaleService, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); /** * Is item valid / on blacklist / quest item * @param itemDetails diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairSortHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairSortHelper.d.ts index e983569..d20e10c 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairSortHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/RagfairSortHelper.d.ts @@ -1,8 +1,10 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; export declare class RagfairSortHelper { protected databaseServer: DatabaseServer; - constructor(databaseServer: DatabaseServer); + protected localeService: LocaleService; + constructor(databaseServer: DatabaseServer, localeService: LocaleService); sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; protected sortOffersByID(a: IRagfairOffer, b: IRagfairOffer): number; protected sortOffersByRating(a: IRagfairOffer, b: IRagfairOffer): number; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/TraderAssortHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/TraderAssortHelper.d.ts index 4f41ac2..91ba6b9 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/TraderAssortHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/TraderAssortHelper.d.ts @@ -2,24 +2,32 @@ import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; import { Item } from "../models/eft/common/tables/IItem"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { FenceService } from "../services/FenceService"; import { TraderAssortService } from "../services/TraderAssortService"; import { JsonUtil } from "../utils/JsonUtil"; +import { MathUtil } from "../utils/MathUtil"; import { AssortHelper } from "./AssortHelper"; +import { PaymentHelper } from "./PaymentHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderAssortHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; + protected mathUtil: MathUtil; protected databaseServer: DatabaseServer; protected profileHelper: ProfileHelper; protected assortHelper: AssortHelper; + protected paymentHelper: PaymentHelper; protected ragfairAssortGenerator: RagfairAssortGenerator; protected ragfairOfferGenerator: RagfairOfferGenerator; protected traderAssortService: TraderAssortService; protected fenceService: FenceService; - constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); + protected configServer: ConfigServer; + protected traderConfig: ITraderConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, mathUtil: MathUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, paymentHelper: PaymentHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService, configServer: ConfigServer); /** * Get a traders assorts * Can be used for returning ragfair / fence assorts @@ -29,7 +37,12 @@ export declare class TraderAssortHelper { */ getAssort(sessionId: string, traderId: string): ITraderAssort; /** - * Get an array of pristine trader items prior to any alteration by player + * Iterate over all assorts barter_scheme values, find barters selling for money and multiply by multipler in config + * @param traderAssort Assorts to multiple price of + */ + protected multiplyItemPricesByConfigMultipler(traderAssort: ITraderAssort): void; + /** + * Get an array of pristine trader items prior to any alteration by player (as they were on server start) * @param traderId trader id * @returns array of Items */ diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/TraderHelper.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/TraderHelper.d.ts index ab4a371..b2e9d38 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/helpers/TraderHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/helpers/TraderHelper.d.ts @@ -1,4 +1,6 @@ +import { FenceLevel } from "../models/eft/common/IGlobals"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme, ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; @@ -27,16 +29,70 @@ export declare class TraderHelper { getTrader(traderID: string, sessionID: string): ITraderBase; getTraderAssortsById(traderId: string): ITraderAssort; /** - * Reset a trader back to its initial state as seen by a level 1 player + * Reset a profiles trader data back to its initial state as seen by a level 1 player * Does NOT take into account different profile levels * @param sessionID session id * @param traderID trader id to reset */ resetTrader(sessionID: string, traderID: string): void; - changeTraderDisplay(traderID: string, status: boolean, sessionID: string): void; + /** + * Alter a traders unlocked status + * @param traderID Trader to alter + * @param status New status to use + * @param sessionID Session id + */ + setTraderUnlockedState(traderID: string, status: boolean, sessionID: string): void; + /** + * Get a list of items and their prices from player inventory that can be sold to a trader + * @param traderID trader id being traded with + * @param sessionID session id + * @returns IBarterScheme[][] + */ getPurchasesData(traderID: string, sessionID: string): Record; /** - * Calculate traders level based on exp amount and increment level if over threshold + * Should item be skipped when selling to trader according to its sell categories and other checks + * @param pmcData + * @param item + * @param sellCategory + * @returns true if should NOT be sold to trader + */ + protected isItemUnSellableToTrader(pmcData: IPmcData, item: Item, sellCategory: string[]): boolean; + /** + * Can this weapon be sold to a trader with its current durabiltiy level + * @param traderID + * @param item + * @returns boolean + */ + protected isWeaponAndBelowTraderBuyDurability(traderID: string, item: Item): boolean; + /** + * Get the price of an item and all of its attached children + * Take into account bonuses/adjsutments e.g. discounts + * @param pmcData profile data + * @param item item to calculate price of + * @param buyPriceCoefficient + * @param fenceInfo fence data + * @param traderBase trader details + * @param currencyTpl Currency to get price as + * @returns price of item + children + */ + protected getAdjustedItemPrice(pmcData: IPmcData, item: Item, buyPriceCoefficient: number, fenceInfo: FenceLevel, traderBase: ITraderBase, currencyTpl: string): number; + /** + * Get the raw price of item+child items from handbook without any modification + * @param pmcData profile data + * @param item item to calculate price of + * @returns price as number + */ + protected getRawItemPrice(pmcData: IPmcData, item: Item): number; + protected getTraderDiscount(trader: ITraderBase, buyPriceCoefficient: number, fenceInfo: FenceLevel, traderID: string): number; + /** + * Add standing to a trader and level them up if exp goes over level threshold + * @param sessionID Session id + * @param traderId traders id + * @param standingToAdd Standing value to add to trader + */ + addStandingToTrader(sessionID: string, traderId: string, standingToAdd: number): void; + /** + * Calculate traders level based on exp amount and increments level if over threshold * @param traderID trader to process * @param sessionID session id */ diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PostAkiModLoader.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PostAkiModLoader.d.ts new file mode 100644 index 0000000..edc6e5d --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PostAkiModLoader.d.ts @@ -0,0 +1,21 @@ +import { DependencyContainer } from "tsyringe"; +import { HandbookController } from "../controllers/HandbookController"; +import { IModLoader } from "../models/spt/mod/IModLoader"; +import { ModCompilerService } from "../services/ModCompilerService"; +import { VFS } from "../utils/VFS"; +import { BundleLoader } from "./BundleLoader"; +import { PreAkiModLoader } from "./PreAkiModLoader"; +export declare class PostAkiModLoader implements IModLoader { + protected bundleLoader: BundleLoader; + protected handbookController: HandbookController; + protected vfs: VFS; + protected modCompilerService: ModCompilerService; + protected preAkiModLoader: PreAkiModLoader; + constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, preAkiModLoader: PreAkiModLoader); + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + getModPath(mod: string): string; + load(): void; + protected executeMods(container: DependencyContainer): void; + protected addBundles(): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PostDBModLoader.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PostDBModLoader.d.ts new file mode 100644 index 0000000..5101b7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PostDBModLoader.d.ts @@ -0,0 +1,11 @@ +import { DependencyContainer } from "tsyringe"; +import { OnLoad } from "../di/OnLoad"; +import { PreAkiModLoader } from "./PreAkiModLoader"; +export declare class PostDBModLoader implements OnLoad { + protected preAkiModLoader: PreAkiModLoader; + constructor(preAkiModLoader: PreAkiModLoader); + onLoad(): void; + getRoute(): string; + getModPath(mod: string): string; + protected executeMods(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PreAkiModLoader.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PreAkiModLoader.d.ts new file mode 100644 index 0000000..6ded3c6 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/loaders/PreAkiModLoader.d.ts @@ -0,0 +1,64 @@ +import { DependencyContainer } from "tsyringe"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; +import { ModLoader } from "../models/spt/mod/IMod"; +import { IModLoader } from "../models/spt/mod/IModLoader"; +import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ModCompilerService } from "../services/ModCompilerService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +import { BundleLoader } from "./BundleLoader"; +export declare class PreAkiModLoader implements IModLoader { + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected modCompilerService: ModCompilerService; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected static container: DependencyContainer; + protected readonly basepath = "user/mods/"; + protected imported: Record; + protected akiConfig: ICoreConfig; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, bundleLoader: BundleLoader, configServer: ConfigServer); + load(container: DependencyContainer): Promise; + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + /** + * Returns a list of mods with preserved load order + * @returns Array of mod names in load order + */ + getImportedModsNames(): string[]; + getModPath(mod: string): string; + protected importClass(name: string, filepath: string, container: DependencyContainer): void; + protected importMods(): Promise; + /** + * + * @param mods Get an array of broken/invalid mods by name + * @returns Mod names array + */ + protected getBrokenMods(mods: string[]): string[]; + /** + * Get packageJson data for mods + * @param mods mods to get packageJson for + * @returns dictionary + */ + protected getModsPackageData(mods: string[]): Record; + /** + * Does mod have "delayedLoad(" string in its entry class + * @param modFolderName folder name + * @param modToValidate package.json details + * @returns boolean + */ + protected isModSpt3XXCompatible(modFolderName: string, modToValidate: IPackageJsonData): boolean; + protected isModCombatibleWithAki(mod: IPackageJsonData): boolean; + protected executeMods(container: DependencyContainer): void; + sortModsLoadOrder(): string[]; + protected addMod(mod: string): Promise; + protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Record): boolean; + protected isModCompatible(mod: IPackageJsonData, loadedMods: Record): boolean; + protected validMod(mod: string): boolean; + protected getLoadOrderRecursive(mod: string, result: Record, visited: Record): void; + protected getLoadOrder(mods: Record): Record; + getContainer(): DependencyContainer; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/IGlobals.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/IGlobals.d.ts index 456895c..9d28dbc 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/IGlobals.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/IGlobals.d.ts @@ -1128,8 +1128,11 @@ export interface Inertia { SprintAccelerationLimits: xyz; SideTime: xyz; DiagonalTime: xyz; + MaxTimeWithoutInput: xyz; MinDirectionBlendTime: number; - MoveTime: number; + MoveTimeRange: xyz; + ProneDirectionAccelerationRange: xyz; + ProneSpeedAccelerationRange: xyz; MinMovementAccelerationRangeRight: xyz; MaxMovementAccelerationRangeRight: xyz; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/ILocationBase.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/ILocationBase.d.ts index ad48d32..b1dd448 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/ILocationBase.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/ILocationBase.d.ts @@ -26,6 +26,7 @@ export interface ILocationBase { DisabledForScav: boolean; DisabledScavExits: string; Enabled: boolean; + EnableCoop: boolean; GlobalLootChanceModifier: number; IconX: number; IconY: number; @@ -41,6 +42,7 @@ export interface ILocationBase { MinDistToFreePoint: number; MinMaxBots: MinMaxBot[]; MinPlayers: number; + MaxCoopGroup: number; Name: string; NewSpawn: boolean; OcculsionCullingEnabled: boolean; @@ -48,6 +50,8 @@ export interface ILocationBase { OpenZones: string; Preview: Preview; RequiredPlayerLevel: number; + PmcMaxPlayersInGroup: number; + ScavMaxPlayersInGroup: number; Rules: string; SafeLocation: boolean; Scene: Scene; @@ -55,7 +59,8 @@ export interface ILocationBase { UnixDateTime: number; _Id: string; doors: any[]; - escape_time_limit: number; + EscapeTimeLimit: number; + EscapeTimeLimitCoop: number; exit_access_time: number; exit_count: number; exit_time: number; @@ -63,6 +68,7 @@ export interface ILocationBase { filter_ex: string[]; limits: ILimit[]; matching_min_seconds: number; + GenerateLocalLootCache: boolean; maxItemCountInLocation: MaxItemCountInLocation[]; sav_summon_seconds: number; tmp_location_field_remove_me: number; @@ -106,6 +112,7 @@ export interface BossLocationSpawn { BossName: string; BossPlayer: boolean; BossZone: string; + RandomTimeSpawn: boolean; Time: number; TriggerId: string; TriggerName: string; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/IPmcData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/IPmcData.d.ts index adc2aa5..56bf07f 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/IPmcData.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/IPmcData.d.ts @@ -6,7 +6,7 @@ import { MemberCategory } from "../../enums/MemberCategory"; export interface IPmcData { _id: string; aid: string; - savage: string; + savage?: string; Info: Info; Customization: Customization; Health: Health; @@ -28,13 +28,6 @@ export interface IPmcData { 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; @@ -56,6 +49,9 @@ export interface Info { Bans: IBan[]; BannedState: boolean; BannedUntil: number; + NeedWipeOptions: any[]; + lastCompletedWipe: LastCompleted; + lastCompletedEvent?: LastCompleted; } export interface Settings { Role: string; @@ -339,3 +335,13 @@ export interface RagfairInfo { } export interface CarExtractCounts { } +export declare enum SurvivorClass { + Unknown = 0, + Neutralizer = 1, + Marauder = 2, + Paramedic = 3, + Survivor = 4 +} +export interface LastCompleted { + $oid: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/IProfileTemplate.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/IProfileTemplate.d.ts new file mode 100644 index 0000000..fbcd81a --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/IProfileTemplate.d.ts @@ -0,0 +1,25 @@ +import { Dialogue, WeaponBuild } from "../../profile/IAkiProfile"; +import { IPmcData } from "../IPmcData"; +export interface IProfileTemplates { + Standard: IProfileSides; + "Left Behind": IProfileSides; + "Prepare To Escape": IProfileSides; + "Edge Of Darkness": IProfileSides; +} +export interface IProfileSides { + usec: TemplateSide; + bear: TemplateSide; +} +export interface TemplateSide { + character: IPmcData; + suits: string[]; + dialogues: Record; + weaponbuilds: WeaponBuild[]; + trader: ProfileTraderTemplate; +} +export interface ProfileTraderTemplate { + initialLoyaltyLevel: number; + initialStanding: number; + initialSalesSum: number; + jaegerUnlocked: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/IQuest.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/IQuest.d.ts index e1fc888..a349a6d 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/IQuest.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/IQuest.d.ts @@ -1,3 +1,4 @@ +import { QuestRewardType } from "../../../enums/QuestRewardType"; import { Item } from "./IItem"; export interface IQuest { QuestName: string; @@ -23,6 +24,7 @@ export interface IQuest { status: string; KeyQuest: boolean; changeQuestMessageText: string; + side: string; } export interface Conditions { Started: AvailableForConditions[]; @@ -56,6 +58,7 @@ export interface AvailableForProps { plantTime?: number; zoneId?: string; type?: boolean; + countInRaid?: boolean; } export interface AvailableForCounter { id: string; @@ -97,9 +100,9 @@ export interface Rewards { Expired: Reward[]; } export interface Reward { - value?: string; + value?: string | number; id: string; - type: string; + type: QuestRewardType; index: number; target?: string; items?: Item[]; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/ITemplateItem.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/ITemplateItem.d.ts index 934ea7d..23a1a14 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/common/tables/ITemplateItem.d.ts @@ -50,6 +50,7 @@ export interface Props { UnlootableFromSide?: string[]; AnimationVariantsNumber?: number; DiscardingBlock?: boolean; + DropSoundType?: string; RagFairCommissionModifier?: number; IsAlwaysAvailableForInsurance?: boolean; DiscardLimit?: number; @@ -89,7 +90,7 @@ export interface Props { SightModesCount?: number; OpticCalibrationDistances?: number[]; ScopesCount?: number; - AimSensitivity: any; + AimSensitivity?: number | number[][]; Zooms?: number[][]; CalibrationDistances?: number[][]; Intensity?: number; @@ -200,6 +201,9 @@ export interface Props { MinRepairDegradation?: number; MaxRepairDegradation?: number; IronSightRange?: number; + IsFlareGun?: boolean; + IsGrenadeLauncher?: boolean; + IsOneoff?: boolean; MustBoltBeOpennedForExternalReload?: boolean; MustBoltBeOpennedForInternalReload?: boolean; BoltAction?: boolean; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/game/IReportNicknameRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/game/IReportNicknameRequestData.d.ts new file mode 100644 index 0000000..087c58b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/game/IReportNicknameRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IReportNicknameRequestData { + uid: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/health/Effect.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/health/Effect.d.ts new file mode 100644 index 0000000..2f0adac --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/health/Effect.d.ts @@ -0,0 +1,5 @@ +export declare enum Effect { + Fracture = "Fracture", + LightBleeding = "LightBleeding", + HeavyBleeding = "HeavyBleeding" +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts new file mode 100644 index 0000000..bf209c6 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts @@ -0,0 +1 @@ +export declare type IGetInsuranceCostResponseData = Record>; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/ICreateGroupRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/ICreateGroupRequestData.d.ts new file mode 100644 index 0000000..7413a8a --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/ICreateGroupRequestData.d.ts @@ -0,0 +1,6 @@ +import { RaidMode } from "../../enums/RaidMode"; +export interface ICreateGroupRequestData { + location: string; + raidMode: RaidMode; + startInGroup: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IGetGroupStatusRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IGetGroupStatusRequestData.d.ts new file mode 100644 index 0000000..55d7079 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IGetGroupStatusRequestData.d.ts @@ -0,0 +1,9 @@ +import { RaidMode } from "../../enums/RaidMode"; +export interface IGetGroupStatusRequestData { + location: string; + savage: boolean; + dt: string; + keyId: string; + raidMode: RaidMode; + startInGroup: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IJoinMatchRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IJoinMatchRequestData.d.ts new file mode 100644 index 0000000..cd34f7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IJoinMatchRequestData.d.ts @@ -0,0 +1,12 @@ +export interface IJoinMatchRequestData { + location: string; + savage: boolean; + dt: string; + servers: Server[]; + keyId: string; +} +export interface Server { + ping: number; + ip: string; + port: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IJoinMatchResult.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IJoinMatchResult.d.ts new file mode 100644 index 0000000..df695f4 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IJoinMatchResult.d.ts @@ -0,0 +1,11 @@ +export interface IJoinMatchResult { + profileid: string; + status: string; + sid: string; + ip: string; + port: number; + version: string; + location: string; + gamemode: string; + shortid: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IPutMetricsRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IPutMetricsRequestData.d.ts new file mode 100644 index 0000000..d9ed214 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IPutMetricsRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IPutMetricsRequestData { + sid: string; + settings: any; + SharedSettings: any; + HardwareDescription: any; + Location: string; + Metrics: any; + ClientEvents: any; + SpikeSamples: any[]; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IStartOffineRaidRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IStartOffineRaidRequestData.d.ts index 84bccc8..af0625e 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IStartOffineRaidRequestData.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IStartOffineRaidRequestData.d.ts @@ -1,6 +1,7 @@ +import { BotAmount } from "../../enums/BotAmount"; +import { BotDifficulty } from "../../enums/BotDifficulty"; export interface IStartOfflineRaidRequestData { locationName: string; - entryPoint: string; startTime: number; dateTime: string; gameSettings: GameSettings; @@ -17,11 +18,11 @@ export interface TimeAndWeatherSettings { export interface BotsSettings { isEnabled: boolean; isScavWars: boolean; - botAmount: string; + botAmount: BotAmount; } export interface WavesSettings { - botDifficulty: string; + botDifficulty: BotDifficulty; isBosses: boolean; isTaggedAndCursed: boolean; - wavesBotAmount: string; + wavesBotAmount: BotAmount; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IUpdatePingRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IUpdatePingRequestData.d.ts new file mode 100644 index 0000000..defbd66 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/match/IUpdatePingRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IUpdatePingRequestData { + servers: any[]; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/profile/GetProfileStatusResponseData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/profile/GetProfileStatusResponseData.d.ts new file mode 100644 index 0000000..eee9b4f --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/profile/GetProfileStatusResponseData.d.ts @@ -0,0 +1,11 @@ +export interface GetProfileStatusResponseData { + maxPveCountExceeded: false; + profiles: ProfileData[]; +} +export interface ProfileData { + profileid: string; + status: string; + sid: string; + ip: string; + port: number; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/quests/ICompleteQuestRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/quests/ICompleteQuestRequestData.d.ts index cc67404..36a6db3 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/quests/ICompleteQuestRequestData.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/quests/ICompleteQuestRequestData.d.ts @@ -1,5 +1,6 @@ export interface ICompleteQuestRequestData { Action: string; + /** Quest Id */ qid: string; removeExcessItems: boolean; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/ragfair/IGetOffersResult.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/ragfair/IGetOffersResult.d.ts index 1c11422..fbc631d 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/ragfair/IGetOffersResult.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/ragfair/IGetOffersResult.d.ts @@ -1,6 +1,6 @@ import { IRagfairOffer } from "./IRagfairOffer"; export interface IGetOffersResult { - categories: Record; + categories?: Record; offers: IRagfairOffer[]; offersCount: number; selectedCategory: string; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts new file mode 100644 index 0000000..2d14d20 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISendRagfairReportRequestData { + offerId: number; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/BotAmount.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/BotAmount.d.ts new file mode 100644 index 0000000..d0e1df1 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/BotAmount.d.ts @@ -0,0 +1,7 @@ +export declare enum BotAmount { + AsOnline = "AsOnline", + Low = "Low", + Medium = "Medium", + High = "High", + Horde = "Horde" +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/BotDifficulty.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/BotDifficulty.d.ts new file mode 100644 index 0000000..c901bcf --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/BotDifficulty.d.ts @@ -0,0 +1,8 @@ +export declare enum BotDifficulty { + AsOnline = "AsOnline", + Easy = "Easy", + Medium = "Medium", + Hard = "Hard", + Impossible = "Impossible", + Random = "Random" +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/ConfigTypes.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/ConfigTypes.d.ts index 6bd31e8..1c49e62 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/ConfigTypes.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/ConfigTypes.d.ts @@ -8,6 +8,7 @@ export declare enum ConfigTypes { IN_RAID = "aki-inraid", INSURANCE = "aki-insurance", INVENTORY = "aki-inventory", + LOCALE = "aki-locale", LOCATION = "aki-location", MATCH = "aki-match", QUEST = "aki-quest", diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/QuestRewardType.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/QuestRewardType.d.ts new file mode 100644 index 0000000..1d3db86 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/QuestRewardType.d.ts @@ -0,0 +1,8 @@ +export declare enum QuestRewardType { + Skill = "Skill", + Experience = "Experience", + TraderStanding = "TraderStanding", + TraderUnlock = "TraderUnlock", + Item = "Item", + AssortmentUnlock = "AssortmentUnlock" +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/RaidMode.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/RaidMode.d.ts new file mode 100644 index 0000000..c5a8cff --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/enums/RaidMode.d.ts @@ -0,0 +1,5 @@ +export declare enum RaidMode { + Online = "Online", + Local = "Local", + Coop = "Coop" +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPostAkiLoadMod.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPostAkiLoadMod.d.ts new file mode 100644 index 0000000..f6950e8 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPostAkiLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPostAkiLoadMod { + postAkiLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPostDBLoadMod.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPostDBLoadMod.d.ts new file mode 100644 index 0000000..ca7c682 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPostDBLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPostDBLoadMod { + postDBLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPreAkiLoadMod.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPreAkiLoadMod.d.ts new file mode 100644 index 0000000..ae7579e --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/external/IPreAkiLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPreAkiLoadMod { + preAkiLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/bots/BotLootCache.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/bots/BotLootCache.d.ts new file mode 100644 index 0000000..e185315 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/bots/BotLootCache.d.ts @@ -0,0 +1,23 @@ +import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; +export declare class BotLootCache { + backpackLoot: ITemplateItem[]; + pocketLoot: ITemplateItem[]; + vestLoot: ITemplateItem[]; + combinedPoolLoot: ITemplateItem[]; + specialItems: ITemplateItem[]; + healingItems: ITemplateItem[]; + drugItems: ITemplateItem[]; + stimItems: ITemplateItem[]; + grenadeItems: ITemplateItem[]; +} +export declare enum LootCacheType { + Special = "Special", + Backpack = "Backpack", + Pocket = "Pocket", + Vest = "Vest", + Combined = "Combined", + HealingItems = "HealingItems", + DrugItems = "DrugItems", + StimItems = "StimItems", + GrenadeItems = "GrenadeItems" +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IBotConfig.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IBotConfig.d.ts index 5fb9d93..f8cf39b 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IBotConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IBotConfig.d.ts @@ -18,6 +18,7 @@ export interface PresetBatch { bossKojaniy: number; bossSanitar: number; bossTagilla: number; + bossKnight: number; bossTest: number; cursedAssault: number; followerBully: number; @@ -28,6 +29,8 @@ export interface PresetBatch { followerKojaniy: number; followerSanitar: number; followerTagilla: number; + followerBirdEye: number; + followerBigPipe: number; followerTest: number; marksman: number; pmcBot: number; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IInRaidConfig.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IInRaidConfig.d.ts index baaf083..3ae2972 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IInRaidConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IInRaidConfig.d.ts @@ -14,6 +14,7 @@ export interface RaidMenuSettings { bossEnabled: boolean; scavWars: boolean; taggedAndCursed: boolean; + enablePve: boolean; } export interface Save { loot: boolean; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/ILocaleConfig.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/ILocaleConfig.d.ts new file mode 100644 index 0000000..fe9abf7 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/ILocaleConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ILocaleConfig extends IBaseConfig { + kind: "aki-locale"; + desiredLocale: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IRagfairConfig.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IRagfairConfig.d.ts index 2d151ca..8518252 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IRagfairConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/IRagfairConfig.d.ts @@ -30,6 +30,7 @@ export interface Dynamic { expiredOfferThreshold: number; offerItemCount: MinMax; price: MinMax; + presetPrice: MinMax; endTimeSeconds: MinMax; condition: Condition; stackablePercent: MinMax; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/ITraderConfig.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/ITraderConfig.d.ts index dab73e3..c8e8044 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/ITraderConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/config/ITraderConfig.d.ts @@ -3,13 +3,17 @@ export interface ITraderConfig extends IBaseConfig { kind: "aki-trader"; updateTime: UpdateTime[]; updateTimeDefault: number; - fenceAssortSize: number; - fenceMaxPresetsCount: number; - fencePresetPriceMult: number; + traderPriceMultipler: number; minDurabilityForSale: number; - fenceItemIgnoreList: string[]; + fence: FenceConfig; } export interface UpdateTime { traderId: string; seconds: number; } +export interface FenceConfig { + assortSize: number; + maxPresetsCount: number; + presetPriceMult: number; + blacklist: string[]; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/LogBackgroundColor.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/LogBackgroundColor.d.ts new file mode 100644 index 0000000..87e08a9 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/LogBackgroundColor.d.ts @@ -0,0 +1,11 @@ +export declare enum LogBackgroundColor { + default = "", + black = "blackBG", + red = "redBG", + green = "greenBG", + yellow = "yellowBG", + blue = "blueBG", + magenta = "magentaBG", + cyan = "cyanBG", + white = "whiteBG" +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/LogTextColor.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/LogTextColor.d.ts new file mode 100644 index 0000000..7147ae3 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/LogTextColor.d.ts @@ -0,0 +1,11 @@ +export declare enum LogTextColor { + black = "black", + red = "red", + green = "green", + yellow = "yellow", + blue = "blue", + magenta = "magenta", + cyan = "cyan", + white = "white", + gray = "" +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/SptLogger.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/SptLogger.d.ts new file mode 100644 index 0000000..ea1b3d8 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/logging/SptLogger.d.ts @@ -0,0 +1,7 @@ +export interface SptLogger { + error: (msg: string | Record) => void; + warn: (msg: string | Record) => void; + succ?: (msg: string | Record) => void; + info: (msg: string | Record) => void; + debug: (msg: string | Record) => void; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/server/IDatabaseTables.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/server/IDatabaseTables.d.ts index e0d3fdd..9978459 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/server/IDatabaseTables.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/server/IDatabaseTables.d.ts @@ -6,6 +6,7 @@ import { ICustomizationItem } from "../../eft/common/tables/ICustomizationItem"; import { IHandbookBase } from "../../eft/common/tables/IHandbookBase"; import { ILootBase } from "../../eft/common/tables/ILootBase"; import { IMatch } from "../../eft/common/tables/IMatch"; +import { IProfileTemplates } from "../../eft/common/tables/IProfileTemplate"; import { IQuest } from "../../eft/common/tables/IQuest"; import { IRepeatableQuestDatabase } from "../../eft/common/tables/IRepeatableQuests"; import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; @@ -39,10 +40,13 @@ export interface IDatabaseTables { items: Record; quests: IQuest[]; repeatableQuests: IRepeatableQuestDatabase; + /** DEPRECATED - Items file found in the client, massivly out of date compared to templates.items, try not to use this, remove ASAP*/ clientItems: Record; handbook: IHandbookBase; customization: Record; - profiles: any; + /** The profile templates listed in the launcher on profile creation, split by account type (e.g. Standard) then side (e.g. bear/usec) */ + profiles: IProfileTemplates; + /** Flea prices of items - gathered from online flea market dump */ prices: Record; }; traders?: Record; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/utils/ILogger.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/utils/ILogger.d.ts index c983701..2af3fac 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/utils/ILogger.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/models/spt/utils/ILogger.d.ts @@ -1,7 +1,10 @@ import { Daum } from "../../eft/itemEvent/IItemEventRouterRequest"; +import { LogBackgroundColor } from "../logging/LogBackgroundColor"; +import { LogTextColor } from "../logging/LogTextColor"; export interface ILogger { writeToLogFile(data: string | Daum): void; - log(data: string | Record | Error, color: string): void; + log(data: string | Record | Error, color: string, backgroundColor?: string): void; + logWithColor(data: string | Record, textColor: LogTextColor, backgroundColor?: LogBackgroundColor): void; error(data: string): void; warning(data: string): void; success(data: string): void; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/servers/RagfairServer.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/servers/RagfairServer.d.ts index 60c92b5..bc86cdb 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/servers/RagfairServer.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/servers/RagfairServer.d.ts @@ -17,7 +17,8 @@ export declare class RagfairServer { constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer); load(): void; update(): void; - getCategories(): Record; + getAllCategories(): Record; + getBespokeCategories(offers: IRagfairOffer[]): Record; /** * Disable/Hide an offer from flea * @param offerId diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/BotLootCacheService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/BotLootCacheService.d.ts new file mode 100644 index 0000000..72eb332 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/BotLootCacheService.d.ts @@ -0,0 +1,59 @@ +import { PMCLootGenerator } from "../generators/PMCLootGenerator"; +import { Items } from "../models/eft/common/tables/IBotType"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { BotLootCache, LootCacheType } from "../models/spt/bots/BotLootCache"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RagfairPriceService } from "./RagfairPriceService"; +export declare class BotLootCacheService { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected pmcLootGenerator: PMCLootGenerator; + protected ragfairPriceService: RagfairPriceService; + protected lootCache: Record; + constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, pmcLootGenerator: PMCLootGenerator, ragfairPriceService: RagfairPriceService); + /** + * Remove all cached bot loot data + */ + clearCache(): void; + /** + * Get the fully created loot array, ordered by price low to high + * @param botRole bot to get loot for + * @param isPmc is the bot a pmc + * @param lootType what type of loot is needed + * @param lootPool the full pool of loot (needed when cache is empty) + * @returns ITemplateItem array + */ + getLootFromCache(botRole: string, isPmc: boolean, lootType: LootCacheType, lootPool: Items): ITemplateItem[]; + /** + * Generate loot for a bot and store inside a private class property + * @param botRole + * @param lootType + * @param lootPool the full pool of loot we use to create the various sub-categories with + * @param isPmc + */ + protected addLootToCache(botRole: string, isPmc: boolean, lootType: LootCacheType, lootPool: Items): void; + /** + * Check if a bot type exists inside the loot cache + * @param botRole role to check for + * @returns true if they exist + */ + protected botRoleExistsInCache(botRole: string): boolean; + /** + * If lootcache is null, init with empty property arrays + * @param botRole Bot role to hydrate + */ + protected initCacheForBotRole(botRole: string): void; + /** + * Compares two item prices by their flea (or handbook if that doesnt exist) price + * -1 when a < b + * 0 when a === b + * 1 when a > b + * @param itemAPrice + * @param itemBPrice + * @returns + */ + protected compareByValue(itemAPrice: number, itemBPrice: number): number; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/FenceService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/FenceService.d.ts index 12723fb..79058c6 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/services/FenceService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/FenceService.d.ts @@ -29,8 +29,8 @@ export declare class FenceService { hasExpiredCache(refreshAssort: boolean): boolean; generateFenceAssortCache(pmcData: IPmcData): void; /** - * - * @param pmcData Get the fence level the passed in profile has + * Get the fence level the passed in profile has + * @param pmcData Player profile * @returns FenceLevel */ getFenceInfo(pmcData: IPmcData): FenceLevel; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/LocaleService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/LocaleService.d.ts new file mode 100644 index 0000000..33bea7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/LocaleService.d.ts @@ -0,0 +1,14 @@ +import { ILocaleConfig } from "../models/spt/config/ILocaleConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +export declare class LocaleService { + protected logger: ILogger; + protected configServer: ConfigServer; + protected localeConfig: ILocaleConfig; + constructor(logger: ILogger, configServer: ConfigServer); + /** + * Gets the locale key from the locale.json file + * @returns locale e.g en/ge/cz/cn + */ + getDesiredLocale(): string; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/MatchLocationService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/MatchLocationService.d.ts index 2b5fc0e..c027bec 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/services/MatchLocationService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/MatchLocationService.d.ts @@ -1,8 +1,9 @@ +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { TimeUtil } from "../utils/TimeUtil"; export declare class MatchLocationService { protected timeUtil: TimeUtil; protected locations: {}; constructor(timeUtil: TimeUtil); - createGroup(sessionID: string, info: any): any; + createGroup(sessionID: string, info: ICreateGroupRequestData): any; deleteGroup(info: any): void; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/PaymentService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/PaymentService.d.ts index 5834750..a5e538f 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/services/PaymentService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/PaymentService.d.ts @@ -45,5 +45,22 @@ export declare class PaymentService { * ancestor with slotId=hideout */ protected isItemInStash(pmcData: IPmcData, item: Item): boolean; + /** + * Remove currency from player stash/inventory + * @param pmcData Player profile to find and remove currency from + * @param currencyTpl Type of currency to pay + * @param amountToPay money value to pay + * @param sessionID Sessino id + * @param output output object to send to client + * @returns IItemEventRouterResponse + */ addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; + /** + * Prioritise player stash first over player inventory + * Post-raid healing would often take money out of the players pockets/secure container + * @param a Firsat money stack item + * @param b Second money stack item + * @returns sorted item + */ + protected moneySort(a: Item, b: Item): number; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/ProfileFixerService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/ProfileFixerService.d.ts new file mode 100644 index 0000000..313a907 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/ProfileFixerService.d.ts @@ -0,0 +1,40 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { Watermark } from "../utils/Watermark"; +export declare class ProfileFixerService { + protected logger: ILogger; + protected watermark: Watermark; + protected databaseServer: DatabaseServer; + constructor(logger: ILogger, watermark: Watermark, databaseServer: DatabaseServer); + /** + * Find issues in the pmc profile data that may cause issues and fix them + * @param pmcProfile profile to check and fix + */ + checkForAndFixPmcProfileIssues(pmcProfile: IPmcData): void; + /** + * Add tag to profile to indicate when it was made + * @param fullProfile + */ + addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; + /** + * TODO - make this non-public - currently used by RepeatableQuestController + * Remove unused condition counters + * @param pmcProfile profile to remove old counters from + */ + removeDanglingConditionCounters(pmcProfile: IPmcData): void; + protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; + protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; + protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; + protected addMissingBonusesProperty(pmcProfile: IPmcData): void; + protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; + protected addMissingWorkbenchWeaponSkills(pmcProfile: IPmcData): void; + /** + * In 18876 bsg changed the pockets tplid to be one that has 3 additional special slots + * @param pmcProfile + */ + protected updateProfilePocketsToNewId(pmcProfile: IPmcData): void; + addMissingArmorRepairSkill(pmcProfile: IPmcData): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairCategoriesService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairCategoriesService.d.ts index 09956cc..83910e5 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairCategoriesService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairCategoriesService.d.ts @@ -1,10 +1,40 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { ILogger } from "../models/spt/utils/ILogger"; export declare class RagfairCategoriesService { - updateCategories(offers: IRagfairOffer[]): void; + protected logger: ILogger; protected categories: Record; - getCategories(): Record; - getCategoryByItemId(itemId: string): number; - resetCategories(): void; - setCategoryValue(itemId: string, newValue: number): void; - incrementCategory(itemId: string): void; + constructor(logger: ILogger); + /** + * Get all flea categories and their count of offers + * @returns item categories and count + */ + getAllCategories(): Record; + /** + * With the supplied items, get custom categories + * @returns a custom list of categories + */ + getBespokeCategories(offers: IRagfairOffer[]): Record; + /** + * Take an array of ragfair offers and create a dictionary of items with thier corrisponding offer count + * @param offers ragfair offers + * @returns categories and count + */ + protected processOffersIntoCategories(offers: IRagfairOffer[]): Record; + /** + * Increment or decrement a category array + * @param offer offer to process + * @param categories categories to update + * @param increment should item be incremented or decremented + */ + protected addOrIncrementCategory(offer: IRagfairOffer, categories: Record, increment?: boolean): void; + /** + * Increase category count by 1 + * @param offer + */ + incrementCategory(offer: IRagfairOffer): void; + /** + * Reduce category count by 1 + * @param offer + */ + decrementCategory(offer: IRagfairOffer): void; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairOfferService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairOfferService.d.ts index 7afbf8c..7398a8f 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairOfferService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairOfferService.d.ts @@ -11,12 +11,14 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; +import { RagfairCategoriesService } from "./RagfairCategoriesService"; export declare class RagfairOfferService { protected logger: ILogger; protected timeUtil: TimeUtil; protected databaseServer: DatabaseServer; protected saveServer: SaveServer; protected ragfairServerHelper: RagfairServerHelper; + protected ragfairCategoriesService: RagfairCategoriesService; protected profileHelper: ProfileHelper; protected itemEventRouter: ItemEventRouter; protected httpResponse: HttpResponseUtil; @@ -26,12 +28,16 @@ export declare class RagfairOfferService { protected expiredOffers: Item[]; protected offers: IRagfairOffer[]; protected ragfairConfig: IRagfairConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, ragfairCategoriesService: RagfairCategoriesService, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); + /** + * Get all offers + * @returns IRagfairOffer array + */ getOffers(): IRagfairOffer[]; getOfferByOfferId(offerId: string): IRagfairOffer; getOffersOfType(templateId: string): IRagfairOffer[]; addOffer(offer: IRagfairOffer): void; - addOfferToExpired(offer: Item): void; + addOfferToExpired(staleOffer: IRagfairOffer): void; setTraderUpdateStatus(traderId: string, shouldUpdate: boolean): void; shouldTraderBeUpdated(traderID: string): boolean; getExpiredOfferCount(): number; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairPriceService.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairPriceService.d.ts index 5256b99..e33bbb9 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairPriceService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/services/RagfairPriceService.d.ts @@ -1,6 +1,7 @@ import { HandbookHelper } from "../helpers/HandbookHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; +import { Preset } from "../models/eft/common/IGlobals"; import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; @@ -28,5 +29,26 @@ export declare class RagfairPriceService { getFleaPriceForItem(tplId: string): number; getBarterPrice(barterScheme: IBarterScheme[]): number; getDynamicOfferPrice(items: Item[], desiredCurrency: string): number; + /** + * Multiply the price by a randomised curve where n = 2, shift = 2 + * @param existingPrice price to alter + * @param isPreset is the item we're multiplying a preset + * @returns multiplied price + */ + protected randomisePrice(existingPrice: number, isPreset: boolean): number; + /** + * Calculate the cost of a weapon preset by adding together the price of its mods + base price of default weapon preset + * @param item base weapon + * @param items weapon plus mods + * @param existingPrice price of existing base weapon + * @returns + */ getWeaponPresetPrice(item: Item, items: Item[], existingPrice: number): number; + /** + * Attempt to get the default preset for a weapon, failing that get the first preset in the array + * (assumes default = has encyclopedia entry) + * @param presets weapon presets to choose from + * @returns Default preset object + */ + protected getDefaultWeaponPreset(presets: Preset[], weapon: Item): Preset; } diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/utils/DatabaseImporter.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/utils/DatabaseImporter.d.ts index 24c1cd6..483e135 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/utils/DatabaseImporter.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/utils/DatabaseImporter.d.ts @@ -3,10 +3,6 @@ import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; import { ILogger } from "../models/spt/utils/ILogger"; import { ImageRouter } from "../routers/ImageRouter"; import { DatabaseServer } from "../servers/DatabaseServer"; -import { CustomHandbookItemService } from "../services/CustomHandbookItemService"; -import { CustomItemService } from "../services/CustomItemService"; -import { CustomPresetService } from "../services/customPresetService"; -import { CustomTraderAssortService } from "../services/CustomTraderAssortService"; import { JsonUtil } from "./JsonUtil"; import { VFS } from "./VFS"; export declare class DatabaseImporter extends OnLoad { @@ -14,38 +10,14 @@ export declare class DatabaseImporter extends OnLoad { protected vfs: VFS; protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; - protected customItemService: CustomItemService; - protected customTraderAssortService: CustomTraderAssortService; - protected customHandbookItemService: CustomHandbookItemService; - protected customPresetService: CustomPresetService; protected imageRouter: ImageRouter; - constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, customItemService: CustomItemService, customTraderAssortService: CustomTraderAssortService, customHandbookItemService: CustomHandbookItemService, customPresetService: CustomPresetService, imageRouter: ImageRouter); + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, imageRouter: ImageRouter); onLoad(): void; /** * Read all json files in database folder and map into a json object * @param filepath path to database folder */ protected hydrateDatabase(filepath: string): void; - /** - * Get all items added through CustomItemService and add to database.templates.items - * @param dataToImport db data to amend - */ - protected addCustomItemsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all assorts added through CustomTraderAssortService and add to database.traders[x].assort - * @param dataToImport db data to amend - */ - protected addCustomTraderAssortsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all custom handbook items added through CustomHandbookItemService and add to database.templates.handbook.items - * @param dataToImport db data to amend - */ - protected addCustomHandbookItemsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all custom preset items added through CustomPresetService and add to database.globals.ItemPresets - * @param dataToImport - */ - protected addCustomPresetsToDb(dataToImport: IDatabaseTables): void; getRoute(): string; loadRecursive(filepath: string): IDatabaseTables; loadImages(filepath: string): void; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/utils/Logger.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/utils/Logger.d.ts index f5b774b..3d9013f 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/utils/Logger.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/utils/Logger.d.ts @@ -1,17 +1,13 @@ /// -import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; -import { ILogger } from "../models/spt/utils/ILogger"; -import winston from "winston"; -import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; -import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; import fs from "fs"; -interface SptLogger { - error: (msg: string | Record) => void; - warn: (msg: string | Record) => void; - succ?: (msg: string | Record) => void; - info: (msg: string | Record) => void; - debug: (msg: string | Record) => void; -} +import winston from "winston"; +import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { LogBackgroundColor } from "../models/spt/logging/LogBackgroundColor"; +import { LogTextColor } from "../models/spt/logging/LogTextColor"; +import { SptLogger } from "../models/spt/logging/SptLogger"; +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; export declare class WinstonLogger implements ILogger { protected asyncQueue: IAsyncQueue; protected uuidGenerator: IUUidGenerator; @@ -36,16 +32,27 @@ export declare class WinstonLogger implements ILogger { custom: string; debug: string; }; + bgColors: { + default: string; + blackBG: string; + redBG: string; + greenBG: string; + yellowBG: string; + blueBG: string; + magentaBG: string; + cyanBG: string; + whiteBG: string; + }; }; protected logger: winston.Logger & SptLogger; - writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; + protected 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; + log(data: string | Error | Record, color: string, backgroundColor?: string): Promise; error(data: string | Record): Promise; warning(data: string | Record): Promise; success(data: string | Record): Promise; info(data: string | Record): Promise; + logWithColor(data: string | Record, textColor: LogTextColor, backgroundColor?: LogBackgroundColor): Promise; debug(data: string | Record, onlyShowInConsole?: boolean): Promise; } -export {}; diff --git a/KcY-SeeItemValue/itemValue/server/dist/types/utils/Watermark.d.ts b/KcY-SeeItemValue/itemValue/server/dist/types/utils/Watermark.d.ts index 111bdd0..c6dc120 100644 --- a/KcY-SeeItemValue/itemValue/server/dist/types/utils/Watermark.d.ts +++ b/KcY-SeeItemValue/itemValue/server/dist/types/utils/Watermark.d.ts @@ -28,7 +28,12 @@ export declare class Watermark { protected text: string[]; protected versionLabel: string; initialize(): void; - getVersionTag(): string; + /** + * Get a version string (x.x.x) or (x.x.x-BLEEDINGEDGE) OR (X.X.X (18xxx)) + * @param withEftVersion Include the eft version this spt version was made for + * @returns string + */ + getVersionTag(withEftVersion?: boolean): string; getVersionLabel(): string; /** Set window title */ setTitle(): void; diff --git a/KcY-SeeItemValue/itemValue/server/types/callbacks/GameCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/types/callbacks/GameCallbacks.d.ts index d5cad76..06da1b5 100644 --- a/KcY-SeeItemValue/itemValue/server/types/callbacks/GameCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/callbacks/GameCallbacks.d.ts @@ -2,6 +2,7 @@ import { GameController } from "../controllers/GameController"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData"; +import { IReportNicknameRequestData } from "../models/eft/game/IReportNicknameRequestData"; import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; @@ -20,5 +21,6 @@ declare class GameCallbacks { validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; getVersion(url: string, info: IEmptyRequestData, sessionID: string): string; + reportNickname(url: string, info: IReportNicknameRequestData, sessionID: string): INullResponseData; } export { GameCallbacks }; diff --git a/KcY-SeeItemValue/itemValue/server/types/callbacks/HealthCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/types/callbacks/HealthCallbacks.d.ts index 8f7b89d..8672be7 100644 --- a/KcY-SeeItemValue/itemValue/server/types/callbacks/HealthCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/callbacks/HealthCallbacks.d.ts @@ -13,6 +13,13 @@ export declare class HealthCallbacks { protected profileHelper: ProfileHelper; protected healthController: HealthController; constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController); + /** + * Custom aki server request found in modules/HealthSynchronizer.cs + * @param url + * @param info HealthListener.Instance.CurrentHealth class + * @param sessionID session id + * @returns empty response, no data sent back to client + */ syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/KcY-SeeItemValue/itemValue/server/types/callbacks/InsuranceCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/types/callbacks/InsuranceCallbacks.d.ts index 520d0eb..6819960 100644 --- a/KcY-SeeItemValue/itemValue/server/types/callbacks/InsuranceCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/callbacks/InsuranceCallbacks.d.ts @@ -3,6 +3,7 @@ import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; @@ -17,7 +18,7 @@ export declare class InsuranceCallbacks extends OnLoadOnUpdate { protected insuranceConfig: IInsuranceConfig; constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer); onLoad(): void; - getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData; + 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/KcY-SeeItemValue/itemValue/server/types/callbacks/MatchCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/types/callbacks/MatchCallbacks.d.ts index 083c1f5..2a92ef5 100644 --- a/KcY-SeeItemValue/itemValue/server/types/callbacks/MatchCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/callbacks/MatchCallbacks.d.ts @@ -1,10 +1,17 @@ import { MatchController } from "../controllers/MatchController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; +import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; +import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; +import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { JsonUtil } from "../utils/JsonUtil"; @@ -14,21 +21,21 @@ export declare class MatchCallbacks { protected matchController: MatchController; protected databaseServer: 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; + updatePing(url: string, info: IUpdatePingRequestData, sessionID: string): INullResponseData; + exitMatch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData; + stopGroupSearch(url: string, info: IEmptyRequestData, 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; + putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData; getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData; - serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; - joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData; + serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData | IGetBodyResponseData; + joinMatch(url: string, info: IJoinMatchRequestData, 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; + getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData; + createGroup(url: string, info: ICreateGroupRequestData, 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/KcY-SeeItemValue/itemValue/server/types/callbacks/ModCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/types/callbacks/ModCallbacks.d.ts index 866abf7..58342dc 100644 --- a/KcY-SeeItemValue/itemValue/server/types/callbacks/ModCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/callbacks/ModCallbacks.d.ts @@ -1,5 +1,5 @@ import { OnLoad } from "../di/OnLoad"; -import { DelayedModLoader } from "../loaders/DelayedModLoader"; +import { PostAkiModLoader } from "../loaders/PostAkiModLoader"; import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { IHttpServer } from "../models/spt/server/IHttpServer"; import { ILogger } from "../models/spt/utils/ILogger"; @@ -9,10 +9,10 @@ declare class ModCallbacks extends OnLoad { protected logger: ILogger; protected httpResponse: HttpResponseUtil; protected httpServer: IHttpServer; - protected modLoader: DelayedModLoader; + protected postAkiModLoader: PostAkiModLoader; protected configServer: ConfigServer; protected httpConfig: IHttpConfig; - constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer); + constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, postAkiModLoader: PostAkiModLoader, configServer: ConfigServer); onLoad(): void; getRoute(): string; sendBundle(sessionID: string, req: any, resp: any, body: any): void; diff --git a/KcY-SeeItemValue/itemValue/server/types/callbacks/PresetBuildCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/types/callbacks/PresetBuildCallbacks.d.ts index 8a0c155..541715a 100644 --- a/KcY-SeeItemValue/itemValue/server/types/callbacks/PresetBuildCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/callbacks/PresetBuildCallbacks.d.ts @@ -1,4 +1,5 @@ import { PresetBuildController } from "../controllers/PresetBuildController"; +import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; @@ -9,7 +10,7 @@ export declare class PresetBuildCallbacks { protected httpResponse: HttpResponseUtil; protected presetBuildController: PresetBuildController; constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController); - getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData; + getHandbookUserlist(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData; saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/KcY-SeeItemValue/itemValue/server/types/callbacks/ProfileCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/types/callbacks/ProfileCallbacks.d.ts index 116e7c5..6a86fc0 100644 --- a/KcY-SeeItemValue/itemValue/server/types/callbacks/ProfileCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/callbacks/ProfileCallbacks.d.ts @@ -3,6 +3,7 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData"; import { INullResponseData } from "../models/eft/httpResponse/INullResponseData"; import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData"; +import { GetProfileStatusResponseData } from "../models/eft/profile/GetProfileStatusResponseData"; import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData"; import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData"; import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData"; @@ -23,7 +24,14 @@ export declare class ProfileCallbacks { 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; + /** + * Called when creating a character, when you choose a character face/voice + * @param url + * @param info response (empty) + * @param sessionID + * @returns + */ + 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/KcY-SeeItemValue/itemValue/server/types/callbacks/RagfairCallbacks.d.ts b/KcY-SeeItemValue/itemValue/server/types/callbacks/RagfairCallbacks.d.ts index d5bab8b..3a405c9 100644 --- a/KcY-SeeItemValue/itemValue/server/types/callbacks/RagfairCallbacks.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/callbacks/RagfairCallbacks.d.ts @@ -9,8 +9,10 @@ import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData"; import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult"; import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData"; +import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult"; import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData"; import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData"; +import { ISendRagfairReportRequestData } from "../models/eft/ragfair/ISendRagfairReportRequestData"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; @@ -28,12 +30,12 @@ export declare class RagfairCallbacks extends OnLoadOnUpdate { 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; + 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; - sendReport(url: string, info: any, sessionID: string): INullResponseData; + sendReport(url: string, info: ISendRagfairReportRequestData, sessionID: string): INullResponseData; } diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/GameController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/GameController.d.ts index 7f632d6..85ec418 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/GameController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/GameController.d.ts @@ -1,33 +1,28 @@ -import { GameHelper } from "../helpers/GameHelper"; import { HttpServerHelper } from "../helpers/HttpServerHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData"; -import { IPmcData } from "../models/eft/common/IPmcData"; -import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse"; import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; import { IHttpConfig } from "../models/spt/config/IHttpConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; +import { LocaleService } from "../services/LocaleService"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { Watermark } from "../utils/Watermark"; export declare class GameController { protected logger: ILogger; protected watermark: Watermark; protected httpServerHelper: HttpServerHelper; + protected localeService: LocaleService; protected profileHelper: ProfileHelper; - protected gameHelper: GameHelper; + protected profileFixerService: ProfileFixerService; protected configServer: ConfigServer; protected httpConfig: IHttpConfig; - constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, configServer: ConfigServer); + protected coreConfig: ICoreConfig; + constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, localeService: LocaleService, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, configServer: ConfigServer); gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void; - protected addMissingBonusesProperty(pmcProfile: IPmcData): void; - protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; - protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void; - protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; - protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void; - protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; - protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; + protected logProfileDetails(fullProfile: IAkiProfile): void; getGameConfig(sessionID: string): IGameConfigResponse; getServer(): any[]; - protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; } diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/HealthController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/HealthController.d.ts index aafb8df..cc13603 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/HealthController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/HealthController.d.ts @@ -18,8 +18,29 @@ export declare class HealthController { protected inventoryHelper: InventoryHelper; protected healthHelper: HealthHelper; constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper); - saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + /** + * stores in-raid player health + * @param pmcData Player profile + * @param info Request data + * @param sessionID + * @param addEffects Should effects found be added or removed from profile + */ + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void; + /** + * When healing in menu + * @param pmcData + * @param body + * @param sessionID + * @returns + */ offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse; offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Occurs on post-raid healing page + * @param pmcData player profile + * @param info Request data from client + * @param sessionID Session id + * @returns + */ healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse; } diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/InsuranceController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/InsuranceController.d.ts index db2c567..af45442 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/InsuranceController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/InsuranceController.d.ts @@ -3,6 +3,7 @@ import { ItemHelper } from "../helpers/ItemHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData"; +import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData"; import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData"; import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse"; import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig"; @@ -33,6 +34,12 @@ export declare class InsuranceController { insuranceService: InsuranceService, configServer: ConfigServer); processReturn(): void; insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse; - cost(info: IGetInsuranceCostRequestData, sessionID: string): any; + /** + * Calculate insurance cost + * @param info request object + * @param sessionID session id + * @returns response object to send to client + */ + cost(info: IGetInsuranceCostRequestData, sessionID: string): IGetInsuranceCostResponseData; doAbsolutelyNothing(): void; } diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/InventoryController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/InventoryController.d.ts index b732aa9..f57f731 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/InventoryController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/InventoryController.d.ts @@ -24,6 +24,8 @@ import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRout import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { FenceService } from "../services/FenceService"; +import { RagfairOfferService } from "../services/RagfairOfferService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; export declare class InventoryController { @@ -31,12 +33,14 @@ export declare class InventoryController { protected hashUtil: HashUtil; protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; + protected fenceService: FenceService; protected presetHelper: PresetHelper; protected inventoryHelper: InventoryHelper; + protected ragfairOfferService: RagfairOfferService; protected profileHelper: ProfileHelper; protected paymentHelper: PaymentHelper; protected itemEventRouter: ItemEventRouter; - constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); + constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, fenceService: FenceService, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, ragfairOfferService: RagfairOfferService, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter); /** * Move Item * change location of item with parentId and slotId @@ -93,9 +97,19 @@ export declare class InventoryController { tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse; bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse; /** - * Handles examining of the item * + * Handles examining an item + * @param pmcData player profile + * @param body request object + * @param sessionID session id + * @returns response */ examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse; + /** + * Get the tplid of an item from the examine request object + * @param body response request + * @returns tplid + */ + protected getExaminedItemTpl(body: IInventoryExamineRequestData): string; readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse; /** * Handles sorting of Inventory. diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/MatchController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/MatchController.d.ts index c322d96..0851ab0 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/MatchController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/MatchController.d.ts @@ -1,30 +1,36 @@ import { ProfileHelper } from "../helpers/ProfileHelper"; import { TraderHelper } from "../helpers/TraderHelper"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData"; +import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData"; import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData"; +import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData"; +import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult"; import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData"; import { IInRaidConfig } from "../models/spt/config/IInRaidConfig"; import { IMatchConfig } from "../models/spt/config/IMatchConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { MatchLocationService } from "../services/MatchLocationService"; export declare class MatchController { protected saveServer: SaveServer; protected profileHelper: ProfileHelper; protected matchLocationService: MatchLocationService; protected traderHelper: TraderHelper; + protected botLootCacheService: BotLootCacheService; protected configServer: ConfigServer; protected matchConfig: IMatchConfig; protected inraidConfig: IInRaidConfig; - constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer); + constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer); getEnabled(): boolean; getProfile(info: IGetProfileRequestData): IPmcData[]; - protected getMatch(location: any): any; - createGroup(sessionID: string, info: any): any; + createGroup(sessionID: string, info: ICreateGroupRequestData): any; deleteGroup(info: any): void; - joinMatch(info: any, sessionID: string): any[]; - getGroupStatus(info: any): any; + joinMatch(info: IJoinMatchRequestData, sessionID: string): IJoinMatchResult[]; + protected getMatch(location: string): any; + getGroupStatus(info: IGetGroupStatusRequestData): any; startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void; endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void; } diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/ProfileController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/ProfileController.d.ts index 9b7a6d5..b40bb7d 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/ProfileController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/ProfileController.d.ts @@ -11,6 +11,7 @@ import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendRespon import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class ProfileController { @@ -19,13 +20,20 @@ export declare class ProfileController { protected saveServer: SaveServer; protected databaseServer: DatabaseServer; protected itemHelper: ItemHelper; + protected profileFixerService: ProfileFixerService; protected traderHelper: TraderHelper; protected extendedProfileHelper: ExtendedProfileHelper; - constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); + constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileFixerService: ProfileFixerService, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper); getMiniProfiles(): IMiniProfile[]; getMiniProfile(sessionID: string): any; getCompleteProfile(sessionID: string): IPmcData[]; createProfile(info: IProfileCreateRequestData, sessionID: string): void; + /** + * Generate a player scav object + * pmc profile MUST exist first before pscav can be generated + * @param sessionID + * @returns IPmcData object + */ generatePlayerScav(sessionID: string): IPmcData; validateNickname(info: IValidateNicknameRequestData, sessionID: string): string; changeNickname(info: IProfileChangeNicknameRequestData, sessionID: string): string; diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/QuestController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/QuestController.d.ts index c00cd6d..2cbccfb 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/QuestController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/QuestController.d.ts @@ -14,6 +14,7 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; import { PlayerService } from "../services/PlayerService"; import { TimeUtil } from "../utils/TimeUtil"; export declare class QuestController { @@ -27,9 +28,10 @@ export declare class QuestController { protected questHelper: QuestHelper; protected questConditionHelper: QuestConditionHelper; protected playerService: PlayerService; + protected localeService: LocaleService; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, configServer: ConfigServer); /** * Get all quests visible to player * Exclude quests with incomplete preconditions (level/loyalty) diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/RagfairController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/RagfairController.d.ts index c758593..c4ffc15 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/RagfairController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/RagfairController.d.ts @@ -60,6 +60,8 @@ export declare class RagfairController { protected ragfairConfig: IRagfairConfig; constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer); getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult; + protected isLinkedSearch(info: ISearchRequestData): boolean; + protected isRequiredSearch(info: ISearchRequestData): boolean; update(): void; getItemPrice(info: IGetMarketPriceRequestData): IGetItemPriceResult; addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse; diff --git a/KcY-SeeItemValue/itemValue/server/types/controllers/RepeatableQuestController.d.ts b/KcY-SeeItemValue/itemValue/server/types/controllers/RepeatableQuestController.d.ts index 9aa9590..2bb2aa9 100644 --- a/KcY-SeeItemValue/itemValue/server/types/controllers/RepeatableQuestController.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/controllers/RepeatableQuestController.d.ts @@ -1,4 +1,3 @@ -import { GameHelper } from "../helpers/GameHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; import { ProfileHelper } from "../helpers/ProfileHelper"; @@ -16,6 +15,7 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { PaymentService } from "../services/PaymentService"; +import { ProfileFixerService } from "../services/ProfileFixerService"; import { JsonUtil } from "../utils/JsonUtil"; import { MathUtil } from "../utils/MathUtil"; import { ObjectId } from "../utils/ObjectId"; @@ -58,14 +58,14 @@ export declare class RepeatableQuestController { protected itemHelper: ItemHelper; protected presetHelper: PresetHelper; protected profileHelper: ProfileHelper; - protected gameHelper: GameHelper; + protected profileFixerService: ProfileFixerService; protected ragfairServerHelper: RagfairServerHelper; protected itemEventRouter: ItemEventRouter; protected paymentService: PaymentService; protected objectId: ObjectId; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer); + constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, 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. diff --git a/KcY-SeeItemValue/itemValue/server/types/generators/BotGenerator.d.ts b/KcY-SeeItemValue/itemValue/server/types/generators/BotGenerator.d.ts index 88a8014..28f05a9 100644 --- a/KcY-SeeItemValue/itemValue/server/types/generators/BotGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/generators/BotGenerator.d.ts @@ -31,16 +31,54 @@ export declare class BotGenerator { protected botConfig: IBotConfig; 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[]; + /** + * Choose if a bot should become a Pmc by checking if bot type is allowed to become a Pmc in bot config + * @param isPlayerScav is a player scav being generated, forces choice returned to never be a pmc + */ + protected shouldBotBePmc(isPlayerScav: boolean, role: string): boolean; + /** + * Get a randomised PMC side based on bot config value 'isUsec' + * @returns pmc side as string + */ + protected getRandomisedPmcSide(): string; + /** + * Get a clone of the database\bots\base.json file + * @returns IBotBase object + */ + protected getCloneOfBotBase(): IBotBase; protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase; + /** + * Log the number of PMCs generated to the debug console + */ + protected logPmcGeneratedCount(output: IBotBase[]): void; protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult; - /** Converts health object to the required format */ + /** + * Converts health object to the required format + * @param healthObj health object from bot json + * @param playerScav Is a pscav bot being generated + * @returns PmcHealth object + */ protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth; protected generateSkills(skillsObj: Skills): Skills; + /** + * Convert from pmc side (usec/bear) to the side as defined in the bot config (usecType/bearType) + * @param pmcSide eft side (usec/bear) + * @returns pmc side as defined in config + */ protected getPmcRole(pmcSide: string): string; + /** + * Iterate through bots inventory and loot to find and remove christmas items (as defined in GameEventHelper) + * @param nodeInventory Bots inventory to iterate over + */ protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void; protected generateId(bot: IBotBase): IBotBase; protected generateInventoryID(profile: IBotBase): IBotBase; protected getPMCDifficulty(requestedDifficulty: string): string; + /** + * Add a side-specific (usec/bear) dogtag item to a bots inventory + * @param bot bot to add dogtag to + * @returns Bot with dogtag added + */ protected generateDogtag(bot: IBotBase): IBotBase; } export {}; diff --git a/KcY-SeeItemValue/itemValue/server/types/generators/BotLootGenerator.d.ts b/KcY-SeeItemValue/itemValue/server/types/generators/BotLootGenerator.d.ts index 1d91836..2295f51 100644 --- a/KcY-SeeItemValue/itemValue/server/types/generators/BotLootGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/generators/BotLootGenerator.d.ts @@ -1,29 +1,27 @@ -import { PMCLootGenerator } from "../generators/PMCLootGenerator"; import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper"; import { HandbookHelper } from "../helpers/HandbookHelper"; import { Inventory as PmcInventory } from "../models/eft/common/IPmcData"; import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { IBotConfig } from "../models/spt/config/IBotConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { HashUtil } from "../utils/HashUtil"; -import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; export declare class BotLootGenerator { - protected jsonUtil: JsonUtil; + protected logger: ILogger; protected hashUtil: HashUtil; protected randomUtil: RandomUtil; protected databaseServer: DatabaseServer; protected handbookHelper: HandbookHelper; protected botGeneratorHelper: BotGeneratorHelper; - protected pmcLootGenerator: PMCLootGenerator; + protected botLootCacheService: BotLootCacheService; protected configServer: ConfigServer; protected botConfig: IBotConfig; - 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; + constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, botLootCacheService: BotLootCacheService, configServer: ConfigServer); + generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, botRole: string, inventory: PmcInventory): void; protected getRandomisedCount(min: number, max: number, nValue: number): number; protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void; - /** Compares two item templates by their price to spawn chance ratio */ - protected compareByValue(a: ITemplateItem, b: ITemplateItem): number; } diff --git a/KcY-SeeItemValue/itemValue/server/types/generators/BotWeaponGenerator.d.ts b/KcY-SeeItemValue/itemValue/server/types/generators/BotWeaponGenerator.d.ts index a43b18c..80dc37c 100644 --- a/KcY-SeeItemValue/itemValue/server/types/generators/BotWeaponGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/generators/BotWeaponGenerator.d.ts @@ -9,7 +9,9 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; import { HashUtil } from "../utils/HashUtil"; import { RandomUtil } from "../utils/RandomUtil"; +import { JsonUtil } from "../utils/JsonUtil"; export declare class BotWeaponGenerator { + protected jsonUtil: JsonUtil; protected logger: ILogger; protected hashUtil: HashUtil; protected databaseServer: DatabaseServer; @@ -18,7 +20,7 @@ export declare class BotWeaponGenerator { protected botGeneratorHelper: BotGeneratorHelper; protected randomUtil: RandomUtil; private readonly modMagazineSlotId; - constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); + constructor(jsonUtil: JsonUtil, logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil); generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void; /** * Get the mods necessary to kit out a weapon to its preset level @@ -41,6 +43,13 @@ export declare class BotWeaponGenerator { * @returns */ protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void; + /** + * Get a randomised number of bullets for a specific magazine + * @param magCounts min and max count of magazines + * @param magTemplate magazine to generate bullet count for + * @returns bullet count number + */ + protected getRandomisedBulletCount(magCounts: MinMax, magTemplate: ITemplateItem): number; /** * Get a randomised count of magazines * @param magCounts min and max value returned value can be between diff --git a/KcY-SeeItemValue/itemValue/server/types/generators/RagfairOfferGenerator.d.ts b/KcY-SeeItemValue/itemValue/server/types/generators/RagfairOfferGenerator.d.ts index de53ea9..3e7f4cc 100644 --- a/KcY-SeeItemValue/itemValue/server/types/generators/RagfairOfferGenerator.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/generators/RagfairOfferGenerator.d.ts @@ -11,6 +11,7 @@ import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { FenceService } from "../services/FenceService"; +import { RagfairCategoriesService } from "../services/RagfairCategoriesService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { RagfairPriceService } from "../services/RagfairPriceService"; import { HashUtil } from "../utils/HashUtil"; @@ -31,11 +32,12 @@ export declare class RagfairOfferGenerator { protected ragfairAssortGenerator: RagfairAssortGenerator; protected ragfairOfferService: RagfairOfferService; protected ragfairPriceService: RagfairPriceService; + protected ragfairCategoriesService: RagfairCategoriesService; protected fenceService: FenceService; protected itemHelper: ItemHelper; protected configServer: ConfigServer; protected ragfairConfig: IRagfairConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); + constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, ragfairCategoriesService: RagfairCategoriesService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer); createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer; protected getTraderId(userID: string): string; protected getRating(userID: string): number; diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/BotGeneratorHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/BotGeneratorHelper.d.ts index e4b0c11..243e7a8 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/BotGeneratorHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/BotGeneratorHelper.d.ts @@ -29,6 +29,12 @@ export declare class BotGeneratorHelper { protected botConfig: IBotConfig; constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, probabilityHelper: ProbabilityHelper, 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[]; + /** + * Is this magazine cylinder related (revolvers and grenade launchers) + * @param magazineParentName the name of the magazines parent + * @returns true if it is cylinder related + */ + magazineIsCylinderRelated(magazineParentName: string): boolean; /** * Get a list of non black-listed cartridges from the PMC bot config * @param modSlot mod item slot @@ -69,6 +75,12 @@ export declare class BotGeneratorHelper { * @param {object} parentTemplate The CylinderMagazine's template */ protected fillCamora(items: Item[], modPool: Mods, parentId: string, parentTemplate: ITemplateItem): void; + /** + * Take a record of camoras and merge the compatable shells into one array + * @param camorasWithShells camoras we want to merge into one array + * @returns string array of shells fro luitple camora sources + */ + protected mergeCamoraPoolsTogether(camorasWithShells: Record): string[]; generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole?: any): { upd?: Upd; }; diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/ExtendedProfileHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/ExtendedProfileHelper.d.ts index d8b754d..c05d88e 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/ExtendedProfileHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/ExtendedProfileHelper.d.ts @@ -2,15 +2,20 @@ import { BotGenerator } from "../generators/BotGenerator"; import { IPmcData, Skills, Stats } from "../models/eft/common/IPmcData"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { BotLootCacheService } from "../services/BotLootCacheService"; import { FenceService } from "../services/FenceService"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; import { Watermark } from "../utils/Watermark"; import { ItemHelper } from "./ItemHelper"; import { ProfileHelper } from "./ProfileHelper"; +/** + * This class needs to exist outside of ProfileHelper to ensure cyclic deps don't cause the server to fail on load + */ export declare class ExtendedProfileHelper extends ProfileHelper { + protected botLootCacheService: BotLootCacheService; protected botGenerator: BotGenerator; - constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, fenceService: FenceService, botGenerator: BotGenerator); + constructor(jsonUtil: JsonUtil, watermark: Watermark, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, botLootCacheService: BotLootCacheService, fenceService: FenceService, botGenerator: BotGenerator); generatePlayerScav(sessionID: string): IPmcData; protected getScavSkills(sessionID: string): Skills; protected removeSecureContainer(profile: IPmcData): IPmcData; diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/GameHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/GameHelper.d.ts deleted file mode 100644 index fd49e84..0000000 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/GameHelper.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { IPmcData } from "../models/eft/common/IPmcData"; -import { ILogger } from "../models/spt/utils/ILogger"; -export declare class GameHelper { - protected logger: ILogger; - constructor(logger: ILogger); - /** - * Remove condition conters no longer used - * @param pmcProfile profile to remove old counters from - */ - removeDanglingConditionCounters(pmcProfile: IPmcData): void; -} diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/HealthHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/HealthHelper.d.ts index 518c23f..3116c9c 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/HealthHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/HealthHelper.d.ts @@ -15,13 +15,37 @@ export declare class HealthHelper { protected configServer: ConfigServer; protected healthConfig: IHealthConfig; constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); + /** + * Resets the profiles vitality/healh and vitality/effects properties to their defaults + * @param sessionID Session Id + * @returns updated profile + */ resetVitality(sessionID: string): IAkiProfile; - saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void; + /** + * Update player profile with changes from request object + * @param pmcData Player profile + * @param info Request object + * @param sessionID Session id + * @param addEffects Should effects be added or removed (default - add) + */ + saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void; protected saveHealth(pmcData: IPmcData, sessionID: string): void; - protected saveEffects(pmcData: IPmcData, sessionID: string): void; - protected addEffect(pmcData: IPmcData, sessionID: string, effect: { - bodyPart: string; - effectType: string; - }): void; + /** + * Save effects to profile + * Works by removing all effects and adding them back from profile + * Remoces empty 'Effects' objects if found + * @param pmcData Player profile + * @param sessionID Session id + * @param addEffects Should effects be added back to profile + * @returns + */ + protected saveEffects(pmcData: IPmcData, sessionID: string, addEffects: boolean): void; + /** + * Add effect to body part in profile + * @param pmcData Player profile + * @param effectBodyPart body part to edit + * @param effectType Effect to add to body part + */ + protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: string): void; protected isEmpty(map: any): boolean; } diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/InRaidHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/InRaidHelper.d.ts index 05b6fdf..58e0f6a 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/InRaidHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/InRaidHelper.d.ts @@ -28,6 +28,18 @@ export declare class InRaidHelper { markFoundItems(pmcData: IPmcData, profile: IPmcData, isPlayerScav: boolean): IPmcData; removeFoundInRaidStatusFromItems(profile: IPmcData): IPmcData; setInventory(sessionID: string, pmcData: IPmcData, profile: IPmcData): IPmcData; + /** + * Clear pmc inventory of all items except those that are exempt + * @param pmcData Player profile + * @param sessionID Session id + * @returns Player profile with pmc inventory cleared + */ deleteInventory(pmcData: IPmcData, sessionID: string): IPmcData; + /** + * Does the provided items slotId mean its kept on the player after death + * @param slotId slotid of item to check + * @returns true if item is kept after death + */ + isItemKeptAfterDeath(slotId: string): boolean; getPlayerGear(items: Item[]): Item[]; } diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/ItemHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/ItemHelper.d.ts index 70c88d6..4e0eba4 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/ItemHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/ItemHelper.d.ts @@ -1,5 +1,5 @@ import { InsuredItem, IPmcData } from "../models/eft/common/IPmcData"; -import { Item } from "../models/eft/common/tables/IItem"; +import { Item, Repairable } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; import { ILogger } from "../models/spt/utils/ILogger"; import { DatabaseServer } from "../servers/DatabaseServer"; @@ -18,7 +18,7 @@ declare class ItemHelper { */ 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 + * Checks if an id is a valid item. Valid meaning that it's an item that may be a reward * or content of bot loot. Items that are tested as valid may be in a player backpack or stash. * @param {*} tpl template id of item to check * @returns boolean: true if item is valid reward @@ -83,26 +83,76 @@ declare class ItemHelper { * @returns {array} The array of StackSlotItems */ generateItemsFromStackSlot(item: ITemplateItem, parentId: string): Item[]; + /** + * Gets item data from items.json + * @param tpl items template id to look up + * @returns bool - is valid + template item object as array + */ getItem(tpl: string): [boolean, ITemplateItem]; + /** + * get normalized value (0-1) based on item condition + * @param item + * @returns number between 0 and 1 + */ getItemQualityModifier(item: Item): number; + /** + * Get a quality value based on a repairable items (weapon/armor) current state between current and max durability + * @param itemDetails + * @param repairable repairable object + * @param item + * @returns a number between 0 and 1 + */ + protected getRepairableItemQualityValue(itemDetails: ITemplateItem, repairable: Repairable, item: Item): number; + /** + * Recursive function that looks at every item from parameter and gets their childrens Ids + * @param items + * @param itemID + * @returns an array of strings + */ findAndReturnChildrenByItems(items: Item[], itemID: string): string[]; /** * A variant of findAndReturnChildren where the output is list of item objects instead of their ids. + * @param items + * @param baseItemId + * @returns An array of Item objects */ findAndReturnChildrenAsItems(items: Item[], baseItemId: string): Item[]; /** - * find children of the item in a given assort (weapons parts for example, need recursive loop function) + * Find children of the item in a given assort (weapons parts for example, need recursive loop function) + * @param itemIdToFind Template id of item to check for + * @param assort Array of items to check in + * @returns Array of children of requested item */ findAndReturnChildrenByAssort(itemIdToFind: string, assort: Item[]): Item[]; + /** + * Check if the passed in item has buy count restrictions + * @param itemToCheck Item to check + * @returns true if it has buy restrictions + */ 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 + * is the passed in template id a dog tag + * @param tpl Template id to check + * @returns true if it is a dogtag */ isDogtag(tpl: string): boolean; + /** + * Can the item passed in be sold to a trader because it is raw money + * @param tpl Item template id to check + * @returns true if unsellable + */ isNotSellable(tpl: string): boolean; + /** + * Gets the identifier for a child using slotId, locationX and locationY. + * @param item + * @returns "slotId OR slotid,locationX,locationY" + */ getChildId(item: Item): string; + /** + * Can the pased in item be stacked + * @param tpl item to check + * @returns true if it can be stacked + */ isItemTplStackable(tpl: string): boolean; /** * split item stack if it exceeds StackMaxSize @@ -112,15 +162,17 @@ declare class ItemHelper { * Find Barter items in the inventory * @param {string} by * @param {Object} pmcData - * @param {string} barter_itemID - * @returns Array + * @param {string} barterItemId + * @returns Array of Item objects */ - findBarterItems(by: string, pmcData: IPmcData, barter_itemID: string): any[]; + findBarterItems(by: string, pmcData: IPmcData, barterItemId: string): Item[]; /** - * @param {Object} pmcData - * @param {Array} items - * @param {Object} fastPanel - * @returns Array + * + * @param pmcData + * @param items + * @param insuredItems insured items to not replace ids for + * @param fastPanel + * @returns */ replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[]; /** @@ -136,6 +188,12 @@ declare class ItemHelper { * @returns boolean */ isQuestItem(tpl: string): boolean; + /** + * Get the inventory size of an item + * @param items + * @param rootItemId + * @returns ItemSize object (width and height) + */ getItemSize(items: Item[], rootItemId: string): ItemHelper.ItemSize; } declare namespace ItemHelper { diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/PresetHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/PresetHelper.d.ts index 0371886..a469582 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/PresetHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/PresetHelper.d.ts @@ -1,9 +1,11 @@ import { Preset } from "../models/eft/common/IGlobals"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; export declare class PresetHelper { + protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; protected lookup: Record; - constructor(databaseServer: DatabaseServer); + constructor(jsonUtil: JsonUtil, databaseServer: DatabaseServer); hydratePresetStore(input: Record): void; isPreset(id: string): boolean; hasPreset(templateId: string): boolean; diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/ProfileHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/ProfileHelper.d.ts index 6a64291..b369000 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/ProfileHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/ProfileHelper.d.ts @@ -20,6 +20,12 @@ export declare class ProfileHelper { resetProfileQuestCondition(sessionID: string, conditionId: string): void; getCompleteProfile(sessionID: string): IPmcData[]; isNicknameTaken(info: IValidateNicknameRequestData, sessionID: string): boolean; + /** + * Add experience to a PMC inside the players profile + * @param sessionID Session id + * @param experienceToAdd Experiecne to add to PMC character + */ + addExperienceToPmc(sessionID: string, experienceToAdd: number): void; getProfileByPmcId(pmcId: string): IPmcData; getExperience(level: number): number; getMaxLevel(): number; diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/QuestHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/QuestHelper.d.ts index 04ede16..0b10135 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/QuestHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/QuestHelper.d.ts @@ -8,6 +8,7 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; @@ -25,6 +26,7 @@ export declare class QuestHelper { protected itemHelper: ItemHelper; protected itemEventRouter: ItemEventRouter; protected databaseServer: DatabaseServer; + protected localeService: LocaleService; protected ragfairServerHelper: RagfairServerHelper; protected dialogueHelper: DialogueHelper; protected profileHelper: ProfileHelper; @@ -32,7 +34,7 @@ export declare class QuestHelper { protected traderHelper: TraderHelper; protected configServer: ConfigServer; protected questConfig: IQuestConfig; - constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); + constructor(logger: ILogger, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, traderHelper: TraderHelper, configServer: ConfigServer); static get STATUS(): Record; questStatus(pmcData: IPmcData, questID: string): string; /** @@ -73,8 +75,22 @@ export declare class QuestHelper { */ cleanQuestConditions(quest: IQuest): IQuest; failQuest(pmcData: IPmcData, body: any, sessionID: string): any; + /** + * Get quest by id from database + * @param questId questid to look for + * @param pmcData player profile + * @returns IQuest object + */ getQuestFromDb(questId: string, pmcData: IPmcData): IQuest; - getQuestLocaleIdFromDb(messageId: string, localisation?: string): string; + getQuestLocaleIdFromDb(messageId: string): string; + /** + * Give player quest rewards - Skills/exp/trader standing/items/assort unlocks + * @param pmcData Player profile + * @param body complete quest request + * @param state State of the quest now its complete + * @param sessionID Seession id + * @returns array of reward objects + */ applyQuestReward(pmcData: IPmcData, body: ICompleteQuestRequestData, state: string, sessionID: string): Reward[]; /** * Get the intel center bonus a player has diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairOfferHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairOfferHelper.d.ts index 129bc1c..5a77e13 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairOfferHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairOfferHelper.d.ts @@ -10,6 +10,7 @@ import { ItemEventRouter } from "../routers/ItemEventRouter"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { LocaleService } from "../services/LocaleService"; import { RagfairOfferService } from "../services/RagfairOfferService"; import { HashUtil } from "../utils/HashUtil"; import { TimeUtil } from "../utils/TimeUtil"; @@ -37,11 +38,12 @@ export declare class RagfairOfferHelper { protected ragfairSortHelper: RagfairSortHelper; protected ragfairHelper: RagfairHelper; protected ragfairOfferService: RagfairOfferService; + protected localeService: LocaleService; protected configServer: ConfigServer; protected static TPL_GOODS_SOLD: string; protected ragfairConfig: IRagfairConfig; protected questConfig: IQuestConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, dialogueHelper: DialogueHelper, itemHelper: ItemHelper, paymentHelper: PaymentHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, ragfairServerHelper: RagfairServerHelper, ragfairSortHelper: RagfairSortHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, localeService: LocaleService, 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; diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairServerHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairServerHelper.d.ts index 2cb3ea5..a52306b 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairServerHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairServerHelper.d.ts @@ -1,11 +1,12 @@ -import { MemberCategory } from "../models/enums/MemberCategory"; import { Item } from "../models/eft/common/tables/IItem"; import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { MemberCategory } from "../models/enums/MemberCategory"; import { IQuestConfig } from "../models/spt/config/IQuestConfig"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; +import { LocaleService } from "../services/LocaleService"; import { HashUtil } from "../utils/HashUtil"; import { JsonUtil } from "../utils/JsonUtil"; import { RandomUtil } from "../utils/RandomUtil"; @@ -19,13 +20,14 @@ export declare class RagfairServerHelper { protected databaseServer: DatabaseServer; protected profileHelper: ProfileHelper; protected itemHelper: ItemHelper; + protected localeService: LocaleService; protected dialogueHelper: DialogueHelper; protected jsonUtil: JsonUtil; protected configServer: ConfigServer; protected ragfairConfig: IRagfairConfig; protected questConfig: IQuestConfig; protected static TPL_GOODS_RETURNED: string; - constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); + constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, localeService: LocaleService, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer); /** * Is item valid / on blacklist / quest item * @param itemDetails diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairSortHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairSortHelper.d.ts index e983569..d20e10c 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairSortHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/RagfairSortHelper.d.ts @@ -1,8 +1,10 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; import { DatabaseServer } from "../servers/DatabaseServer"; +import { LocaleService } from "../services/LocaleService"; export declare class RagfairSortHelper { protected databaseServer: DatabaseServer; - constructor(databaseServer: DatabaseServer); + protected localeService: LocaleService; + constructor(databaseServer: DatabaseServer, localeService: LocaleService); sortOffers(offers: IRagfairOffer[], type: number, direction?: number): IRagfairOffer[]; protected sortOffersByID(a: IRagfairOffer, b: IRagfairOffer): number; protected sortOffersByRating(a: IRagfairOffer, b: IRagfairOffer): number; diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/TraderAssortHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/TraderAssortHelper.d.ts index 4f41ac2..91ba6b9 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/TraderAssortHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/TraderAssortHelper.d.ts @@ -2,24 +2,32 @@ import { RagfairAssortGenerator } from "../generators/RagfairAssortGenerator"; import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator"; import { Item } from "../models/eft/common/tables/IItem"; import { ITraderAssort } from "../models/eft/common/tables/ITrader"; +import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { FenceService } from "../services/FenceService"; import { TraderAssortService } from "../services/TraderAssortService"; import { JsonUtil } from "../utils/JsonUtil"; +import { MathUtil } from "../utils/MathUtil"; import { AssortHelper } from "./AssortHelper"; +import { PaymentHelper } from "./PaymentHelper"; import { ProfileHelper } from "./ProfileHelper"; export declare class TraderAssortHelper { protected logger: ILogger; protected jsonUtil: JsonUtil; + protected mathUtil: MathUtil; protected databaseServer: DatabaseServer; protected profileHelper: ProfileHelper; protected assortHelper: AssortHelper; + protected paymentHelper: PaymentHelper; protected ragfairAssortGenerator: RagfairAssortGenerator; protected ragfairOfferGenerator: RagfairOfferGenerator; protected traderAssortService: TraderAssortService; protected fenceService: FenceService; - constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService); + protected configServer: ConfigServer; + protected traderConfig: ITraderConfig; + constructor(logger: ILogger, jsonUtil: JsonUtil, mathUtil: MathUtil, databaseServer: DatabaseServer, profileHelper: ProfileHelper, assortHelper: AssortHelper, paymentHelper: PaymentHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferGenerator: RagfairOfferGenerator, traderAssortService: TraderAssortService, fenceService: FenceService, configServer: ConfigServer); /** * Get a traders assorts * Can be used for returning ragfair / fence assorts @@ -29,7 +37,12 @@ export declare class TraderAssortHelper { */ getAssort(sessionId: string, traderId: string): ITraderAssort; /** - * Get an array of pristine trader items prior to any alteration by player + * Iterate over all assorts barter_scheme values, find barters selling for money and multiply by multipler in config + * @param traderAssort Assorts to multiple price of + */ + protected multiplyItemPricesByConfigMultipler(traderAssort: ITraderAssort): void; + /** + * Get an array of pristine trader items prior to any alteration by player (as they were on server start) * @param traderId trader id * @returns array of Items */ diff --git a/KcY-SeeItemValue/itemValue/server/types/helpers/TraderHelper.d.ts b/KcY-SeeItemValue/itemValue/server/types/helpers/TraderHelper.d.ts index ab4a371..b2e9d38 100644 --- a/KcY-SeeItemValue/itemValue/server/types/helpers/TraderHelper.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/helpers/TraderHelper.d.ts @@ -1,4 +1,6 @@ +import { FenceLevel } from "../models/eft/common/IGlobals"; import { IPmcData } from "../models/eft/common/IPmcData"; +import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme, ITraderAssort, ITraderBase, LoyaltyLevel } from "../models/eft/common/tables/ITrader"; import { ITraderConfig } from "../models/spt/config/ITraderConfig"; import { ILogger } from "../models/spt/utils/ILogger"; @@ -27,16 +29,70 @@ export declare class TraderHelper { getTrader(traderID: string, sessionID: string): ITraderBase; getTraderAssortsById(traderId: string): ITraderAssort; /** - * Reset a trader back to its initial state as seen by a level 1 player + * Reset a profiles trader data back to its initial state as seen by a level 1 player * Does NOT take into account different profile levels * @param sessionID session id * @param traderID trader id to reset */ resetTrader(sessionID: string, traderID: string): void; - changeTraderDisplay(traderID: string, status: boolean, sessionID: string): void; + /** + * Alter a traders unlocked status + * @param traderID Trader to alter + * @param status New status to use + * @param sessionID Session id + */ + setTraderUnlockedState(traderID: string, status: boolean, sessionID: string): void; + /** + * Get a list of items and their prices from player inventory that can be sold to a trader + * @param traderID trader id being traded with + * @param sessionID session id + * @returns IBarterScheme[][] + */ getPurchasesData(traderID: string, sessionID: string): Record; /** - * Calculate traders level based on exp amount and increment level if over threshold + * Should item be skipped when selling to trader according to its sell categories and other checks + * @param pmcData + * @param item + * @param sellCategory + * @returns true if should NOT be sold to trader + */ + protected isItemUnSellableToTrader(pmcData: IPmcData, item: Item, sellCategory: string[]): boolean; + /** + * Can this weapon be sold to a trader with its current durabiltiy level + * @param traderID + * @param item + * @returns boolean + */ + protected isWeaponAndBelowTraderBuyDurability(traderID: string, item: Item): boolean; + /** + * Get the price of an item and all of its attached children + * Take into account bonuses/adjsutments e.g. discounts + * @param pmcData profile data + * @param item item to calculate price of + * @param buyPriceCoefficient + * @param fenceInfo fence data + * @param traderBase trader details + * @param currencyTpl Currency to get price as + * @returns price of item + children + */ + protected getAdjustedItemPrice(pmcData: IPmcData, item: Item, buyPriceCoefficient: number, fenceInfo: FenceLevel, traderBase: ITraderBase, currencyTpl: string): number; + /** + * Get the raw price of item+child items from handbook without any modification + * @param pmcData profile data + * @param item item to calculate price of + * @returns price as number + */ + protected getRawItemPrice(pmcData: IPmcData, item: Item): number; + protected getTraderDiscount(trader: ITraderBase, buyPriceCoefficient: number, fenceInfo: FenceLevel, traderID: string): number; + /** + * Add standing to a trader and level them up if exp goes over level threshold + * @param sessionID Session id + * @param traderId traders id + * @param standingToAdd Standing value to add to trader + */ + addStandingToTrader(sessionID: string, traderId: string, standingToAdd: number): void; + /** + * Calculate traders level based on exp amount and increments level if over threshold * @param traderID trader to process * @param sessionID session id */ diff --git a/KcY-SeeItemValue/itemValue/server/types/loaders/PostAkiModLoader.d.ts b/KcY-SeeItemValue/itemValue/server/types/loaders/PostAkiModLoader.d.ts new file mode 100644 index 0000000..edc6e5d --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/loaders/PostAkiModLoader.d.ts @@ -0,0 +1,21 @@ +import { DependencyContainer } from "tsyringe"; +import { HandbookController } from "../controllers/HandbookController"; +import { IModLoader } from "../models/spt/mod/IModLoader"; +import { ModCompilerService } from "../services/ModCompilerService"; +import { VFS } from "../utils/VFS"; +import { BundleLoader } from "./BundleLoader"; +import { PreAkiModLoader } from "./PreAkiModLoader"; +export declare class PostAkiModLoader implements IModLoader { + protected bundleLoader: BundleLoader; + protected handbookController: HandbookController; + protected vfs: VFS; + protected modCompilerService: ModCompilerService; + protected preAkiModLoader: PreAkiModLoader; + constructor(bundleLoader: BundleLoader, handbookController: HandbookController, vfs: VFS, modCompilerService: ModCompilerService, preAkiModLoader: PreAkiModLoader); + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + getModPath(mod: string): string; + load(): void; + protected executeMods(container: DependencyContainer): void; + protected addBundles(): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/loaders/PostDBModLoader.d.ts b/KcY-SeeItemValue/itemValue/server/types/loaders/PostDBModLoader.d.ts new file mode 100644 index 0000000..5101b7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/loaders/PostDBModLoader.d.ts @@ -0,0 +1,11 @@ +import { DependencyContainer } from "tsyringe"; +import { OnLoad } from "../di/OnLoad"; +import { PreAkiModLoader } from "./PreAkiModLoader"; +export declare class PostDBModLoader implements OnLoad { + protected preAkiModLoader: PreAkiModLoader; + constructor(preAkiModLoader: PreAkiModLoader); + onLoad(): void; + getRoute(): string; + getModPath(mod: string): string; + protected executeMods(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/loaders/PreAkiModLoader.d.ts b/KcY-SeeItemValue/itemValue/server/types/loaders/PreAkiModLoader.d.ts new file mode 100644 index 0000000..6ded3c6 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/loaders/PreAkiModLoader.d.ts @@ -0,0 +1,64 @@ +import { DependencyContainer } from "tsyringe"; +import { ICoreConfig } from "../models/spt/config/ICoreConfig"; +import { ModLoader } from "../models/spt/mod/IMod"; +import { IModLoader } from "../models/spt/mod/IModLoader"; +import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +import { ModCompilerService } from "../services/ModCompilerService"; +import { JsonUtil } from "../utils/JsonUtil"; +import { VFS } from "../utils/VFS"; +import { BundleLoader } from "./BundleLoader"; +export declare class PreAkiModLoader implements IModLoader { + protected logger: ILogger; + protected vfs: VFS; + protected jsonUtil: JsonUtil; + protected modCompilerService: ModCompilerService; + protected bundleLoader: BundleLoader; + protected configServer: ConfigServer; + protected static container: DependencyContainer; + protected readonly basepath = "user/mods/"; + protected imported: Record; + protected akiConfig: ICoreConfig; + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, modCompilerService: ModCompilerService, bundleLoader: BundleLoader, configServer: ConfigServer); + load(container: DependencyContainer): Promise; + getBundles(local: boolean): string; + getBundle(key: string, local: boolean): void; + /** + * Returns a list of mods with preserved load order + * @returns Array of mod names in load order + */ + getImportedModsNames(): string[]; + getModPath(mod: string): string; + protected importClass(name: string, filepath: string, container: DependencyContainer): void; + protected importMods(): Promise; + /** + * + * @param mods Get an array of broken/invalid mods by name + * @returns Mod names array + */ + protected getBrokenMods(mods: string[]): string[]; + /** + * Get packageJson data for mods + * @param mods mods to get packageJson for + * @returns dictionary + */ + protected getModsPackageData(mods: string[]): Record; + /** + * Does mod have "delayedLoad(" string in its entry class + * @param modFolderName folder name + * @param modToValidate package.json details + * @returns boolean + */ + protected isModSpt3XXCompatible(modFolderName: string, modToValidate: IPackageJsonData): boolean; + protected isModCombatibleWithAki(mod: IPackageJsonData): boolean; + protected executeMods(container: DependencyContainer): void; + sortModsLoadOrder(): string[]; + protected addMod(mod: string): Promise; + protected areModDependenciesFulfilled(pkg: IPackageJsonData, loadedMods: Record): boolean; + protected isModCompatible(mod: IPackageJsonData, loadedMods: Record): boolean; + protected validMod(mod: string): boolean; + protected getLoadOrderRecursive(mod: string, result: Record, visited: Record): void; + protected getLoadOrder(mods: Record): Record; + getContainer(): DependencyContainer; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/IGlobals.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/IGlobals.d.ts index 456895c..9d28dbc 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/IGlobals.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/IGlobals.d.ts @@ -1128,8 +1128,11 @@ export interface Inertia { SprintAccelerationLimits: xyz; SideTime: xyz; DiagonalTime: xyz; + MaxTimeWithoutInput: xyz; MinDirectionBlendTime: number; - MoveTime: number; + MoveTimeRange: xyz; + ProneDirectionAccelerationRange: xyz; + ProneSpeedAccelerationRange: xyz; MinMovementAccelerationRangeRight: xyz; MaxMovementAccelerationRangeRight: xyz; } diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/ILocationBase.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/ILocationBase.d.ts index ad48d32..b1dd448 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/ILocationBase.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/ILocationBase.d.ts @@ -26,6 +26,7 @@ export interface ILocationBase { DisabledForScav: boolean; DisabledScavExits: string; Enabled: boolean; + EnableCoop: boolean; GlobalLootChanceModifier: number; IconX: number; IconY: number; @@ -41,6 +42,7 @@ export interface ILocationBase { MinDistToFreePoint: number; MinMaxBots: MinMaxBot[]; MinPlayers: number; + MaxCoopGroup: number; Name: string; NewSpawn: boolean; OcculsionCullingEnabled: boolean; @@ -48,6 +50,8 @@ export interface ILocationBase { OpenZones: string; Preview: Preview; RequiredPlayerLevel: number; + PmcMaxPlayersInGroup: number; + ScavMaxPlayersInGroup: number; Rules: string; SafeLocation: boolean; Scene: Scene; @@ -55,7 +59,8 @@ export interface ILocationBase { UnixDateTime: number; _Id: string; doors: any[]; - escape_time_limit: number; + EscapeTimeLimit: number; + EscapeTimeLimitCoop: number; exit_access_time: number; exit_count: number; exit_time: number; @@ -63,6 +68,7 @@ export interface ILocationBase { filter_ex: string[]; limits: ILimit[]; matching_min_seconds: number; + GenerateLocalLootCache: boolean; maxItemCountInLocation: MaxItemCountInLocation[]; sav_summon_seconds: number; tmp_location_field_remove_me: number; @@ -106,6 +112,7 @@ export interface BossLocationSpawn { BossName: string; BossPlayer: boolean; BossZone: string; + RandomTimeSpawn: boolean; Time: number; TriggerId: string; TriggerName: string; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/IPmcData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/IPmcData.d.ts index adc2aa5..56bf07f 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/IPmcData.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/IPmcData.d.ts @@ -6,7 +6,7 @@ import { MemberCategory } from "../../enums/MemberCategory"; export interface IPmcData { _id: string; aid: string; - savage: string; + savage?: string; Info: Info; Customization: Customization; Health: Health; @@ -28,13 +28,6 @@ export interface IPmcData { 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; @@ -56,6 +49,9 @@ export interface Info { Bans: IBan[]; BannedState: boolean; BannedUntil: number; + NeedWipeOptions: any[]; + lastCompletedWipe: LastCompleted; + lastCompletedEvent?: LastCompleted; } export interface Settings { Role: string; @@ -339,3 +335,13 @@ export interface RagfairInfo { } export interface CarExtractCounts { } +export declare enum SurvivorClass { + Unknown = 0, + Neutralizer = 1, + Marauder = 2, + Paramedic = 3, + Survivor = 4 +} +export interface LastCompleted { + $oid: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/IProfileTemplate.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/IProfileTemplate.d.ts new file mode 100644 index 0000000..fbcd81a --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/IProfileTemplate.d.ts @@ -0,0 +1,25 @@ +import { Dialogue, WeaponBuild } from "../../profile/IAkiProfile"; +import { IPmcData } from "../IPmcData"; +export interface IProfileTemplates { + Standard: IProfileSides; + "Left Behind": IProfileSides; + "Prepare To Escape": IProfileSides; + "Edge Of Darkness": IProfileSides; +} +export interface IProfileSides { + usec: TemplateSide; + bear: TemplateSide; +} +export interface TemplateSide { + character: IPmcData; + suits: string[]; + dialogues: Record; + weaponbuilds: WeaponBuild[]; + trader: ProfileTraderTemplate; +} +export interface ProfileTraderTemplate { + initialLoyaltyLevel: number; + initialStanding: number; + initialSalesSum: number; + jaegerUnlocked: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/IQuest.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/IQuest.d.ts index e1fc888..a349a6d 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/IQuest.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/IQuest.d.ts @@ -1,3 +1,4 @@ +import { QuestRewardType } from "../../../enums/QuestRewardType"; import { Item } from "./IItem"; export interface IQuest { QuestName: string; @@ -23,6 +24,7 @@ export interface IQuest { status: string; KeyQuest: boolean; changeQuestMessageText: string; + side: string; } export interface Conditions { Started: AvailableForConditions[]; @@ -56,6 +58,7 @@ export interface AvailableForProps { plantTime?: number; zoneId?: string; type?: boolean; + countInRaid?: boolean; } export interface AvailableForCounter { id: string; @@ -97,9 +100,9 @@ export interface Rewards { Expired: Reward[]; } export interface Reward { - value?: string; + value?: string | number; id: string; - type: string; + type: QuestRewardType; index: number; target?: string; items?: Item[]; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/ITemplateItem.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/ITemplateItem.d.ts index 934ea7d..23a1a14 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/common/tables/ITemplateItem.d.ts @@ -50,6 +50,7 @@ export interface Props { UnlootableFromSide?: string[]; AnimationVariantsNumber?: number; DiscardingBlock?: boolean; + DropSoundType?: string; RagFairCommissionModifier?: number; IsAlwaysAvailableForInsurance?: boolean; DiscardLimit?: number; @@ -89,7 +90,7 @@ export interface Props { SightModesCount?: number; OpticCalibrationDistances?: number[]; ScopesCount?: number; - AimSensitivity: any; + AimSensitivity?: number | number[][]; Zooms?: number[][]; CalibrationDistances?: number[][]; Intensity?: number; @@ -200,6 +201,9 @@ export interface Props { MinRepairDegradation?: number; MaxRepairDegradation?: number; IronSightRange?: number; + IsFlareGun?: boolean; + IsGrenadeLauncher?: boolean; + IsOneoff?: boolean; MustBoltBeOpennedForExternalReload?: boolean; MustBoltBeOpennedForInternalReload?: boolean; BoltAction?: boolean; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/game/IReportNicknameRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/game/IReportNicknameRequestData.d.ts new file mode 100644 index 0000000..087c58b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/game/IReportNicknameRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IReportNicknameRequestData { + uid: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/health/Effect.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/health/Effect.d.ts new file mode 100644 index 0000000..2f0adac --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/health/Effect.d.ts @@ -0,0 +1,5 @@ +export declare enum Effect { + Fracture = "Fracture", + LightBleeding = "LightBleeding", + HeavyBleeding = "HeavyBleeding" +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts new file mode 100644 index 0000000..bf209c6 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/insurance/IGetInsuranceCostResponseData.d.ts @@ -0,0 +1 @@ +export declare type IGetInsuranceCostResponseData = Record>; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/match/ICreateGroupRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/ICreateGroupRequestData.d.ts new file mode 100644 index 0000000..7413a8a --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/ICreateGroupRequestData.d.ts @@ -0,0 +1,6 @@ +import { RaidMode } from "../../enums/RaidMode"; +export interface ICreateGroupRequestData { + location: string; + raidMode: RaidMode; + startInGroup: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IGetGroupStatusRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IGetGroupStatusRequestData.d.ts new file mode 100644 index 0000000..55d7079 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IGetGroupStatusRequestData.d.ts @@ -0,0 +1,9 @@ +import { RaidMode } from "../../enums/RaidMode"; +export interface IGetGroupStatusRequestData { + location: string; + savage: boolean; + dt: string; + keyId: string; + raidMode: RaidMode; + startInGroup: boolean; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IJoinMatchRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IJoinMatchRequestData.d.ts new file mode 100644 index 0000000..cd34f7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IJoinMatchRequestData.d.ts @@ -0,0 +1,12 @@ +export interface IJoinMatchRequestData { + location: string; + savage: boolean; + dt: string; + servers: Server[]; + keyId: string; +} +export interface Server { + ping: number; + ip: string; + port: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IJoinMatchResult.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IJoinMatchResult.d.ts new file mode 100644 index 0000000..df695f4 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IJoinMatchResult.d.ts @@ -0,0 +1,11 @@ +export interface IJoinMatchResult { + profileid: string; + status: string; + sid: string; + ip: string; + port: number; + version: string; + location: string; + gamemode: string; + shortid: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IPutMetricsRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IPutMetricsRequestData.d.ts new file mode 100644 index 0000000..d9ed214 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IPutMetricsRequestData.d.ts @@ -0,0 +1,10 @@ +export interface IPutMetricsRequestData { + sid: string; + settings: any; + SharedSettings: any; + HardwareDescription: any; + Location: string; + Metrics: any; + ClientEvents: any; + SpikeSamples: any[]; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IStartOffineRaidRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IStartOffineRaidRequestData.d.ts index 84bccc8..af0625e 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IStartOffineRaidRequestData.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IStartOffineRaidRequestData.d.ts @@ -1,6 +1,7 @@ +import { BotAmount } from "../../enums/BotAmount"; +import { BotDifficulty } from "../../enums/BotDifficulty"; export interface IStartOfflineRaidRequestData { locationName: string; - entryPoint: string; startTime: number; dateTime: string; gameSettings: GameSettings; @@ -17,11 +18,11 @@ export interface TimeAndWeatherSettings { export interface BotsSettings { isEnabled: boolean; isScavWars: boolean; - botAmount: string; + botAmount: BotAmount; } export interface WavesSettings { - botDifficulty: string; + botDifficulty: BotDifficulty; isBosses: boolean; isTaggedAndCursed: boolean; - wavesBotAmount: string; + wavesBotAmount: BotAmount; } diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IUpdatePingRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IUpdatePingRequestData.d.ts new file mode 100644 index 0000000..defbd66 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/match/IUpdatePingRequestData.d.ts @@ -0,0 +1,3 @@ +export interface IUpdatePingRequestData { + servers: any[]; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/profile/GetProfileStatusResponseData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/profile/GetProfileStatusResponseData.d.ts new file mode 100644 index 0000000..eee9b4f --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/profile/GetProfileStatusResponseData.d.ts @@ -0,0 +1,11 @@ +export interface GetProfileStatusResponseData { + maxPveCountExceeded: false; + profiles: ProfileData[]; +} +export interface ProfileData { + profileid: string; + status: string; + sid: string; + ip: string; + port: number; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/quests/ICompleteQuestRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/quests/ICompleteQuestRequestData.d.ts index cc67404..36a6db3 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/eft/quests/ICompleteQuestRequestData.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/quests/ICompleteQuestRequestData.d.ts @@ -1,5 +1,6 @@ export interface ICompleteQuestRequestData { Action: string; + /** Quest Id */ qid: string; removeExcessItems: boolean; } diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/ragfair/IGetOffersResult.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/ragfair/IGetOffersResult.d.ts index 1c11422..fbc631d 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/eft/ragfair/IGetOffersResult.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/ragfair/IGetOffersResult.d.ts @@ -1,6 +1,6 @@ import { IRagfairOffer } from "./IRagfairOffer"; export interface IGetOffersResult { - categories: Record; + categories?: Record; offers: IRagfairOffer[]; offersCount: number; selectedCategory: string; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts new file mode 100644 index 0000000..2d14d20 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/eft/ragfair/ISendRagfairReportRequestData.d.ts @@ -0,0 +1,3 @@ +export interface ISendRagfairReportRequestData { + offerId: number; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/enums/BotAmount.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/enums/BotAmount.d.ts new file mode 100644 index 0000000..d0e1df1 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/enums/BotAmount.d.ts @@ -0,0 +1,7 @@ +export declare enum BotAmount { + AsOnline = "AsOnline", + Low = "Low", + Medium = "Medium", + High = "High", + Horde = "Horde" +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/enums/BotDifficulty.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/enums/BotDifficulty.d.ts new file mode 100644 index 0000000..c901bcf --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/enums/BotDifficulty.d.ts @@ -0,0 +1,8 @@ +export declare enum BotDifficulty { + AsOnline = "AsOnline", + Easy = "Easy", + Medium = "Medium", + Hard = "Hard", + Impossible = "Impossible", + Random = "Random" +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/enums/ConfigTypes.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/enums/ConfigTypes.d.ts index 6bd31e8..1c49e62 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/enums/ConfigTypes.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/enums/ConfigTypes.d.ts @@ -8,6 +8,7 @@ export declare enum ConfigTypes { IN_RAID = "aki-inraid", INSURANCE = "aki-insurance", INVENTORY = "aki-inventory", + LOCALE = "aki-locale", LOCATION = "aki-location", MATCH = "aki-match", QUEST = "aki-quest", diff --git a/KcY-SeeItemValue/itemValue/server/types/models/enums/QuestRewardType.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/enums/QuestRewardType.d.ts new file mode 100644 index 0000000..1d3db86 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/enums/QuestRewardType.d.ts @@ -0,0 +1,8 @@ +export declare enum QuestRewardType { + Skill = "Skill", + Experience = "Experience", + TraderStanding = "TraderStanding", + TraderUnlock = "TraderUnlock", + Item = "Item", + AssortmentUnlock = "AssortmentUnlock" +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/enums/RaidMode.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/enums/RaidMode.d.ts new file mode 100644 index 0000000..c5a8cff --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/enums/RaidMode.d.ts @@ -0,0 +1,5 @@ +export declare enum RaidMode { + Online = "Online", + Local = "Local", + Coop = "Coop" +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/external/IPostAkiLoadMod.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/external/IPostAkiLoadMod.d.ts new file mode 100644 index 0000000..f6950e8 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/external/IPostAkiLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPostAkiLoadMod { + postAkiLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/external/IPostDBLoadMod.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/external/IPostDBLoadMod.d.ts new file mode 100644 index 0000000..ca7c682 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/external/IPostDBLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPostDBLoadMod { + postDBLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/external/IPreAkiLoadMod.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/external/IPreAkiLoadMod.d.ts new file mode 100644 index 0000000..ae7579e --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/external/IPreAkiLoadMod.d.ts @@ -0,0 +1,4 @@ +import { DependencyContainer } from "./tsyringe"; +export interface IPreAkiLoadMod { + preAkiLoad(container: DependencyContainer): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/external/mod.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/external/mod.d.ts deleted file mode 100644 index ecef460..0000000 --- a/KcY-SeeItemValue/itemValue/server/types/models/external/mod.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { DependencyContainer } from "./tsyringe"; -export interface IMod { - load: (container: DependencyContainer) => void; - delayedLoad: (container: DependencyContainer) => void; -} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/bots/BotLootCache.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/bots/BotLootCache.d.ts new file mode 100644 index 0000000..e185315 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/bots/BotLootCache.d.ts @@ -0,0 +1,23 @@ +import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; +export declare class BotLootCache { + backpackLoot: ITemplateItem[]; + pocketLoot: ITemplateItem[]; + vestLoot: ITemplateItem[]; + combinedPoolLoot: ITemplateItem[]; + specialItems: ITemplateItem[]; + healingItems: ITemplateItem[]; + drugItems: ITemplateItem[]; + stimItems: ITemplateItem[]; + grenadeItems: ITemplateItem[]; +} +export declare enum LootCacheType { + Special = "Special", + Backpack = "Backpack", + Pocket = "Pocket", + Vest = "Vest", + Combined = "Combined", + HealingItems = "HealingItems", + DrugItems = "DrugItems", + StimItems = "StimItems", + GrenadeItems = "GrenadeItems" +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IBotConfig.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IBotConfig.d.ts index 5fb9d93..f8cf39b 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IBotConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IBotConfig.d.ts @@ -18,6 +18,7 @@ export interface PresetBatch { bossKojaniy: number; bossSanitar: number; bossTagilla: number; + bossKnight: number; bossTest: number; cursedAssault: number; followerBully: number; @@ -28,6 +29,8 @@ export interface PresetBatch { followerKojaniy: number; followerSanitar: number; followerTagilla: number; + followerBirdEye: number; + followerBigPipe: number; followerTest: number; marksman: number; pmcBot: number; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IInRaidConfig.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IInRaidConfig.d.ts index baaf083..3ae2972 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IInRaidConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IInRaidConfig.d.ts @@ -14,6 +14,7 @@ export interface RaidMenuSettings { bossEnabled: boolean; scavWars: boolean; taggedAndCursed: boolean; + enablePve: boolean; } export interface Save { loot: boolean; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/ILocaleConfig.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/ILocaleConfig.d.ts new file mode 100644 index 0000000..fe9abf7 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/ILocaleConfig.d.ts @@ -0,0 +1,5 @@ +import { IBaseConfig } from "./IBaseConfig"; +export interface ILocaleConfig extends IBaseConfig { + kind: "aki-locale"; + desiredLocale: string; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IRagfairConfig.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IRagfairConfig.d.ts index 2d151ca..8518252 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IRagfairConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/IRagfairConfig.d.ts @@ -30,6 +30,7 @@ export interface Dynamic { expiredOfferThreshold: number; offerItemCount: MinMax; price: MinMax; + presetPrice: MinMax; endTimeSeconds: MinMax; condition: Condition; stackablePercent: MinMax; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/ITraderConfig.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/ITraderConfig.d.ts index dab73e3..c8e8044 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/spt/config/ITraderConfig.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/config/ITraderConfig.d.ts @@ -3,13 +3,17 @@ export interface ITraderConfig extends IBaseConfig { kind: "aki-trader"; updateTime: UpdateTime[]; updateTimeDefault: number; - fenceAssortSize: number; - fenceMaxPresetsCount: number; - fencePresetPriceMult: number; + traderPriceMultipler: number; minDurabilityForSale: number; - fenceItemIgnoreList: string[]; + fence: FenceConfig; } export interface UpdateTime { traderId: string; seconds: number; } +export interface FenceConfig { + assortSize: number; + maxPresetsCount: number; + presetPriceMult: number; + blacklist: string[]; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/LogBackgroundColor.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/LogBackgroundColor.d.ts new file mode 100644 index 0000000..87e08a9 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/LogBackgroundColor.d.ts @@ -0,0 +1,11 @@ +export declare enum LogBackgroundColor { + default = "", + black = "blackBG", + red = "redBG", + green = "greenBG", + yellow = "yellowBG", + blue = "blueBG", + magenta = "magentaBG", + cyan = "cyanBG", + white = "whiteBG" +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/LogTextColor.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/LogTextColor.d.ts new file mode 100644 index 0000000..7147ae3 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/LogTextColor.d.ts @@ -0,0 +1,11 @@ +export declare enum LogTextColor { + black = "black", + red = "red", + green = "green", + yellow = "yellow", + blue = "blue", + magenta = "magenta", + cyan = "cyan", + white = "white", + gray = "" +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/SptLogger.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/SptLogger.d.ts new file mode 100644 index 0000000..ea1b3d8 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/logging/SptLogger.d.ts @@ -0,0 +1,7 @@ +export interface SptLogger { + error: (msg: string | Record) => void; + warn: (msg: string | Record) => void; + succ?: (msg: string | Record) => void; + info: (msg: string | Record) => void; + debug: (msg: string | Record) => void; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/server/IDatabaseTables.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/server/IDatabaseTables.d.ts index e0d3fdd..9978459 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/spt/server/IDatabaseTables.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/server/IDatabaseTables.d.ts @@ -6,6 +6,7 @@ import { ICustomizationItem } from "../../eft/common/tables/ICustomizationItem"; import { IHandbookBase } from "../../eft/common/tables/IHandbookBase"; import { ILootBase } from "../../eft/common/tables/ILootBase"; import { IMatch } from "../../eft/common/tables/IMatch"; +import { IProfileTemplates } from "../../eft/common/tables/IProfileTemplate"; import { IQuest } from "../../eft/common/tables/IQuest"; import { IRepeatableQuestDatabase } from "../../eft/common/tables/IRepeatableQuests"; import { ITemplateItem } from "../../eft/common/tables/ITemplateItem"; @@ -39,10 +40,13 @@ export interface IDatabaseTables { items: Record; quests: IQuest[]; repeatableQuests: IRepeatableQuestDatabase; + /** DEPRECATED - Items file found in the client, massivly out of date compared to templates.items, try not to use this, remove ASAP*/ clientItems: Record; handbook: IHandbookBase; customization: Record; - profiles: any; + /** The profile templates listed in the launcher on profile creation, split by account type (e.g. Standard) then side (e.g. bear/usec) */ + profiles: IProfileTemplates; + /** Flea prices of items - gathered from online flea market dump */ prices: Record; }; traders?: Record; diff --git a/KcY-SeeItemValue/itemValue/server/types/models/spt/utils/ILogger.d.ts b/KcY-SeeItemValue/itemValue/server/types/models/spt/utils/ILogger.d.ts index c983701..2af3fac 100644 --- a/KcY-SeeItemValue/itemValue/server/types/models/spt/utils/ILogger.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/models/spt/utils/ILogger.d.ts @@ -1,7 +1,10 @@ import { Daum } from "../../eft/itemEvent/IItemEventRouterRequest"; +import { LogBackgroundColor } from "../logging/LogBackgroundColor"; +import { LogTextColor } from "../logging/LogTextColor"; export interface ILogger { writeToLogFile(data: string | Daum): void; - log(data: string | Record | Error, color: string): void; + log(data: string | Record | Error, color: string, backgroundColor?: string): void; + logWithColor(data: string | Record, textColor: LogTextColor, backgroundColor?: LogBackgroundColor): void; error(data: string): void; warning(data: string): void; success(data: string): void; diff --git a/KcY-SeeItemValue/itemValue/server/types/servers/RagfairServer.d.ts b/KcY-SeeItemValue/itemValue/server/types/servers/RagfairServer.d.ts index 60c92b5..bc86cdb 100644 --- a/KcY-SeeItemValue/itemValue/server/types/servers/RagfairServer.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/servers/RagfairServer.d.ts @@ -17,7 +17,8 @@ export declare class RagfairServer { constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer); load(): void; update(): void; - getCategories(): Record; + getAllCategories(): Record; + getBespokeCategories(offers: IRagfairOffer[]): Record; /** * Disable/Hide an offer from flea * @param offerId diff --git a/KcY-SeeItemValue/itemValue/server/types/services/BotLootCacheService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/BotLootCacheService.d.ts new file mode 100644 index 0000000..72eb332 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/services/BotLootCacheService.d.ts @@ -0,0 +1,59 @@ +import { PMCLootGenerator } from "../generators/PMCLootGenerator"; +import { Items } from "../models/eft/common/tables/IBotType"; +import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; +import { BotLootCache, LootCacheType } from "../models/spt/bots/BotLootCache"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { JsonUtil } from "../utils/JsonUtil"; +import { RagfairPriceService } from "./RagfairPriceService"; +export declare class BotLootCacheService { + protected logger: ILogger; + protected jsonUtil: JsonUtil; + protected databaseServer: DatabaseServer; + protected pmcLootGenerator: PMCLootGenerator; + protected ragfairPriceService: RagfairPriceService; + protected lootCache: Record; + constructor(logger: ILogger, jsonUtil: JsonUtil, databaseServer: DatabaseServer, pmcLootGenerator: PMCLootGenerator, ragfairPriceService: RagfairPriceService); + /** + * Remove all cached bot loot data + */ + clearCache(): void; + /** + * Get the fully created loot array, ordered by price low to high + * @param botRole bot to get loot for + * @param isPmc is the bot a pmc + * @param lootType what type of loot is needed + * @param lootPool the full pool of loot (needed when cache is empty) + * @returns ITemplateItem array + */ + getLootFromCache(botRole: string, isPmc: boolean, lootType: LootCacheType, lootPool: Items): ITemplateItem[]; + /** + * Generate loot for a bot and store inside a private class property + * @param botRole + * @param lootType + * @param lootPool the full pool of loot we use to create the various sub-categories with + * @param isPmc + */ + protected addLootToCache(botRole: string, isPmc: boolean, lootType: LootCacheType, lootPool: Items): void; + /** + * Check if a bot type exists inside the loot cache + * @param botRole role to check for + * @returns true if they exist + */ + protected botRoleExistsInCache(botRole: string): boolean; + /** + * If lootcache is null, init with empty property arrays + * @param botRole Bot role to hydrate + */ + protected initCacheForBotRole(botRole: string): void; + /** + * Compares two item prices by their flea (or handbook if that doesnt exist) price + * -1 when a < b + * 0 when a === b + * 1 when a > b + * @param itemAPrice + * @param itemBPrice + * @returns + */ + protected compareByValue(itemAPrice: number, itemBPrice: number): number; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/services/CustomHandbookItemService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/CustomHandbookItemService.d.ts deleted file mode 100644 index 1c25b99..0000000 --- a/KcY-SeeItemValue/itemValue/server/types/services/CustomHandbookItemService.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { HandbookItem } from "../models/eft/common/tables/IHandbookBase"; -import { ILogger } from "../models/spt/utils/ILogger"; -export declare class CustomHandbookItemService { - protected logger: ILogger; - private customHandbookItems; - constructor(logger: ILogger); - /** - * Add handbook item - * @param handbookItem item to add - */ - add(handbookItem: HandbookItem): void; - get(): HandbookItem[]; -} diff --git a/KcY-SeeItemValue/itemValue/server/types/services/CustomItemService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/CustomItemService.d.ts deleted file mode 100644 index d5806b4..0000000 --- a/KcY-SeeItemValue/itemValue/server/types/services/CustomItemService.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -export declare class CustomItemService { - protected logger: ILogger; - protected databaseServer: DatabaseServer; - private customItems; - constructor(logger: ILogger, databaseServer: DatabaseServer); - add(itemToAdd: ITemplateItem): void; - get(): ITemplateItem[]; -} diff --git a/KcY-SeeItemValue/itemValue/server/types/services/CustomTraderAssortService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/CustomTraderAssortService.d.ts deleted file mode 100644 index e63d67b..0000000 --- a/KcY-SeeItemValue/itemValue/server/types/services/CustomTraderAssortService.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { CustomTraderAssortData } from "../models/spt/services/CustomTraderAssortData"; -import { ILogger } from "../models/spt/utils/ILogger"; -import { DatabaseServer } from "../servers/DatabaseServer"; -export declare class CustomTraderAssortService { - protected logger: ILogger; - protected databaseServer: DatabaseServer; - private customAssorts; - constructor(logger: ILogger, databaseServer: DatabaseServer); - /** - * Add assorts to a specific trader - */ - add(assortsToAdd: CustomTraderAssortData): void; - get(): CustomTraderAssortData[]; -} diff --git a/KcY-SeeItemValue/itemValue/server/types/services/FenceService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/FenceService.d.ts index 12723fb..79058c6 100644 --- a/KcY-SeeItemValue/itemValue/server/types/services/FenceService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/services/FenceService.d.ts @@ -29,8 +29,8 @@ export declare class FenceService { hasExpiredCache(refreshAssort: boolean): boolean; generateFenceAssortCache(pmcData: IPmcData): void; /** - * - * @param pmcData Get the fence level the passed in profile has + * Get the fence level the passed in profile has + * @param pmcData Player profile * @returns FenceLevel */ getFenceInfo(pmcData: IPmcData): FenceLevel; diff --git a/KcY-SeeItemValue/itemValue/server/types/services/LocaleService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/LocaleService.d.ts new file mode 100644 index 0000000..33bea7b --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/services/LocaleService.d.ts @@ -0,0 +1,14 @@ +import { ILocaleConfig } from "../models/spt/config/ILocaleConfig"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { ConfigServer } from "../servers/ConfigServer"; +export declare class LocaleService { + protected logger: ILogger; + protected configServer: ConfigServer; + protected localeConfig: ILocaleConfig; + constructor(logger: ILogger, configServer: ConfigServer); + /** + * Gets the locale key from the locale.json file + * @returns locale e.g en/ge/cz/cn + */ + getDesiredLocale(): string; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/services/MatchLocationService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/MatchLocationService.d.ts index 2b5fc0e..c027bec 100644 --- a/KcY-SeeItemValue/itemValue/server/types/services/MatchLocationService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/services/MatchLocationService.d.ts @@ -1,8 +1,9 @@ +import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData"; import { TimeUtil } from "../utils/TimeUtil"; export declare class MatchLocationService { protected timeUtil: TimeUtil; protected locations: {}; constructor(timeUtil: TimeUtil); - createGroup(sessionID: string, info: any): any; + createGroup(sessionID: string, info: ICreateGroupRequestData): any; deleteGroup(info: any): void; } diff --git a/KcY-SeeItemValue/itemValue/server/types/services/PaymentService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/PaymentService.d.ts index 5834750..a5e538f 100644 --- a/KcY-SeeItemValue/itemValue/server/types/services/PaymentService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/services/PaymentService.d.ts @@ -45,5 +45,22 @@ export declare class PaymentService { * ancestor with slotId=hideout */ protected isItemInStash(pmcData: IPmcData, item: Item): boolean; + /** + * Remove currency from player stash/inventory + * @param pmcData Player profile to find and remove currency from + * @param currencyTpl Type of currency to pay + * @param amountToPay money value to pay + * @param sessionID Sessino id + * @param output output object to send to client + * @returns IItemEventRouterResponse + */ addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse; + /** + * Prioritise player stash first over player inventory + * Post-raid healing would often take money out of the players pockets/secure container + * @param a Firsat money stack item + * @param b Second money stack item + * @returns sorted item + */ + protected moneySort(a: Item, b: Item): number; } diff --git a/KcY-SeeItemValue/itemValue/server/types/services/ProfileFixerService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/ProfileFixerService.d.ts new file mode 100644 index 0000000..313a907 --- /dev/null +++ b/KcY-SeeItemValue/itemValue/server/types/services/ProfileFixerService.d.ts @@ -0,0 +1,40 @@ +import { IPmcData } from "../models/eft/common/IPmcData"; +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests"; +import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { DatabaseServer } from "../servers/DatabaseServer"; +import { Watermark } from "../utils/Watermark"; +export declare class ProfileFixerService { + protected logger: ILogger; + protected watermark: Watermark; + protected databaseServer: DatabaseServer; + constructor(logger: ILogger, watermark: Watermark, databaseServer: DatabaseServer); + /** + * Find issues in the pmc profile data that may cause issues and fix them + * @param pmcProfile profile to check and fix + */ + checkForAndFixPmcProfileIssues(pmcProfile: IPmcData): void; + /** + * Add tag to profile to indicate when it was made + * @param fullProfile + */ + addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void; + /** + * TODO - make this non-public - currently used by RepeatableQuestController + * Remove unused condition counters + * @param pmcProfile profile to remove old counters from + */ + removeDanglingConditionCounters(pmcProfile: IPmcData): void; + protected removeDanglingBackendCounters(pmcProfile: IPmcData): void; + protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[]; + protected fixNullTraderSalesSums(pmcProfile: IPmcData): void; + protected addMissingBonusesProperty(pmcProfile: IPmcData): void; + protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void; + protected addMissingWorkbenchWeaponSkills(pmcProfile: IPmcData): void; + /** + * In 18876 bsg changed the pockets tplid to be one that has 3 additional special slots + * @param pmcProfile + */ + protected updateProfilePocketsToNewId(pmcProfile: IPmcData): void; + addMissingArmorRepairSkill(pmcProfile: IPmcData): void; +} diff --git a/KcY-SeeItemValue/itemValue/server/types/services/RagfairCategoriesService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/RagfairCategoriesService.d.ts index 09956cc..83910e5 100644 --- a/KcY-SeeItemValue/itemValue/server/types/services/RagfairCategoriesService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/services/RagfairCategoriesService.d.ts @@ -1,10 +1,40 @@ import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer"; +import { ILogger } from "../models/spt/utils/ILogger"; export declare class RagfairCategoriesService { - updateCategories(offers: IRagfairOffer[]): void; + protected logger: ILogger; protected categories: Record; - getCategories(): Record; - getCategoryByItemId(itemId: string): number; - resetCategories(): void; - setCategoryValue(itemId: string, newValue: number): void; - incrementCategory(itemId: string): void; + constructor(logger: ILogger); + /** + * Get all flea categories and their count of offers + * @returns item categories and count + */ + getAllCategories(): Record; + /** + * With the supplied items, get custom categories + * @returns a custom list of categories + */ + getBespokeCategories(offers: IRagfairOffer[]): Record; + /** + * Take an array of ragfair offers and create a dictionary of items with thier corrisponding offer count + * @param offers ragfair offers + * @returns categories and count + */ + protected processOffersIntoCategories(offers: IRagfairOffer[]): Record; + /** + * Increment or decrement a category array + * @param offer offer to process + * @param categories categories to update + * @param increment should item be incremented or decremented + */ + protected addOrIncrementCategory(offer: IRagfairOffer, categories: Record, increment?: boolean): void; + /** + * Increase category count by 1 + * @param offer + */ + incrementCategory(offer: IRagfairOffer): void; + /** + * Reduce category count by 1 + * @param offer + */ + decrementCategory(offer: IRagfairOffer): void; } diff --git a/KcY-SeeItemValue/itemValue/server/types/services/RagfairOfferService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/RagfairOfferService.d.ts index 7afbf8c..7398a8f 100644 --- a/KcY-SeeItemValue/itemValue/server/types/services/RagfairOfferService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/services/RagfairOfferService.d.ts @@ -11,12 +11,14 @@ import { DatabaseServer } from "../servers/DatabaseServer"; import { SaveServer } from "../servers/SaveServer"; import { HttpResponseUtil } from "../utils/HttpResponseUtil"; import { TimeUtil } from "../utils/TimeUtil"; +import { RagfairCategoriesService } from "./RagfairCategoriesService"; export declare class RagfairOfferService { protected logger: ILogger; protected timeUtil: TimeUtil; protected databaseServer: DatabaseServer; protected saveServer: SaveServer; protected ragfairServerHelper: RagfairServerHelper; + protected ragfairCategoriesService: RagfairCategoriesService; protected profileHelper: ProfileHelper; protected itemEventRouter: ItemEventRouter; protected httpResponse: HttpResponseUtil; @@ -26,12 +28,16 @@ export declare class RagfairOfferService { protected expiredOffers: Item[]; protected offers: IRagfairOffer[]; protected ragfairConfig: IRagfairConfig; - constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); + constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, ragfairCategoriesService: RagfairCategoriesService, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer); + /** + * Get all offers + * @returns IRagfairOffer array + */ getOffers(): IRagfairOffer[]; getOfferByOfferId(offerId: string): IRagfairOffer; getOffersOfType(templateId: string): IRagfairOffer[]; addOffer(offer: IRagfairOffer): void; - addOfferToExpired(offer: Item): void; + addOfferToExpired(staleOffer: IRagfairOffer): void; setTraderUpdateStatus(traderId: string, shouldUpdate: boolean): void; shouldTraderBeUpdated(traderID: string): boolean; getExpiredOfferCount(): number; diff --git a/KcY-SeeItemValue/itemValue/server/types/services/RagfairPriceService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/RagfairPriceService.d.ts index 5256b99..e33bbb9 100644 --- a/KcY-SeeItemValue/itemValue/server/types/services/RagfairPriceService.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/services/RagfairPriceService.d.ts @@ -1,6 +1,7 @@ import { HandbookHelper } from "../helpers/HandbookHelper"; import { ItemHelper } from "../helpers/ItemHelper"; import { PresetHelper } from "../helpers/PresetHelper"; +import { Preset } from "../models/eft/common/IGlobals"; import { Item } from "../models/eft/common/tables/IItem"; import { IBarterScheme } from "../models/eft/common/tables/ITrader"; import { IRagfairConfig } from "../models/spt/config/IRagfairConfig"; @@ -28,5 +29,26 @@ export declare class RagfairPriceService { getFleaPriceForItem(tplId: string): number; getBarterPrice(barterScheme: IBarterScheme[]): number; getDynamicOfferPrice(items: Item[], desiredCurrency: string): number; + /** + * Multiply the price by a randomised curve where n = 2, shift = 2 + * @param existingPrice price to alter + * @param isPreset is the item we're multiplying a preset + * @returns multiplied price + */ + protected randomisePrice(existingPrice: number, isPreset: boolean): number; + /** + * Calculate the cost of a weapon preset by adding together the price of its mods + base price of default weapon preset + * @param item base weapon + * @param items weapon plus mods + * @param existingPrice price of existing base weapon + * @returns + */ getWeaponPresetPrice(item: Item, items: Item[], existingPrice: number): number; + /** + * Attempt to get the default preset for a weapon, failing that get the first preset in the array + * (assumes default = has encyclopedia entry) + * @param presets weapon presets to choose from + * @returns Default preset object + */ + protected getDefaultWeaponPreset(presets: Preset[], weapon: Item): Preset; } diff --git a/KcY-SeeItemValue/itemValue/server/types/services/customPresetService.d.ts b/KcY-SeeItemValue/itemValue/server/types/services/customPresetService.d.ts deleted file mode 100644 index 84a8baf..0000000 --- a/KcY-SeeItemValue/itemValue/server/types/services/customPresetService.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Preset } from "../models/eft/common/IGlobals"; -import { CustomPreset } from "../models/spt/services/CustomPreset"; -import { ILogger } from "../models/spt/utils/ILogger"; -export declare class CustomPresetService { - protected logger: ILogger; - private customPresets; - constructor(logger: ILogger); - /** - * Add custom preset to internal array - * @param presetKey presets key - * @param presetToAdd preset item to add - */ - add(presetKey: string, presetToAdd: Preset): void; - /** - * Get all custom presets - * @returns - */ - get(): CustomPreset[]; -} diff --git a/KcY-SeeItemValue/itemValue/server/types/utils/DatabaseImporter.d.ts b/KcY-SeeItemValue/itemValue/server/types/utils/DatabaseImporter.d.ts index 24c1cd6..483e135 100644 --- a/KcY-SeeItemValue/itemValue/server/types/utils/DatabaseImporter.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/utils/DatabaseImporter.d.ts @@ -3,10 +3,6 @@ import { IDatabaseTables } from "../models/spt/server/IDatabaseTables"; import { ILogger } from "../models/spt/utils/ILogger"; import { ImageRouter } from "../routers/ImageRouter"; import { DatabaseServer } from "../servers/DatabaseServer"; -import { CustomHandbookItemService } from "../services/CustomHandbookItemService"; -import { CustomItemService } from "../services/CustomItemService"; -import { CustomPresetService } from "../services/customPresetService"; -import { CustomTraderAssortService } from "../services/CustomTraderAssortService"; import { JsonUtil } from "./JsonUtil"; import { VFS } from "./VFS"; export declare class DatabaseImporter extends OnLoad { @@ -14,38 +10,14 @@ export declare class DatabaseImporter extends OnLoad { protected vfs: VFS; protected jsonUtil: JsonUtil; protected databaseServer: DatabaseServer; - protected customItemService: CustomItemService; - protected customTraderAssortService: CustomTraderAssortService; - protected customHandbookItemService: CustomHandbookItemService; - protected customPresetService: CustomPresetService; protected imageRouter: ImageRouter; - constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, customItemService: CustomItemService, customTraderAssortService: CustomTraderAssortService, customHandbookItemService: CustomHandbookItemService, customPresetService: CustomPresetService, imageRouter: ImageRouter); + constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, databaseServer: DatabaseServer, imageRouter: ImageRouter); onLoad(): void; /** * Read all json files in database folder and map into a json object * @param filepath path to database folder */ protected hydrateDatabase(filepath: string): void; - /** - * Get all items added through CustomItemService and add to database.templates.items - * @param dataToImport db data to amend - */ - protected addCustomItemsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all assorts added through CustomTraderAssortService and add to database.traders[x].assort - * @param dataToImport db data to amend - */ - protected addCustomTraderAssortsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all custom handbook items added through CustomHandbookItemService and add to database.templates.handbook.items - * @param dataToImport db data to amend - */ - protected addCustomHandbookItemsToDb(dataToImport: IDatabaseTables): void; - /** - * Get all custom preset items added through CustomPresetService and add to database.globals.ItemPresets - * @param dataToImport - */ - protected addCustomPresetsToDb(dataToImport: IDatabaseTables): void; getRoute(): string; loadRecursive(filepath: string): IDatabaseTables; loadImages(filepath: string): void; diff --git a/KcY-SeeItemValue/itemValue/server/types/utils/Logger.d.ts b/KcY-SeeItemValue/itemValue/server/types/utils/Logger.d.ts index f5b774b..3d9013f 100644 --- a/KcY-SeeItemValue/itemValue/server/types/utils/Logger.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/utils/Logger.d.ts @@ -1,17 +1,13 @@ /// -import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; -import { ILogger } from "../models/spt/utils/ILogger"; -import winston from "winston"; -import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; -import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; import fs from "fs"; -interface SptLogger { - error: (msg: string | Record) => void; - warn: (msg: string | Record) => void; - succ?: (msg: string | Record) => void; - info: (msg: string | Record) => void; - debug: (msg: string | Record) => void; -} +import winston from "winston"; +import { Daum } from "../models/eft/itemEvent/IItemEventRouterRequest"; +import { LogBackgroundColor } from "../models/spt/logging/LogBackgroundColor"; +import { LogTextColor } from "../models/spt/logging/LogTextColor"; +import { SptLogger } from "../models/spt/logging/SptLogger"; +import { IAsyncQueue } from "../models/spt/utils/IAsyncQueue"; +import { ILogger } from "../models/spt/utils/ILogger"; +import { IUUidGenerator } from "../models/spt/utils/IUuidGenerator"; export declare class WinstonLogger implements ILogger { protected asyncQueue: IAsyncQueue; protected uuidGenerator: IUUidGenerator; @@ -36,16 +32,27 @@ export declare class WinstonLogger implements ILogger { custom: string; debug: string; }; + bgColors: { + default: string; + blackBG: string; + redBG: string; + greenBG: string; + yellowBG: string; + blueBG: string; + magentaBG: string; + cyanBG: string; + whiteBG: string; + }; }; protected logger: winston.Logger & SptLogger; - writeFilePromisify: (path: fs.PathLike, data: string, options?: any) => Promise; + protected 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; + log(data: string | Error | Record, color: string, backgroundColor?: string): Promise; error(data: string | Record): Promise; warning(data: string | Record): Promise; success(data: string | Record): Promise; info(data: string | Record): Promise; + logWithColor(data: string | Record, textColor: LogTextColor, backgroundColor?: LogBackgroundColor): Promise; debug(data: string | Record, onlyShowInConsole?: boolean): Promise; } -export {}; diff --git a/KcY-SeeItemValue/itemValue/server/types/utils/Watermark.d.ts b/KcY-SeeItemValue/itemValue/server/types/utils/Watermark.d.ts index 111bdd0..c6dc120 100644 --- a/KcY-SeeItemValue/itemValue/server/types/utils/Watermark.d.ts +++ b/KcY-SeeItemValue/itemValue/server/types/utils/Watermark.d.ts @@ -28,7 +28,12 @@ export declare class Watermark { protected text: string[]; protected versionLabel: string; initialize(): void; - getVersionTag(): string; + /** + * Get a version string (x.x.x) or (x.x.x-BLEEDINGEDGE) OR (X.X.X (18xxx)) + * @param withEftVersion Include the eft version this spt version was made for + * @returns string + */ + getVersionTag(withEftVersion?: boolean): string; getVersionLabel(): string; /** Set window title */ setTitle(): void; diff --git a/Shared/EFT/Assembly-CSharp.dll b/Shared/EFT/Assembly-CSharp.dll index 79401f797ab79954e82eab284bdf097b2a70b1aa..23cbaaa7ee9c076872fe780b1e668a11051b8bad 100644 GIT binary patch literal 9671168 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 fWfNm__pC2 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

Wl0>`pxo+L-traOG?fo6Z(dq1Yng++w_+jI}M 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®3{?oP)!F}iFa3vcYT=A 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

@Y8Ef! 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%0Dav@yW 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

&cHsd>hm%LjOketPo8 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

doyqALz*r)o= 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%0ApDeX%eY+(&3Xhox&kC8?B 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

_yOCp9kSNtob!n+~hr~q16(v`S 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