diff --git a/src/controllers/api/updateQuestController.ts b/src/controllers/api/updateQuestController.ts index d5d4a5a7..3a91ada0 100644 --- a/src/controllers/api/updateQuestController.ts +++ b/src/controllers/api/updateQuestController.ts @@ -30,10 +30,11 @@ export const updateQuestController: RequestHandler = async (req, res) => { const questCompletionItems = getQuestCompletionItems(questKeyName); logger.debug(`quest completion items`, questCompletionItems); - const inventoryChanges = await addItems(inventory, questCompletionItems); + if (questCompletionItems) { + const inventoryChanges = await addItems(inventory, questCompletionItems); + updateQuestResponse.InventoryChanges = inventoryChanges; + } inventory.ActiveQuest = ""; - - updateQuestResponse.InventoryChanges = inventoryChanges; } //TODO: might need to parse the custom data and add the associated items to inventory diff --git a/src/services/itemDataService.ts b/src/services/itemDataService.ts index be4291d6..d68ef666 100644 --- a/src/services/itemDataService.ts +++ b/src/services/itemDataService.ts @@ -189,11 +189,13 @@ export const getNode = (nodeName: string): IRegion => { }; export const getQuestCompletionItems = (questKey: string) => { - const items = (questCompletionItems as unknown as Record)[questKey]; - if (!items) { - throw new Error(`Quest ${questKey} not found in questCompletionItems`); - } + const items = (questCompletionItems as unknown as Record | undefined)?.[questKey]; + if (!items) { + logger.error( + `Quest ${questKey} not found in questCompletionItems, quest completion items have not been given. This is a temporary solution` + ); + } return items; };