From e173b3d36146ecb675369384fd3d3080f382f8ad Mon Sep 17 00:00:00 2001 From: Chomp Date: Fri, 20 Dec 2024 09:33:13 +0000 Subject: [PATCH] Added nullguards to `removeResourceFromArea` --- project/src/controllers/HideoutController.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/project/src/controllers/HideoutController.ts b/project/src/controllers/HideoutController.ts index f1a4dac4..b25553c3 100644 --- a/project/src/controllers/HideoutController.ts +++ b/project/src/controllers/HideoutController.ts @@ -553,10 +553,24 @@ export class HideoutController { output: IItemEventRouterResponse, hideoutArea: IBotHideoutArea, ): IItemEventRouterResponse { - const slotIndexToRemove = removeResourceRequest.slots[0]; + const slotIndexToRemove = removeResourceRequest?.slots[0]; + if (typeof slotIndexToRemove === "undefined") { + this.logger.warning( + `Unable to remove resource from area: ${removeResourceRequest.areaType} slot as no slots found in request, RESTART CLIENT IMMEDIATELY`, + ); + + return output; + } // Assume only one item in slot - const itemToReturn = hideoutArea.slots.find((slot) => slot.locationIndex === slotIndexToRemove).item[0]; + const itemToReturn = hideoutArea.slots.find((slot) => slot.locationIndex === slotIndexToRemove)?.item[0]; + if (!itemToReturn) { + this.logger.warning( + `Unable to remove resource from area: ${removeResourceRequest.areaType} slot as no item found, RESTART CLIENT IMMEDIATELY`, + ); + + return output; + } const request: IAddItemDirectRequest = { itemWithModsToAdd: [itemToReturn],