From 167da9c573301afd0bcf3ea1f2aa5c6bea2fedc5 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 1 Nov 2025 02:51:46 -0700 Subject: [PATCH] chore: don't splice quest stages when backtracking (#2961) Inbox messages and items likely should not be given again Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2961 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- src/services/questService.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/services/questService.ts b/src/services/questService.ts index d5e9ab409..eb150eb6a 100644 --- a/src/services/questService.ts +++ b/src/services/questService.ts @@ -113,14 +113,10 @@ export const resetQuestKeyToStage = ( quest.Progress ??= []; - quest.Progress.splice(1 + ChainStage); // remove stages past the target - - const questStage = quest.Progress[ChainStage]; - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (questStage) { - const run = quest.Progress[0].c; - if (run >= 0) { - questStage.c = run - 1; + const run = quest.Progress[0]?.c ?? 0; + if (run >= 0) { + for (let i = ChainStage; i < quest.Progress.length; ++i) { + quest.Progress[i].c = run - 1; } } };