From b41d8683b3963b6dc2ecd2799294e9f5dd67e363 Mon Sep 17 00:00:00 2001 From: Chomp Date: Mon, 9 Dec 2024 14:41:42 +0000 Subject: [PATCH] Added array to config to allow ignoring of item types from rewards, wired up function in itemFilterService to return values + Added built in inserts to blacklist --- project/assets/configs/item.json | 1 + project/src/models/spt/config/IItemConfig.ts | 2 ++ project/src/services/ItemFilterService.ts | 8 ++++++++ 3 files changed, 11 insertions(+) diff --git a/project/assets/configs/item.json b/project/assets/configs/item.json index 23dd881e..68b25cf1 100644 --- a/project/assets/configs/item.json +++ b/project/assets/configs/item.json @@ -52,6 +52,7 @@ "66da1b546916142b3b022777", "670ad7f1ad195290cd00da7a" ], + "rewardItemTypeBlacklist": ["65649eb40bf0ed77b8044453"], "lootableItemBlacklist": ["660bbc47c38b837877075e47", "660bc341c38b837877075e4c"], "rewardItemBlacklist": [ "58ac60eb86f77401897560ff", diff --git a/project/src/models/spt/config/IItemConfig.ts b/project/src/models/spt/config/IItemConfig.ts index b13a328f..316df980 100644 --- a/project/src/models/spt/config/IItemConfig.ts +++ b/project/src/models/spt/config/IItemConfig.ts @@ -8,6 +8,8 @@ export interface IItemConfig extends IBaseConfig { lootableItemBlacklist: string[]; /** items that should not be given as rewards */ rewardItemBlacklist: string[]; + /** Item base types that should not be given as rewards */ + rewardItemTypeBlacklist: string[]; /** Items that can only be found on bosses */ bossItems: string[]; handbookPriceOverride: Record; diff --git a/project/src/services/ItemFilterService.ts b/project/src/services/ItemFilterService.ts index 2f367975..3befc372 100644 --- a/project/src/services/ItemFilterService.ts +++ b/project/src/services/ItemFilterService.ts @@ -65,6 +65,14 @@ export class ItemFilterService { return this.cloner.clone(this.itemConfig.rewardItemBlacklist); } + /** + * Get an array of item types that should never be given as a reward to player + * @returns string array of item base ids + */ + public getItemRewardBaseTypeBlacklist(): string[] { + return this.cloner.clone(this.itemConfig.rewardItemTypeBlacklist); + } + /** * Return every template id blacklisted in config/item.json * @returns string array of blacklisted tempalte ids