Small cleanup of preset handling code in addItem()

This commit is contained in:
Dev 2024-01-13 15:00:31 +00:00
parent 6cd82ce2a6
commit ae6bb7a43b
3 changed files with 13 additions and 10 deletions

View File

@ -317,7 +317,7 @@ export class LootGenerator
} }
// Add preset to return object // Add preset to return object
itemsToReturn.push({ count: 1, item_id: chosenWeaponPreset._id, isPreset: true }); itemsToReturn.push({ count: 1, item_id: chosenWeaponPreset._id, sptIsPreset: true });
// Get items related to chosen weapon // Get items related to chosen weapon
const linkedItemsToWeapon = this.ragfairLinkedItemService.getLinkedDbItems(chosenWeaponTpl); const linkedItemsToWeapon = this.ragfairLinkedItemService.getLinkedDbItems(chosenWeaponTpl);
@ -376,7 +376,7 @@ export class LootGenerator
// No need to add ammo to box, inventoryHelper.addItem() will handle it // No need to add ammo to box, inventoryHelper.addItem() will handle it
const chosenAmmoBox = this.randomUtil.getArrayValue(ammoBoxesMatchingCaliber); const chosenAmmoBox = this.randomUtil.getArrayValue(ammoBoxesMatchingCaliber);
rewards.push({ count: rewardCount, item_id: chosenAmmoBox._id, isPreset: false }); rewards.push({ count: rewardCount, item_id: chosenAmmoBox._id, sptIsPreset: false });
continue; continue;
} }
@ -494,7 +494,7 @@ export class LootGenerator
} }
else else
{ {
resultsArray.push({ item_id: itemTplToAdd, count: 1, isPreset: false }); resultsArray.push({ item_id: itemTplToAdd, count: 1, sptIsPreset: false });
} }
} }
} }

View File

@ -4,6 +4,7 @@ import { ContainerHelper } from "@spt-aki/helpers/ContainerHelper";
import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper"; import { DialogueHelper } from "@spt-aki/helpers/DialogueHelper";
import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper"; import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
import { PresetHelper } from "@spt-aki/helpers/PresetHelper";
import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper"; import { ProfileHelper } from "@spt-aki/helpers/ProfileHelper";
import { TraderAssortHelper } from "@spt-aki/helpers/TraderAssortHelper"; import { TraderAssortHelper } from "@spt-aki/helpers/TraderAssortHelper";
import { IPmcData } from "@spt-aki/models/eft/common/IPmcData"; import { IPmcData } from "@spt-aki/models/eft/common/IPmcData";
@ -57,6 +58,7 @@ export class InventoryHelper
@inject("ItemHelper") protected itemHelper: ItemHelper, @inject("ItemHelper") protected itemHelper: ItemHelper,
@inject("ContainerHelper") protected containerHelper: ContainerHelper, @inject("ContainerHelper") protected containerHelper: ContainerHelper,
@inject("ProfileHelper") protected profileHelper: ProfileHelper, @inject("ProfileHelper") protected profileHelper: ProfileHelper,
@inject("PresetHelper") protected presetHelper: PresetHelper,
@inject("LocalisationService") protected localisationService: LocalisationService, @inject("LocalisationService") protected localisationService: LocalisationService,
@inject("ConfigServer") protected configServer: ConfigServer, @inject("ConfigServer") protected configServer: ConfigServer,
) )
@ -95,13 +97,14 @@ export class InventoryHelper
for (const requestItem of request.items) for (const requestItem of request.items)
{ {
if (requestItem.item_id in this.databaseServer.getTables().globals.ItemPresets) if (this.presetHelper.isPreset(requestItem.item_id))
{ {
const presetItems = this.jsonUtil.clone( const preset = this.jsonUtil.clone(this.presetHelper.getPreset(requestItem.item_id));
this.databaseServer.getTables().globals.ItemPresets[requestItem.item_id]._items, const presetItems = preset._items;
);
// Push preset data into pool array
itemsToAddPool.push(...presetItems); itemsToAddPool.push(...presetItems);
requestItem.isPreset = true; requestItem.sptIsPreset = true;
requestItem.item_id = presetItems[0]._id; requestItem.item_id = presetItems[0]._id;
} }
else if (this.paymentHelper.isMoneyTpl(requestItem.item_id)) else if (this.paymentHelper.isMoneyTpl(requestItem.item_id))
@ -559,7 +562,7 @@ export class InventoryHelper
const itemToAdd: IAddItemTempObject = { const itemToAdd: IAddItemTempObject = {
itemRef: item, itemRef: item,
count: requestItem.count, count: requestItem.count,
isPreset: !!requestItem.isPreset, isPreset: !!requestItem.sptIsPreset,
}; };
// Split stacks if the size is higher than allowed by items StackMaxSize property // Split stacks if the size is higher than allowed by items StackMaxSize property

View File

@ -8,6 +8,6 @@ export interface IAddItemRequestData
export interface AddItem export interface AddItem
{ {
count: number; count: number;
isPreset?: boolean; sptIsPreset?: boolean;
item_id: string; item_id: string;
} }