WIP: fix: avoid pushing to quest progress in updateQuestStage #2847

Closed
Sainan wants to merge 7 commits from quest-fix into main
2 changed files with 4 additions and 4 deletions
Showing only changes of commit 06156bacf0 - Show all commits

View File

@ -210,7 +210,7 @@ export const getKeyChainItems = ({ KeyChain, ChainStage }: IKeyChainRequest): st
throw new Error(`KeyChain ${KeyChain} does not contain chain stages`);
}
const keyChainStage = chainStages[ChainStage];
const keyChainStage = chainStages[ChainStage - 1];
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
if (!keyChainStage) {
throw new Error(`KeyChainStage ${ChainStage} not found`);

View File

@ -157,7 +157,7 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
existingQuestKey.Progress.push(...missingProgress);
}
for (let i = 0; i < chainStageTotal; i++) {
for (let i = 1; i < chainStageTotal; i++) {
const stage = existingQuestKey.Progress[i];
if (stage.c <= run) {
stage.c = run;
@ -393,11 +393,11 @@ export const giveKeyChainStageTriggered = async (
const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain);
if (chainStages && questKey) {
if (chainStages[keyChainInfo.ChainStage].itemsToGiveWhenTriggered.length > 0) {
if (chainStages[keyChainInfo.ChainStage - 1].itemsToGiveWhenTriggered.length > 0) {
await giveKeyChainItem(inventory, keyChainInfo, questKey);
}
if (chainStages[keyChainInfo.ChainStage].messageToSendWhenTriggered) {
if (chainStages[keyChainInfo.ChainStage - 1].messageToSendWhenTriggered) {
await giveKeyChainMessage(inventory, keyChainInfo, questKey);
}
}