From 89a199bc914122e240248bcfd6730dc2abae8413 Mon Sep 17 00:00:00 2001 From: Dev Date: Sat, 23 Mar 2024 17:34:59 +0000 Subject: [PATCH] Update types --- .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../13AddTrader/types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../13AddTrader/types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../16ImporterUtil/types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../1LogToConsole/types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../2EditDatabase/types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../5ReplaceMethod/types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../7OnLoadHook/types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../7OnLoadHook/types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../8OnUpdateHook/types/utils/Watermark.d.ts | 2 - .../types/controllers/LocationController.d.ts | 4 +- .../generators/RepeatableQuestGenerator.d.ts | 2 +- .../types/helpers/InRaidHelper.d.ts | 16 +------- .../types/helpers/ItemHelper.d.ts | 6 +++ .../types/models/eft/common/ILocation.d.ts | 3 +- .../models/eft/common/ILocationBase.d.ts | 1 + .../models/eft/common/tables/IBotBase.d.ts | 1 + .../types/models/spt/config/IItemConfig.d.ts | 2 + .../models/spt/logging/LogTextColor.d.ts | 2 +- .../types/models/spt/server/ILocations.d.ts | 41 ++++++++----------- .../types/services/ItemFilterService.d.ts | 11 +++++ .../9RouterHooks/types/utils/Watermark.d.ts | 2 - 288 files changed, 1128 insertions(+), 1056 deletions(-) diff --git a/TypeScript/10ScopesAndTypes/types/controllers/LocationController.d.ts b/TypeScript/10ScopesAndTypes/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/10ScopesAndTypes/types/controllers/LocationController.d.ts +++ b/TypeScript/10ScopesAndTypes/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/10ScopesAndTypes/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/10ScopesAndTypes/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/10ScopesAndTypes/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/10ScopesAndTypes/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/10ScopesAndTypes/types/helpers/InRaidHelper.d.ts b/TypeScript/10ScopesAndTypes/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/10ScopesAndTypes/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/10ScopesAndTypes/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/10ScopesAndTypes/types/helpers/ItemHelper.d.ts b/TypeScript/10ScopesAndTypes/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/10ScopesAndTypes/types/helpers/ItemHelper.d.ts +++ b/TypeScript/10ScopesAndTypes/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/10ScopesAndTypes/types/models/eft/common/ILocation.d.ts b/TypeScript/10ScopesAndTypes/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/10ScopesAndTypes/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/10ScopesAndTypes/types/models/eft/common/ILocationBase.d.ts b/TypeScript/10ScopesAndTypes/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/10ScopesAndTypes/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/10ScopesAndTypes/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/10ScopesAndTypes/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/10ScopesAndTypes/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/10ScopesAndTypes/types/models/spt/config/IItemConfig.d.ts b/TypeScript/10ScopesAndTypes/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/10ScopesAndTypes/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/10ScopesAndTypes/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/10ScopesAndTypes/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/10ScopesAndTypes/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/10ScopesAndTypes/types/models/spt/server/ILocations.d.ts b/TypeScript/10ScopesAndTypes/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/10ScopesAndTypes/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/10ScopesAndTypes/types/services/ItemFilterService.d.ts b/TypeScript/10ScopesAndTypes/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/10ScopesAndTypes/types/services/ItemFilterService.d.ts +++ b/TypeScript/10ScopesAndTypes/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/10ScopesAndTypes/types/utils/Watermark.d.ts b/TypeScript/10ScopesAndTypes/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/10ScopesAndTypes/types/utils/Watermark.d.ts +++ b/TypeScript/10ScopesAndTypes/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/11BundleLoadingSample/types/controllers/LocationController.d.ts b/TypeScript/11BundleLoadingSample/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/11BundleLoadingSample/types/controllers/LocationController.d.ts +++ b/TypeScript/11BundleLoadingSample/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/11BundleLoadingSample/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/11BundleLoadingSample/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/11BundleLoadingSample/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/11BundleLoadingSample/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/11BundleLoadingSample/types/helpers/InRaidHelper.d.ts b/TypeScript/11BundleLoadingSample/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/11BundleLoadingSample/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/11BundleLoadingSample/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/11BundleLoadingSample/types/helpers/ItemHelper.d.ts b/TypeScript/11BundleLoadingSample/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/11BundleLoadingSample/types/helpers/ItemHelper.d.ts +++ b/TypeScript/11BundleLoadingSample/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/11BundleLoadingSample/types/models/eft/common/ILocation.d.ts b/TypeScript/11BundleLoadingSample/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/11BundleLoadingSample/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/11BundleLoadingSample/types/models/eft/common/ILocationBase.d.ts b/TypeScript/11BundleLoadingSample/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/11BundleLoadingSample/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/11BundleLoadingSample/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/11BundleLoadingSample/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/11BundleLoadingSample/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/11BundleLoadingSample/types/models/spt/config/IItemConfig.d.ts b/TypeScript/11BundleLoadingSample/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/11BundleLoadingSample/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/11BundleLoadingSample/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/11BundleLoadingSample/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/11BundleLoadingSample/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/11BundleLoadingSample/types/models/spt/server/ILocations.d.ts b/TypeScript/11BundleLoadingSample/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/11BundleLoadingSample/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/11BundleLoadingSample/types/services/ItemFilterService.d.ts b/TypeScript/11BundleLoadingSample/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/11BundleLoadingSample/types/services/ItemFilterService.d.ts +++ b/TypeScript/11BundleLoadingSample/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/11BundleLoadingSample/types/utils/Watermark.d.ts b/TypeScript/11BundleLoadingSample/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/11BundleLoadingSample/types/utils/Watermark.d.ts +++ b/TypeScript/11BundleLoadingSample/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/12ClassExtensionOverride/types/controllers/LocationController.d.ts b/TypeScript/12ClassExtensionOverride/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/12ClassExtensionOverride/types/controllers/LocationController.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/12ClassExtensionOverride/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/12ClassExtensionOverride/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/12ClassExtensionOverride/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/12ClassExtensionOverride/types/helpers/InRaidHelper.d.ts b/TypeScript/12ClassExtensionOverride/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/12ClassExtensionOverride/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/12ClassExtensionOverride/types/helpers/ItemHelper.d.ts b/TypeScript/12ClassExtensionOverride/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/12ClassExtensionOverride/types/helpers/ItemHelper.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/12ClassExtensionOverride/types/models/eft/common/ILocation.d.ts b/TypeScript/12ClassExtensionOverride/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/12ClassExtensionOverride/types/models/eft/common/ILocationBase.d.ts b/TypeScript/12ClassExtensionOverride/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/12ClassExtensionOverride/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/12ClassExtensionOverride/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/12ClassExtensionOverride/types/models/spt/config/IItemConfig.d.ts b/TypeScript/12ClassExtensionOverride/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/12ClassExtensionOverride/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/12ClassExtensionOverride/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/12ClassExtensionOverride/types/models/spt/server/ILocations.d.ts b/TypeScript/12ClassExtensionOverride/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/12ClassExtensionOverride/types/services/ItemFilterService.d.ts b/TypeScript/12ClassExtensionOverride/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/12ClassExtensionOverride/types/services/ItemFilterService.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/12ClassExtensionOverride/types/utils/Watermark.d.ts b/TypeScript/12ClassExtensionOverride/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/12ClassExtensionOverride/types/utils/Watermark.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/13AddTrader/types/controllers/LocationController.d.ts b/TypeScript/13AddTrader/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/13AddTrader/types/controllers/LocationController.d.ts +++ b/TypeScript/13AddTrader/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/13AddTrader/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/13AddTrader/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/13AddTrader/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/13AddTrader/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/13AddTrader/types/helpers/InRaidHelper.d.ts b/TypeScript/13AddTrader/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/13AddTrader/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/13AddTrader/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/13AddTrader/types/helpers/ItemHelper.d.ts b/TypeScript/13AddTrader/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/13AddTrader/types/helpers/ItemHelper.d.ts +++ b/TypeScript/13AddTrader/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/13AddTrader/types/models/eft/common/ILocation.d.ts b/TypeScript/13AddTrader/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/13AddTrader/types/models/eft/common/ILocationBase.d.ts b/TypeScript/13AddTrader/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/13AddTrader/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/13AddTrader/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/13AddTrader/types/models/spt/config/IItemConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/13AddTrader/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/13AddTrader/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/13AddTrader/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/13AddTrader/types/models/spt/server/ILocations.d.ts b/TypeScript/13AddTrader/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/13AddTrader/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/13AddTrader/types/services/ItemFilterService.d.ts b/TypeScript/13AddTrader/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/13AddTrader/types/services/ItemFilterService.d.ts +++ b/TypeScript/13AddTrader/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/13AddTrader/types/utils/Watermark.d.ts b/TypeScript/13AddTrader/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/13AddTrader/types/utils/Watermark.d.ts +++ b/TypeScript/13AddTrader/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/14AfterDBLoadHook/types/controllers/LocationController.d.ts b/TypeScript/14AfterDBLoadHook/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/14AfterDBLoadHook/types/controllers/LocationController.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/14AfterDBLoadHook/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/14AfterDBLoadHook/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/14AfterDBLoadHook/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/14AfterDBLoadHook/types/helpers/InRaidHelper.d.ts b/TypeScript/14AfterDBLoadHook/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/14AfterDBLoadHook/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/14AfterDBLoadHook/types/helpers/ItemHelper.d.ts b/TypeScript/14AfterDBLoadHook/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/14AfterDBLoadHook/types/helpers/ItemHelper.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/14AfterDBLoadHook/types/models/eft/common/ILocation.d.ts b/TypeScript/14AfterDBLoadHook/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/14AfterDBLoadHook/types/models/eft/common/ILocationBase.d.ts b/TypeScript/14AfterDBLoadHook/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/14AfterDBLoadHook/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/14AfterDBLoadHook/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/14AfterDBLoadHook/types/models/spt/config/IItemConfig.d.ts b/TypeScript/14AfterDBLoadHook/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/14AfterDBLoadHook/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/14AfterDBLoadHook/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/14AfterDBLoadHook/types/models/spt/server/ILocations.d.ts b/TypeScript/14AfterDBLoadHook/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/14AfterDBLoadHook/types/services/ItemFilterService.d.ts b/TypeScript/14AfterDBLoadHook/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/14AfterDBLoadHook/types/services/ItemFilterService.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/14AfterDBLoadHook/types/utils/Watermark.d.ts b/TypeScript/14AfterDBLoadHook/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/14AfterDBLoadHook/types/utils/Watermark.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/15HttpListenerExample/types/controllers/LocationController.d.ts b/TypeScript/15HttpListenerExample/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/15HttpListenerExample/types/controllers/LocationController.d.ts +++ b/TypeScript/15HttpListenerExample/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/15HttpListenerExample/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/15HttpListenerExample/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/15HttpListenerExample/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/15HttpListenerExample/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/15HttpListenerExample/types/helpers/InRaidHelper.d.ts b/TypeScript/15HttpListenerExample/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/15HttpListenerExample/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/15HttpListenerExample/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/15HttpListenerExample/types/helpers/ItemHelper.d.ts b/TypeScript/15HttpListenerExample/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/15HttpListenerExample/types/helpers/ItemHelper.d.ts +++ b/TypeScript/15HttpListenerExample/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/15HttpListenerExample/types/models/eft/common/ILocation.d.ts b/TypeScript/15HttpListenerExample/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/15HttpListenerExample/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/15HttpListenerExample/types/models/eft/common/ILocationBase.d.ts b/TypeScript/15HttpListenerExample/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/15HttpListenerExample/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/15HttpListenerExample/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/15HttpListenerExample/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/15HttpListenerExample/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/15HttpListenerExample/types/models/spt/config/IItemConfig.d.ts b/TypeScript/15HttpListenerExample/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/15HttpListenerExample/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/15HttpListenerExample/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/15HttpListenerExample/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/15HttpListenerExample/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/15HttpListenerExample/types/models/spt/server/ILocations.d.ts b/TypeScript/15HttpListenerExample/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/15HttpListenerExample/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/15HttpListenerExample/types/services/ItemFilterService.d.ts b/TypeScript/15HttpListenerExample/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/15HttpListenerExample/types/services/ItemFilterService.d.ts +++ b/TypeScript/15HttpListenerExample/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/15HttpListenerExample/types/utils/Watermark.d.ts b/TypeScript/15HttpListenerExample/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/15HttpListenerExample/types/utils/Watermark.d.ts +++ b/TypeScript/15HttpListenerExample/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/16ImporterUtil/types/controllers/LocationController.d.ts b/TypeScript/16ImporterUtil/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/16ImporterUtil/types/controllers/LocationController.d.ts +++ b/TypeScript/16ImporterUtil/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/16ImporterUtil/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/16ImporterUtil/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/16ImporterUtil/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/16ImporterUtil/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/16ImporterUtil/types/helpers/InRaidHelper.d.ts b/TypeScript/16ImporterUtil/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/16ImporterUtil/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/16ImporterUtil/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/16ImporterUtil/types/helpers/ItemHelper.d.ts b/TypeScript/16ImporterUtil/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/16ImporterUtil/types/helpers/ItemHelper.d.ts +++ b/TypeScript/16ImporterUtil/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/16ImporterUtil/types/models/eft/common/ILocation.d.ts b/TypeScript/16ImporterUtil/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/16ImporterUtil/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/16ImporterUtil/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/16ImporterUtil/types/models/eft/common/ILocationBase.d.ts b/TypeScript/16ImporterUtil/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/16ImporterUtil/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/16ImporterUtil/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/16ImporterUtil/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/16ImporterUtil/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/16ImporterUtil/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/16ImporterUtil/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/16ImporterUtil/types/models/spt/config/IItemConfig.d.ts b/TypeScript/16ImporterUtil/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/16ImporterUtil/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/16ImporterUtil/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/16ImporterUtil/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/16ImporterUtil/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/16ImporterUtil/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/16ImporterUtil/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/16ImporterUtil/types/models/spt/server/ILocations.d.ts b/TypeScript/16ImporterUtil/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/16ImporterUtil/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/16ImporterUtil/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/16ImporterUtil/types/services/ItemFilterService.d.ts b/TypeScript/16ImporterUtil/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/16ImporterUtil/types/services/ItemFilterService.d.ts +++ b/TypeScript/16ImporterUtil/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/16ImporterUtil/types/utils/Watermark.d.ts b/TypeScript/16ImporterUtil/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/16ImporterUtil/types/utils/Watermark.d.ts +++ b/TypeScript/16ImporterUtil/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/17AsyncImporterWithDependency1/types/controllers/LocationController.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/controllers/LocationController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/17AsyncImporterWithDependency1/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/helpers/InRaidHelper.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/17AsyncImporterWithDependency1/types/helpers/ItemHelper.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/helpers/ItemHelper.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/ILocation.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/ILocationBase.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/config/IItemConfig.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/server/ILocations.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/17AsyncImporterWithDependency1/types/services/ItemFilterService.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/services/ItemFilterService.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/17AsyncImporterWithDependency1/types/utils/Watermark.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/utils/Watermark.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/17AsyncImporterWithDependency2/types/controllers/LocationController.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/controllers/LocationController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/17AsyncImporterWithDependency2/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/helpers/InRaidHelper.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/17AsyncImporterWithDependency2/types/helpers/ItemHelper.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/helpers/ItemHelper.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/ILocation.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/ILocationBase.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/config/IItemConfig.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/server/ILocations.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/17AsyncImporterWithDependency2/types/services/ItemFilterService.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/services/ItemFilterService.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/17AsyncImporterWithDependency2/types/utils/Watermark.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/utils/Watermark.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/18CustomItemService/types/controllers/LocationController.d.ts b/TypeScript/18CustomItemService/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/18CustomItemService/types/controllers/LocationController.d.ts +++ b/TypeScript/18CustomItemService/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/18CustomItemService/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/18CustomItemService/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/18CustomItemService/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/18CustomItemService/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/18CustomItemService/types/helpers/InRaidHelper.d.ts b/TypeScript/18CustomItemService/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/18CustomItemService/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/18CustomItemService/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/18CustomItemService/types/helpers/ItemHelper.d.ts b/TypeScript/18CustomItemService/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/18CustomItemService/types/helpers/ItemHelper.d.ts +++ b/TypeScript/18CustomItemService/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/18CustomItemService/types/models/eft/common/ILocation.d.ts b/TypeScript/18CustomItemService/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/18CustomItemService/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/18CustomItemService/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/18CustomItemService/types/models/eft/common/ILocationBase.d.ts b/TypeScript/18CustomItemService/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/18CustomItemService/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/18CustomItemService/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/18CustomItemService/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/18CustomItemService/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/18CustomItemService/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/18CustomItemService/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/18CustomItemService/types/models/spt/config/IItemConfig.d.ts b/TypeScript/18CustomItemService/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/18CustomItemService/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/18CustomItemService/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/18CustomItemService/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/18CustomItemService/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/18CustomItemService/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/18CustomItemService/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/18CustomItemService/types/models/spt/server/ILocations.d.ts b/TypeScript/18CustomItemService/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/18CustomItemService/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/18CustomItemService/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/18CustomItemService/types/services/ItemFilterService.d.ts b/TypeScript/18CustomItemService/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/18CustomItemService/types/services/ItemFilterService.d.ts +++ b/TypeScript/18CustomItemService/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/18CustomItemService/types/utils/Watermark.d.ts b/TypeScript/18CustomItemService/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/18CustomItemService/types/utils/Watermark.d.ts +++ b/TypeScript/18CustomItemService/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/19UseExternalLibraries/types/controllers/LocationController.d.ts b/TypeScript/19UseExternalLibraries/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/19UseExternalLibraries/types/controllers/LocationController.d.ts +++ b/TypeScript/19UseExternalLibraries/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/19UseExternalLibraries/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/19UseExternalLibraries/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/19UseExternalLibraries/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/19UseExternalLibraries/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/19UseExternalLibraries/types/helpers/InRaidHelper.d.ts b/TypeScript/19UseExternalLibraries/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/19UseExternalLibraries/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/19UseExternalLibraries/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/19UseExternalLibraries/types/helpers/ItemHelper.d.ts b/TypeScript/19UseExternalLibraries/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/19UseExternalLibraries/types/helpers/ItemHelper.d.ts +++ b/TypeScript/19UseExternalLibraries/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/19UseExternalLibraries/types/models/eft/common/ILocation.d.ts b/TypeScript/19UseExternalLibraries/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/19UseExternalLibraries/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/19UseExternalLibraries/types/models/eft/common/ILocationBase.d.ts b/TypeScript/19UseExternalLibraries/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/19UseExternalLibraries/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/19UseExternalLibraries/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/19UseExternalLibraries/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/19UseExternalLibraries/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/19UseExternalLibraries/types/models/spt/config/IItemConfig.d.ts b/TypeScript/19UseExternalLibraries/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/19UseExternalLibraries/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/19UseExternalLibraries/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/19UseExternalLibraries/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/19UseExternalLibraries/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/19UseExternalLibraries/types/models/spt/server/ILocations.d.ts b/TypeScript/19UseExternalLibraries/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/19UseExternalLibraries/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/19UseExternalLibraries/types/services/ItemFilterService.d.ts b/TypeScript/19UseExternalLibraries/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/19UseExternalLibraries/types/services/ItemFilterService.d.ts +++ b/TypeScript/19UseExternalLibraries/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/19UseExternalLibraries/types/utils/Watermark.d.ts b/TypeScript/19UseExternalLibraries/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/19UseExternalLibraries/types/utils/Watermark.d.ts +++ b/TypeScript/19UseExternalLibraries/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/1LogToConsole/types/controllers/LocationController.d.ts b/TypeScript/1LogToConsole/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/1LogToConsole/types/controllers/LocationController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/1LogToConsole/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/1LogToConsole/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/1LogToConsole/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/1LogToConsole/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/1LogToConsole/types/helpers/InRaidHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/1LogToConsole/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/1LogToConsole/types/helpers/ItemHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/1LogToConsole/types/helpers/ItemHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/1LogToConsole/types/models/eft/common/ILocation.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/1LogToConsole/types/models/eft/common/ILocationBase.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/1LogToConsole/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/1LogToConsole/types/models/spt/config/IItemConfig.d.ts b/TypeScript/1LogToConsole/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/1LogToConsole/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/1LogToConsole/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/1LogToConsole/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/1LogToConsole/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/1LogToConsole/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/1LogToConsole/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/1LogToConsole/types/models/spt/server/ILocations.d.ts b/TypeScript/1LogToConsole/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/1LogToConsole/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/1LogToConsole/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/1LogToConsole/types/services/ItemFilterService.d.ts b/TypeScript/1LogToConsole/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/1LogToConsole/types/services/ItemFilterService.d.ts +++ b/TypeScript/1LogToConsole/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/1LogToConsole/types/utils/Watermark.d.ts b/TypeScript/1LogToConsole/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/1LogToConsole/types/utils/Watermark.d.ts +++ b/TypeScript/1LogToConsole/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/20CustomChatBot/types/controllers/LocationController.d.ts b/TypeScript/20CustomChatBot/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/20CustomChatBot/types/controllers/LocationController.d.ts +++ b/TypeScript/20CustomChatBot/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/20CustomChatBot/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/20CustomChatBot/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/20CustomChatBot/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/20CustomChatBot/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/20CustomChatBot/types/helpers/InRaidHelper.d.ts b/TypeScript/20CustomChatBot/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/20CustomChatBot/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/20CustomChatBot/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/20CustomChatBot/types/helpers/ItemHelper.d.ts b/TypeScript/20CustomChatBot/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/20CustomChatBot/types/helpers/ItemHelper.d.ts +++ b/TypeScript/20CustomChatBot/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/20CustomChatBot/types/models/eft/common/ILocation.d.ts b/TypeScript/20CustomChatBot/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/20CustomChatBot/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/20CustomChatBot/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/20CustomChatBot/types/models/eft/common/ILocationBase.d.ts b/TypeScript/20CustomChatBot/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/20CustomChatBot/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/20CustomChatBot/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/20CustomChatBot/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/20CustomChatBot/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/20CustomChatBot/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/20CustomChatBot/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/20CustomChatBot/types/models/spt/config/IItemConfig.d.ts b/TypeScript/20CustomChatBot/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/20CustomChatBot/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/20CustomChatBot/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/20CustomChatBot/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/20CustomChatBot/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/20CustomChatBot/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/20CustomChatBot/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/20CustomChatBot/types/models/spt/server/ILocations.d.ts b/TypeScript/20CustomChatBot/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/20CustomChatBot/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/20CustomChatBot/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/20CustomChatBot/types/services/ItemFilterService.d.ts b/TypeScript/20CustomChatBot/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/20CustomChatBot/types/services/ItemFilterService.d.ts +++ b/TypeScript/20CustomChatBot/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/20CustomChatBot/types/utils/Watermark.d.ts b/TypeScript/20CustomChatBot/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/20CustomChatBot/types/utils/Watermark.d.ts +++ b/TypeScript/20CustomChatBot/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/21CustomCommandoCommand/types/controllers/LocationController.d.ts b/TypeScript/21CustomCommandoCommand/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/21CustomCommandoCommand/types/controllers/LocationController.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/21CustomCommandoCommand/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/21CustomCommandoCommand/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/21CustomCommandoCommand/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/21CustomCommandoCommand/types/helpers/InRaidHelper.d.ts b/TypeScript/21CustomCommandoCommand/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/21CustomCommandoCommand/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/21CustomCommandoCommand/types/helpers/ItemHelper.d.ts b/TypeScript/21CustomCommandoCommand/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/21CustomCommandoCommand/types/helpers/ItemHelper.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/21CustomCommandoCommand/types/models/eft/common/ILocation.d.ts b/TypeScript/21CustomCommandoCommand/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/21CustomCommandoCommand/types/models/eft/common/ILocationBase.d.ts b/TypeScript/21CustomCommandoCommand/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/21CustomCommandoCommand/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/21CustomCommandoCommand/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/21CustomCommandoCommand/types/models/spt/config/IItemConfig.d.ts b/TypeScript/21CustomCommandoCommand/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/21CustomCommandoCommand/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/21CustomCommandoCommand/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/21CustomCommandoCommand/types/models/spt/server/ILocations.d.ts b/TypeScript/21CustomCommandoCommand/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/21CustomCommandoCommand/types/services/ItemFilterService.d.ts b/TypeScript/21CustomCommandoCommand/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/21CustomCommandoCommand/types/services/ItemFilterService.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/21CustomCommandoCommand/types/utils/Watermark.d.ts b/TypeScript/21CustomCommandoCommand/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/21CustomCommandoCommand/types/utils/Watermark.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/22CustomAkiCommand/types/controllers/LocationController.d.ts b/TypeScript/22CustomAkiCommand/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/22CustomAkiCommand/types/controllers/LocationController.d.ts +++ b/TypeScript/22CustomAkiCommand/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/22CustomAkiCommand/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/22CustomAkiCommand/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/22CustomAkiCommand/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/22CustomAkiCommand/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/22CustomAkiCommand/types/helpers/InRaidHelper.d.ts b/TypeScript/22CustomAkiCommand/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/22CustomAkiCommand/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/22CustomAkiCommand/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/22CustomAkiCommand/types/helpers/ItemHelper.d.ts b/TypeScript/22CustomAkiCommand/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/22CustomAkiCommand/types/helpers/ItemHelper.d.ts +++ b/TypeScript/22CustomAkiCommand/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/22CustomAkiCommand/types/models/eft/common/ILocation.d.ts b/TypeScript/22CustomAkiCommand/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/22CustomAkiCommand/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/22CustomAkiCommand/types/models/eft/common/ILocationBase.d.ts b/TypeScript/22CustomAkiCommand/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/22CustomAkiCommand/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/22CustomAkiCommand/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/22CustomAkiCommand/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/22CustomAkiCommand/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/22CustomAkiCommand/types/models/spt/config/IItemConfig.d.ts b/TypeScript/22CustomAkiCommand/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/22CustomAkiCommand/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/22CustomAkiCommand/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/22CustomAkiCommand/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/22CustomAkiCommand/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/22CustomAkiCommand/types/models/spt/server/ILocations.d.ts b/TypeScript/22CustomAkiCommand/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/22CustomAkiCommand/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/22CustomAkiCommand/types/services/ItemFilterService.d.ts b/TypeScript/22CustomAkiCommand/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/22CustomAkiCommand/types/services/ItemFilterService.d.ts +++ b/TypeScript/22CustomAkiCommand/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/22CustomAkiCommand/types/utils/Watermark.d.ts b/TypeScript/22CustomAkiCommand/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/22CustomAkiCommand/types/utils/Watermark.d.ts +++ b/TypeScript/22CustomAkiCommand/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/2EditDatabase/types/controllers/LocationController.d.ts b/TypeScript/2EditDatabase/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/2EditDatabase/types/controllers/LocationController.d.ts +++ b/TypeScript/2EditDatabase/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/2EditDatabase/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/2EditDatabase/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/2EditDatabase/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/2EditDatabase/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/2EditDatabase/types/helpers/InRaidHelper.d.ts b/TypeScript/2EditDatabase/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/2EditDatabase/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/2EditDatabase/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/2EditDatabase/types/helpers/ItemHelper.d.ts b/TypeScript/2EditDatabase/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/2EditDatabase/types/helpers/ItemHelper.d.ts +++ b/TypeScript/2EditDatabase/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/2EditDatabase/types/models/eft/common/ILocation.d.ts b/TypeScript/2EditDatabase/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/2EditDatabase/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/2EditDatabase/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/2EditDatabase/types/models/eft/common/ILocationBase.d.ts b/TypeScript/2EditDatabase/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/2EditDatabase/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/2EditDatabase/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/2EditDatabase/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/2EditDatabase/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/2EditDatabase/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/2EditDatabase/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/2EditDatabase/types/models/spt/config/IItemConfig.d.ts b/TypeScript/2EditDatabase/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/2EditDatabase/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/2EditDatabase/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/2EditDatabase/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/2EditDatabase/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/2EditDatabase/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/2EditDatabase/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/2EditDatabase/types/models/spt/server/ILocations.d.ts b/TypeScript/2EditDatabase/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/2EditDatabase/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/2EditDatabase/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/2EditDatabase/types/services/ItemFilterService.d.ts b/TypeScript/2EditDatabase/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/2EditDatabase/types/services/ItemFilterService.d.ts +++ b/TypeScript/2EditDatabase/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/2EditDatabase/types/utils/Watermark.d.ts b/TypeScript/2EditDatabase/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/2EditDatabase/types/utils/Watermark.d.ts +++ b/TypeScript/2EditDatabase/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/3GetSptConfigFile/types/controllers/LocationController.d.ts b/TypeScript/3GetSptConfigFile/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/3GetSptConfigFile/types/controllers/LocationController.d.ts +++ b/TypeScript/3GetSptConfigFile/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/3GetSptConfigFile/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/3GetSptConfigFile/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/3GetSptConfigFile/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/3GetSptConfigFile/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/3GetSptConfigFile/types/helpers/InRaidHelper.d.ts b/TypeScript/3GetSptConfigFile/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/3GetSptConfigFile/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/3GetSptConfigFile/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/3GetSptConfigFile/types/helpers/ItemHelper.d.ts b/TypeScript/3GetSptConfigFile/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/3GetSptConfigFile/types/helpers/ItemHelper.d.ts +++ b/TypeScript/3GetSptConfigFile/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/3GetSptConfigFile/types/models/eft/common/ILocation.d.ts b/TypeScript/3GetSptConfigFile/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/3GetSptConfigFile/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/3GetSptConfigFile/types/models/eft/common/ILocationBase.d.ts b/TypeScript/3GetSptConfigFile/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/3GetSptConfigFile/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/3GetSptConfigFile/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/3GetSptConfigFile/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/3GetSptConfigFile/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/3GetSptConfigFile/types/models/spt/config/IItemConfig.d.ts b/TypeScript/3GetSptConfigFile/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/3GetSptConfigFile/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/3GetSptConfigFile/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/3GetSptConfigFile/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/3GetSptConfigFile/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/3GetSptConfigFile/types/models/spt/server/ILocations.d.ts b/TypeScript/3GetSptConfigFile/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/3GetSptConfigFile/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/3GetSptConfigFile/types/services/ItemFilterService.d.ts b/TypeScript/3GetSptConfigFile/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/3GetSptConfigFile/types/services/ItemFilterService.d.ts +++ b/TypeScript/3GetSptConfigFile/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/3GetSptConfigFile/types/utils/Watermark.d.ts b/TypeScript/3GetSptConfigFile/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/3GetSptConfigFile/types/utils/Watermark.d.ts +++ b/TypeScript/3GetSptConfigFile/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/LocationController.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/LocationController.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/InRaidHelper.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/ItemHelper.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/ItemHelper.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/ILocation.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/ILocationBase.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/config/IItemConfig.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/server/ILocations.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/services/ItemFilterService.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/services/ItemFilterService.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/utils/Watermark.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/utils/Watermark.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/4UseACustomConfigFile/types/controllers/LocationController.d.ts b/TypeScript/4UseACustomConfigFile/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/4UseACustomConfigFile/types/controllers/LocationController.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/4UseACustomConfigFile/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/4UseACustomConfigFile/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/4UseACustomConfigFile/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/4UseACustomConfigFile/types/helpers/InRaidHelper.d.ts b/TypeScript/4UseACustomConfigFile/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/4UseACustomConfigFile/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/4UseACustomConfigFile/types/helpers/ItemHelper.d.ts b/TypeScript/4UseACustomConfigFile/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/4UseACustomConfigFile/types/helpers/ItemHelper.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/4UseACustomConfigFile/types/models/eft/common/ILocation.d.ts b/TypeScript/4UseACustomConfigFile/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/4UseACustomConfigFile/types/models/eft/common/ILocationBase.d.ts b/TypeScript/4UseACustomConfigFile/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/4UseACustomConfigFile/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/4UseACustomConfigFile/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/4UseACustomConfigFile/types/models/spt/config/IItemConfig.d.ts b/TypeScript/4UseACustomConfigFile/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/4UseACustomConfigFile/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/4UseACustomConfigFile/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/4UseACustomConfigFile/types/models/spt/server/ILocations.d.ts b/TypeScript/4UseACustomConfigFile/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/4UseACustomConfigFile/types/services/ItemFilterService.d.ts b/TypeScript/4UseACustomConfigFile/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/4UseACustomConfigFile/types/services/ItemFilterService.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/4UseACustomConfigFile/types/utils/Watermark.d.ts b/TypeScript/4UseACustomConfigFile/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/4UseACustomConfigFile/types/utils/Watermark.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/5ReplaceMethod/types/controllers/LocationController.d.ts b/TypeScript/5ReplaceMethod/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/5ReplaceMethod/types/controllers/LocationController.d.ts +++ b/TypeScript/5ReplaceMethod/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/5ReplaceMethod/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/5ReplaceMethod/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/5ReplaceMethod/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/5ReplaceMethod/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/5ReplaceMethod/types/helpers/InRaidHelper.d.ts b/TypeScript/5ReplaceMethod/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/5ReplaceMethod/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/5ReplaceMethod/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/5ReplaceMethod/types/helpers/ItemHelper.d.ts b/TypeScript/5ReplaceMethod/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/5ReplaceMethod/types/helpers/ItemHelper.d.ts +++ b/TypeScript/5ReplaceMethod/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/5ReplaceMethod/types/models/eft/common/ILocation.d.ts b/TypeScript/5ReplaceMethod/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/5ReplaceMethod/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/5ReplaceMethod/types/models/eft/common/ILocationBase.d.ts b/TypeScript/5ReplaceMethod/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/5ReplaceMethod/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/5ReplaceMethod/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/5ReplaceMethod/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/5ReplaceMethod/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/5ReplaceMethod/types/models/spt/config/IItemConfig.d.ts b/TypeScript/5ReplaceMethod/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/5ReplaceMethod/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/5ReplaceMethod/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/5ReplaceMethod/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/5ReplaceMethod/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/5ReplaceMethod/types/models/spt/server/ILocations.d.ts b/TypeScript/5ReplaceMethod/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/5ReplaceMethod/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/5ReplaceMethod/types/services/ItemFilterService.d.ts b/TypeScript/5ReplaceMethod/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/5ReplaceMethod/types/services/ItemFilterService.d.ts +++ b/TypeScript/5ReplaceMethod/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/5ReplaceMethod/types/utils/Watermark.d.ts b/TypeScript/5ReplaceMethod/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/5ReplaceMethod/types/utils/Watermark.d.ts +++ b/TypeScript/5ReplaceMethod/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/6ReferenceAnotherClass/types/controllers/LocationController.d.ts b/TypeScript/6ReferenceAnotherClass/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/6ReferenceAnotherClass/types/controllers/LocationController.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/6ReferenceAnotherClass/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/6ReferenceAnotherClass/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/6ReferenceAnotherClass/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/6ReferenceAnotherClass/types/helpers/InRaidHelper.d.ts b/TypeScript/6ReferenceAnotherClass/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/6ReferenceAnotherClass/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/6ReferenceAnotherClass/types/helpers/ItemHelper.d.ts b/TypeScript/6ReferenceAnotherClass/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/6ReferenceAnotherClass/types/helpers/ItemHelper.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/6ReferenceAnotherClass/types/models/eft/common/ILocation.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/6ReferenceAnotherClass/types/models/eft/common/ILocationBase.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/6ReferenceAnotherClass/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/6ReferenceAnotherClass/types/models/spt/config/IItemConfig.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/6ReferenceAnotherClass/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/6ReferenceAnotherClass/types/models/spt/server/ILocations.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/6ReferenceAnotherClass/types/services/ItemFilterService.d.ts b/TypeScript/6ReferenceAnotherClass/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/6ReferenceAnotherClass/types/services/ItemFilterService.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/6ReferenceAnotherClass/types/utils/Watermark.d.ts b/TypeScript/6ReferenceAnotherClass/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/6ReferenceAnotherClass/types/utils/Watermark.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/7OnLoadHook/types/controllers/LocationController.d.ts b/TypeScript/7OnLoadHook/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/7OnLoadHook/types/controllers/LocationController.d.ts +++ b/TypeScript/7OnLoadHook/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/7OnLoadHook/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/7OnLoadHook/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/7OnLoadHook/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/7OnLoadHook/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/7OnLoadHook/types/helpers/InRaidHelper.d.ts b/TypeScript/7OnLoadHook/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/7OnLoadHook/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/7OnLoadHook/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/7OnLoadHook/types/helpers/ItemHelper.d.ts b/TypeScript/7OnLoadHook/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/7OnLoadHook/types/helpers/ItemHelper.d.ts +++ b/TypeScript/7OnLoadHook/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/7OnLoadHook/types/models/eft/common/ILocation.d.ts b/TypeScript/7OnLoadHook/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/7OnLoadHook/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/7OnLoadHook/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/7OnLoadHook/types/models/eft/common/ILocationBase.d.ts b/TypeScript/7OnLoadHook/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/7OnLoadHook/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/7OnLoadHook/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/7OnLoadHook/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/7OnLoadHook/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/7OnLoadHook/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/7OnLoadHook/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/7OnLoadHook/types/models/spt/config/IItemConfig.d.ts b/TypeScript/7OnLoadHook/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/7OnLoadHook/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/7OnLoadHook/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/7OnLoadHook/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/7OnLoadHook/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/7OnLoadHook/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/7OnLoadHook/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/7OnLoadHook/types/models/spt/server/ILocations.d.ts b/TypeScript/7OnLoadHook/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/7OnLoadHook/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/7OnLoadHook/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/7OnLoadHook/types/services/ItemFilterService.d.ts b/TypeScript/7OnLoadHook/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/7OnLoadHook/types/services/ItemFilterService.d.ts +++ b/TypeScript/7OnLoadHook/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/7OnLoadHook/types/utils/Watermark.d.ts b/TypeScript/7OnLoadHook/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/7OnLoadHook/types/utils/Watermark.d.ts +++ b/TypeScript/7OnLoadHook/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/8OnUpdateHook/types/controllers/LocationController.d.ts b/TypeScript/8OnUpdateHook/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/8OnUpdateHook/types/controllers/LocationController.d.ts +++ b/TypeScript/8OnUpdateHook/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/8OnUpdateHook/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/8OnUpdateHook/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/8OnUpdateHook/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/8OnUpdateHook/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/8OnUpdateHook/types/helpers/InRaidHelper.d.ts b/TypeScript/8OnUpdateHook/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/8OnUpdateHook/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/8OnUpdateHook/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/8OnUpdateHook/types/helpers/ItemHelper.d.ts b/TypeScript/8OnUpdateHook/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/8OnUpdateHook/types/helpers/ItemHelper.d.ts +++ b/TypeScript/8OnUpdateHook/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/8OnUpdateHook/types/models/eft/common/ILocation.d.ts b/TypeScript/8OnUpdateHook/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/8OnUpdateHook/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/8OnUpdateHook/types/models/eft/common/ILocationBase.d.ts b/TypeScript/8OnUpdateHook/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/8OnUpdateHook/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/8OnUpdateHook/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/8OnUpdateHook/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/8OnUpdateHook/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/8OnUpdateHook/types/models/spt/config/IItemConfig.d.ts b/TypeScript/8OnUpdateHook/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/8OnUpdateHook/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/8OnUpdateHook/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/8OnUpdateHook/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/8OnUpdateHook/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/8OnUpdateHook/types/models/spt/server/ILocations.d.ts b/TypeScript/8OnUpdateHook/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/8OnUpdateHook/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/8OnUpdateHook/types/services/ItemFilterService.d.ts b/TypeScript/8OnUpdateHook/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/8OnUpdateHook/types/services/ItemFilterService.d.ts +++ b/TypeScript/8OnUpdateHook/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/8OnUpdateHook/types/utils/Watermark.d.ts b/TypeScript/8OnUpdateHook/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/8OnUpdateHook/types/utils/Watermark.d.ts +++ b/TypeScript/8OnUpdateHook/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; } diff --git a/TypeScript/9RouterHooks/types/controllers/LocationController.d.ts b/TypeScript/9RouterHooks/types/controllers/LocationController.d.ts index eef31cb..5595baf 100644 --- a/TypeScript/9RouterHooks/types/controllers/LocationController.d.ts +++ b/TypeScript/9RouterHooks/types/controllers/LocationController.d.ts @@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest"; import { ILogger } from "@spt-aki/models/spt/utils/ILogger"; import { ConfigServer } from "@spt-aki/servers/ConfigServer"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; +import { ItemFilterService } from "@spt-aki/services/ItemFilterService"; import { LocalisationService } from "@spt-aki/services/LocalisationService"; import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService"; import { HashUtil } from "@spt-aki/utils/HashUtil"; @@ -28,6 +29,7 @@ export declare class LocationController { protected locationGenerator: LocationGenerator; protected localisationService: LocalisationService; protected raidTimeAdjustmentService: RaidTimeAdjustmentService; + protected itemFilterService: ItemFilterService; protected lootGenerator: LootGenerator; protected databaseServer: DatabaseServer; protected timeUtil: TimeUtil; @@ -35,7 +37,7 @@ export declare class LocationController { protected applicationContext: ApplicationContext; protected airdropConfig: IAirdropConfig; protected locationConfig: ILocationConfig; - constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); + constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext); /** * Handle client/location/getLocalloot * Get a location (map) with generated loot data diff --git a/TypeScript/9RouterHooks/types/generators/RepeatableQuestGenerator.d.ts b/TypeScript/9RouterHooks/types/generators/RepeatableQuestGenerator.d.ts index d191571..d020fac 100644 --- a/TypeScript/9RouterHooks/types/generators/RepeatableQuestGenerator.d.ts +++ b/TypeScript/9RouterHooks/types/generators/RepeatableQuestGenerator.d.ts @@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator { /** * Filter a maps exits to just those for the desired side * @param locationKey Map id (e.g. factory4_day) - * @param playerSide Scav/Bear + * @param playerSide Scav/Pmc * @returns Array of Exit objects */ protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[]; diff --git a/TypeScript/9RouterHooks/types/helpers/InRaidHelper.d.ts b/TypeScript/9RouterHooks/types/helpers/InRaidHelper.d.ts index 8d74906..a72c598 100644 --- a/TypeScript/9RouterHooks/types/helpers/InRaidHelper.d.ts +++ b/TypeScript/9RouterHooks/types/helpers/InRaidHelper.d.ts @@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { QuestHelper } from "@spt-aki/helpers/QuestHelper"; import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData"; -import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase"; +import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase"; import { Item } from "@spt-aki/models/eft/common/tables/IItem"; import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData"; import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig"; @@ -47,20 +47,6 @@ export declare class InRaidHelper { * @param items Items array to check */ addUpdToMoneyFromRaid(items: Item[]): void; - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number; - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number; - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number; /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/TypeScript/9RouterHooks/types/helpers/ItemHelper.d.ts b/TypeScript/9RouterHooks/types/helpers/ItemHelper.d.ts index 2fd1646..3e91ef7 100644 --- a/TypeScript/9RouterHooks/types/helpers/ItemHelper.d.ts +++ b/TypeScript/9RouterHooks/types/helpers/ItemHelper.d.ts @@ -59,6 +59,12 @@ export declare class ItemHelper { * @returns Does item have the possibility ot need soft inserts */ armorItemCanHoldMods(itemTpl: string): boolean; + /** + * Does the provided item tpl need soft/removable inserts to function + * @param itemTpl Armor item + * @returns True if item needs some kind of insert + */ + armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean; /** * Does the pased in tpl have ability to hold removable plate items * @param itemTpl item tpl to check for plate support diff --git a/TypeScript/9RouterHooks/types/models/eft/common/ILocation.d.ts b/TypeScript/9RouterHooks/types/models/eft/common/ILocation.d.ts index bba2db0..1fa0a2b 100644 --- a/TypeScript/9RouterHooks/types/models/eft/common/ILocation.d.ts +++ b/TypeScript/9RouterHooks/types/models/eft/common/ILocation.d.ts @@ -1,9 +1,10 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; +import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; export interface ILocation { base: ILocationBase; looseLoot: ILooseLoot; statics: IStaticContainer; + allExtracts: Exit[]; } export interface IStaticContainer { containersGroups: Record; diff --git a/TypeScript/9RouterHooks/types/models/eft/common/ILocationBase.d.ts b/TypeScript/9RouterHooks/types/models/eft/common/ILocationBase.d.ts index f5ade9e..99f5c9c 100644 --- a/TypeScript/9RouterHooks/types/models/eft/common/ILocationBase.d.ts +++ b/TypeScript/9RouterHooks/types/models/eft/common/ILocationBase.d.ts @@ -205,6 +205,7 @@ export interface Exit { PassageRequirement: string; PlayersCount: number; RequirementTip: string; + Side?: string; } export interface MaxItemCountInLocation { TemplateId: string; diff --git a/TypeScript/9RouterHooks/types/models/eft/common/tables/IBotBase.d.ts b/TypeScript/9RouterHooks/types/models/eft/common/tables/IBotBase.d.ts index dcc2a2f..cfcc831 100644 --- a/TypeScript/9RouterHooks/types/models/eft/common/tables/IBotBase.d.ts +++ b/TypeScript/9RouterHooks/types/models/eft/common/tables/IBotBase.d.ts @@ -182,6 +182,7 @@ export interface IEftStats { LastPlayerState?: LastPlayerState; TotalInGameTime: number; SurvivorClass?: string; + sptLastRaidFenceRepChange?: number; } export interface IDroppedItem { QuestId: string; diff --git a/TypeScript/9RouterHooks/types/models/spt/config/IItemConfig.d.ts b/TypeScript/9RouterHooks/types/models/spt/config/IItemConfig.d.ts index e939c09..40daa68 100644 --- a/TypeScript/9RouterHooks/types/models/spt/config/IItemConfig.d.ts +++ b/TypeScript/9RouterHooks/types/models/spt/config/IItemConfig.d.ts @@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig { kind: "aki-item"; /** Items that should be globally blacklisted */ blacklist: string[]; + /** items that should not be given as rewards */ + rewardItemBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/TypeScript/9RouterHooks/types/models/spt/logging/LogTextColor.d.ts b/TypeScript/9RouterHooks/types/models/spt/logging/LogTextColor.d.ts index 6c7abf3..aefca2a 100644 --- a/TypeScript/9RouterHooks/types/models/spt/logging/LogTextColor.d.ts +++ b/TypeScript/9RouterHooks/types/models/spt/logging/LogTextColor.d.ts @@ -7,5 +7,5 @@ export declare enum LogTextColor { MAGENTA = "magenta", CYAN = "cyan", WHITE = "white", - GRAY = "" + GRAY = "gray" } diff --git a/TypeScript/9RouterHooks/types/models/spt/server/ILocations.d.ts b/TypeScript/9RouterHooks/types/models/spt/server/ILocations.d.ts index c739973..a52242f 100644 --- a/TypeScript/9RouterHooks/types/models/spt/server/ILocations.d.ts +++ b/TypeScript/9RouterHooks/types/models/spt/server/ILocations.d.ts @@ -1,28 +1,23 @@ -import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase"; -import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot"; +import { ILocation } from "@spt-aki/models/eft/common/ILocation"; import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase"; export interface ILocations { - bigmap?: ILocationData; - develop?: ILocationData; - factory4_day?: ILocationData; - factory4_night?: ILocationData; - hideout?: ILocationData; - interchange?: ILocationData; - laboratory?: ILocationData; - lighthouse?: ILocationData; - privatearea?: ILocationData; - rezervbase?: ILocationData; - shoreline?: ILocationData; - suburbs?: ILocationData; - tarkovstreets?: ILocationData; - terminal?: ILocationData; - town?: ILocationData; - woods?: ILocationData; - sandbox?: ILocationData; + bigmap?: ILocation; + develop?: ILocation; + factory4_day?: ILocation; + factory4_night?: ILocation; + hideout?: ILocation; + interchange?: ILocation; + laboratory?: ILocation; + lighthouse?: ILocation; + privatearea?: ILocation; + rezervbase?: ILocation; + shoreline?: ILocation; + suburbs?: ILocation; + tarkovstreets?: ILocation; + terminal?: ILocation; + town?: ILocation; + woods?: ILocation; + sandbox?: ILocation; /** Holds a mapping of the linkages between locations on the UI */ base?: ILocationsBase; } -export interface ILocationData { - base: ILocationBase; - looseLoot?: ILooseLoot; -} diff --git a/TypeScript/9RouterHooks/types/services/ItemFilterService.d.ts b/TypeScript/9RouterHooks/types/services/ItemFilterService.d.ts index 791bb34..dea17d7 100644 --- a/TypeScript/9RouterHooks/types/services/ItemFilterService.d.ts +++ b/TypeScript/9RouterHooks/types/services/ItemFilterService.d.ts @@ -15,6 +15,17 @@ export declare class ItemFilterService { * @returns true if blacklisted */ isItemBlacklisted(tpl: string): boolean; + /** + * Check if item is blacklisted from being a reward for player + * @param tpl item tpl to check is on blacklist + * @returns True when blacklisted + */ + isItemRewardBlacklisted(tpl: string): boolean; + /** + * Get an array of items that should never be given as a reward to player + * @returns string array of item tpls + */ + getItemRewardBlacklist(): string[]; /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids diff --git a/TypeScript/9RouterHooks/types/utils/Watermark.d.ts b/TypeScript/9RouterHooks/types/utils/Watermark.d.ts index de35684..eb24706 100644 --- a/TypeScript/9RouterHooks/types/utils/Watermark.d.ts +++ b/TypeScript/9RouterHooks/types/utils/Watermark.d.ts @@ -40,6 +40,4 @@ export declare class Watermark { protected resetCursor(): void; /** Draw the watermark */ protected draw(): void; - /** Caculate text length */ - protected textLength(s: string): number; }