WIP: fix: avoid pushing to quest progress in updateQuestStage #2847
@ -83,10 +83,16 @@ export const updateQuestStage = (
|
|||||||
`Quest stage index mismatch: stage is ${ChainStage} but array size is ${quest.Progress.length}`
|
`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[]][]) {
|
for (const [key, value] of Object.entries(questStageUpdate) as [
|
||||||
(questStage[key] as any) = value;
|
keyof IQuestStage,
|
||||||
|
number | boolean | any[]
|
||||||
|
][]) {
|
||||||
|
(questStage[key] as any) = value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user