diff --git a/project/src/helpers/ItemHelper.ts b/project/src/helpers/ItemHelper.ts index 107e9e53..dfb19d1e 100644 --- a/project/src/helpers/ItemHelper.ts +++ b/project/src/helpers/ItemHelper.ts @@ -927,21 +927,26 @@ export class ItemHelper { * Mark the passed in array of items as found in raid. * Modifies passed in items * @param items The list of items to mark as FiR + * @param excludeCurrency Should currency be excluded from becoming FiR (default true) */ - public setFoundInRaid(items: IItem[]): void { + public setFoundInRaid(items: IItem[], excludeCurrency = true): void { for (const item of items) { if (!item.upd) { item.upd = {}; } + if (excludeCurrency && this.isOfBaseclass(item._tpl, BaseClasses.MONEY)) { + continue; + } + item.upd.SpawnedInSession = true; } } /** * WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do - * @param {string} tpl Items tpl to check parents of - * @param {Array} tplsToCheck Tpl values to check if parents of item match + * @param tpl Items tpl to check parents of + * @param tplsToCheck Tpl values to check if parents of item match * @returns boolean Match found */ public doesItemOrParentsIdMatch(tpl: string, tplsToCheck: string[]): boolean { @@ -949,12 +954,12 @@ export class ItemHelper { const itemExists = itemDetails[0]; const item = itemDetails[1]; - // not an item, drop out + // Not an item, drop out if (!itemExists) { return false; } - // no parent to check + // No parent to check if (!item._parent) { return false; } diff --git a/project/src/helpers/RewardHelper.ts b/project/src/helpers/RewardHelper.ts index 1c86161e..0726ee68 100644 --- a/project/src/helpers/RewardHelper.ts +++ b/project/src/helpers/RewardHelper.ts @@ -9,6 +9,7 @@ import { IReward } from "@spt/models/eft/common/tables/IReward"; import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction"; import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse"; import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; +import { BaseClasses } from "@spt/models/enums/BaseClasses"; import { RewardType } from "@spt/models/enums/RewardType"; import { SkillTypes } from "@spt/models/enums/SkillTypes"; import type { ILogger } from "@spt/models/spt/utils/ILogger"; @@ -253,8 +254,8 @@ export class RewardHelper { for (const rewardItem of reward.items) { this.itemHelper.addUpdObjectToItem(rewardItem); - // Reward items are granted Found in Raid status - rewardItem.upd.SpawnedInSession = true; + // Reward items are granted Found in Raid status (except currency) + this.itemHelper.setFoundInRaid(reward.items); // Is root item, fix stacks if (rewardItem._id === reward.target) {