Add Optional chaining to registerProduction() to fix null error relating to crafts without tools

This commit is contained in:
Dev 2024-02-28 20:33:10 +00:00
parent 93411b8ce4
commit 69bf8939d5

View File

@ -26,8 +26,8 @@ import { LocalisationService } from "@spt-aki/services/LocalisationService";
import { PlayerService } from "@spt-aki/services/PlayerService"; import { PlayerService } from "@spt-aki/services/PlayerService";
import { HashUtil } from "@spt-aki/utils/HashUtil"; import { HashUtil } from "@spt-aki/utils/HashUtil";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil"; import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { TimeUtil } from "@spt-aki/utils/TimeUtil";
import { JsonUtil } from "@spt-aki/utils/JsonUtil"; import { JsonUtil } from "@spt-aki/utils/JsonUtil";
import { TimeUtil } from "@spt-aki/utils/TimeUtil";
@injectable() @injectable()
export class HideoutHelper export class HideoutHelper
@ -105,13 +105,13 @@ export class HideoutHelper
// Store the tools used for this production, so we can return them later // Store the tools used for this production, so we can return them later
const bodyAsSingle = body as IHideoutSingleProductionStartRequestData; const bodyAsSingle = body as IHideoutSingleProductionStartRequestData;
if (bodyAsSingle && bodyAsSingle.tools.length > 0) if (bodyAsSingle && bodyAsSingle.tools?.length > 0)
{ {
production.sptRequiredTools = []; production.sptRequiredTools = [];
for (const tool of bodyAsSingle.tools) for (const tool of bodyAsSingle.tools)
{ {
const toolItem = this.jsonUtil.clone(pmcData.Inventory.items.find(x => x._id === tool.id)); const toolItem = this.jsonUtil.clone(pmcData.Inventory.items.find((x) => x._id === tool.id));
// Make sure we only return as many as we took // Make sure we only return as many as we took
if (!toolItem.upd) if (!toolItem.upd)
@ -123,7 +123,7 @@ export class HideoutHelper
production.sptRequiredTools.push({ production.sptRequiredTools.push({
_id: this.hashUtil.generate(), _id: this.hashUtil.generate(),
_tpl: toolItem._tpl, _tpl: toolItem._tpl,
upd: toolItem.upd upd: toolItem.upd,
}); });
} }
} }