Updated replaceProfilePocketTpl() to take into account profiles with multiple pocket objects due to equipment stand

This commit is contained in:
Dev 2024-10-12 22:57:24 +01:00
parent 1697f5e34e
commit be20eff165
2 changed files with 9 additions and 5 deletions

View File

@ -495,7 +495,7 @@ export class BotLootGenerator {
} }
} }
} }
// Some items (ammBox/ammo) need extra changes // Some items (ammoBox/ammo) need extra changes
this.addRequiredChildItemsToParent(itemToAddTemplate, itemWithChildrenToAdd, isPmc, botRole); this.addRequiredChildItemsToParent(itemToAddTemplate, itemWithChildrenToAdd, isPmc, botRole);
// Attempt to add item to container(s) // Attempt to add item to container(s)

View File

@ -508,15 +508,19 @@ export class ProfileHelper {
* @param newPocketTpl New tpl to set profiles Pockets to * @param newPocketTpl New tpl to set profiles Pockets to
*/ */
public replaceProfilePocketTpl(pmcProfile: IPmcData, newPocketTpl: string): void { public replaceProfilePocketTpl(pmcProfile: IPmcData, newPocketTpl: string): void {
const pockets = pmcProfile.Inventory.items.find((item) => item.slotId === "Pockets"); // Find all pockets in profile, may be multiple as they could have equipment stand
if (!pockets) { // (1 pocket for each upgrade level of equipment stand)
const pockets = pmcProfile.Inventory.items.filter((item) => item.slotId === "Pockets");
if (pockets.length === 0) {
this.logger.error( this.logger.error(
`unable to replace profile: ${pmcProfile._id} pocket tpl with: ${newPocketTpl} as Pocket item could not be found.`, `Unable to replace profile: ${pmcProfile._id} pocket tpl with: ${newPocketTpl} as Pocket item could not be found.`,
); );
return; return;
} }
pockets._tpl = newPocketTpl; for (const pocket of pockets) {
pocket._tpl = newPocketTpl;
}
} }
} }