From 37c2da0f8e4a08a5f1bbef932041845573920640 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sun, 5 Oct 2025 18:23:44 +0200 Subject: [PATCH] handle giveKeyChainTriggeredMessage with ChainStage = 0 --- src/services/questService.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/services/questService.ts b/src/services/questService.ts index 9a21f991..cc9449fd 100644 --- a/src/services/questService.ts +++ b/src/services/questService.ts @@ -83,10 +83,16 @@ export const updateQuestStage = ( `Quest stage index mismatch: stage is ${ChainStage} but array size is ${quest.Progress.length}` ); } - const questStage = quest.Progress[ChainStage]; // guaranteed in-bounds now + // Note that the client may use index 0 as well, e.g. for rising tide's initial inbox message. 'm' is not tracked for it. + if (ChainStage >= 0) { + const questStage = quest.Progress[ChainStage]; // guaranteed in-bounds now - for (const [key, value] of Object.entries(questStageUpdate) as [keyof IQuestStage, number | boolean | any[]][]) { - (questStage[key] as any) = value; + for (const [key, value] of Object.entries(questStageUpdate) as [ + keyof IQuestStage, + number | boolean | any[] + ][]) { + (questStage[key] as any) = value; + } } };