From 863738087fba4cd262c21dd38c8edfcdee0491ee Mon Sep 17 00:00:00 2001 From: Chomp Date: Sun, 22 Dec 2024 21:30:21 +0000 Subject: [PATCH] Moved `deprioritisedContainers` data into config as `deprioritisedMoneyContainers` --- project/assets/configs/inventory.json | 3 ++- project/src/models/spt/config/IInventoryConfig.ts | 2 ++ project/src/services/PaymentService.ts | 12 ++++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/project/assets/configs/inventory.json b/project/assets/configs/inventory.json index d79eb011..8e6fb676 100644 --- a/project/assets/configs/inventory.json +++ b/project/assets/configs/inventory.json @@ -1595,5 +1595,6 @@ "customMoneyTpls": [], "skillGainMultiplers": { "Strength": 1 - } + }, + "deprioritisedMoneyContainers": ["590c60fc86f77412b13fddcf", "5d235bb686f77443f4331278"] } diff --git a/project/src/models/spt/config/IInventoryConfig.ts b/project/src/models/spt/config/IInventoryConfig.ts index 69668d22..ec9d5367 100644 --- a/project/src/models/spt/config/IInventoryConfig.ts +++ b/project/src/models/spt/config/IInventoryConfig.ts @@ -11,6 +11,8 @@ export interface IInventoryConfig extends IBaseConfig { customMoneyTpls: string[]; /** Multipliers for skill gain when inside menus, NOT in-game */ skillGainMultiplers: Record; + /** Container Tpls that shoud be deprioritised when choosing where to take money from for payments */ + deprioritisedMoneyContainers: string[]; } export interface IRewardDetails { diff --git a/project/src/services/PaymentService.ts b/project/src/services/PaymentService.ts index 5f7d4e07..2e4e587a 100644 --- a/project/src/services/PaymentService.ts +++ b/project/src/services/PaymentService.ts @@ -10,7 +10,10 @@ import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRo import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData"; import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData"; import { BackendErrorCodes } from "@spt/models/enums/BackendErrorCodes"; +import { ConfigTypes } from "@spt/models/enums/ConfigTypes"; +import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig"; import { ILogger } from "@spt/models/spt/utils/ILogger"; +import { ConfigServer } from "@spt/servers/ConfigServer"; import { DatabaseService } from "@spt/services/DatabaseService"; import { LocalisationService } from "@spt/services/LocalisationService"; import { HashUtil } from "@spt/utils/HashUtil"; @@ -19,6 +22,8 @@ import { inject, injectable } from "tsyringe"; @injectable() export class PaymentService { + protected inventoryConfig: IInventoryConfig; + constructor( @inject("PrimaryLogger") protected logger: ILogger, @inject("HashUtil") protected hashUtil: HashUtil, @@ -30,7 +35,10 @@ export class PaymentService { @inject("InventoryHelper") protected inventoryHelper: InventoryHelper, @inject("LocalisationService") protected localisationService: LocalisationService, @inject("PaymentHelper") protected paymentHelper: PaymentHelper, - ) {} + @inject("ConfigServer") protected configServer: ConfigServer, + ) { + this.inventoryConfig = this.configServer.getConfig(ConfigTypes.INVENTORY); + } /** * Take money and insert items into return to server request @@ -369,7 +377,7 @@ export class PaymentService { // Both in stash in containers if (aInStash && bInStash) { // Containers where taking money from would inconvinence player - const deprioritisedContainers = ["590c60fc86f77412b13fddcf", "5d235bb686f77443f4331278"]; + const deprioritisedContainers = this.inventoryConfig.deprioritisedMoneyContainers; const aImmediateParent = inventoryItems.find((item) => item._id === a.parentId); const bImmediateParent = inventoryItems.find((item) => item._id === b.parentId);