fix: look ahead for key chain messages (#1603)

This is required for the railjack quest:
- request has ChainStage 1 when it wants message from index 3
- request has ChainStage 4 when it wants message from index 6
- ...

Reviewed-on: OpenWF/SpaceNinjaServer#1603
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-04-13 05:51:27 -07:00 committed by OrdisPrime
parent a75e0c59af
commit 729ea0abff

View File

@ -185,13 +185,14 @@ export const getKeyChainMessage = ({ KeyChain, ChainStage }: IKeyChainRequest):
throw new Error(`KeyChain ${KeyChain} does not contain chain stages`); throw new Error(`KeyChain ${KeyChain} does not contain chain stages`);
} }
const keyChainStage = chainStages[ChainStage]; let i = ChainStage;
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition let chainStageMessage = chainStages[i].messageToSendWhenTriggered;
if (!keyChainStage) { while (!chainStageMessage) {
throw new Error(`KeyChainStage ${ChainStage} not found`); if (++i >= chainStages.length) {
break;
}
chainStageMessage = chainStages[i].messageToSendWhenTriggered;
} }
const chainStageMessage = keyChainStage.messageToSendWhenTriggered;
if (!chainStageMessage) { if (!chainStageMessage) {
throw new Error( throw new Error(