fix: use 1-indexing for ChainStage #1601

Closed
Sainan wants to merge 3 commits from give-key-chain-message-fix into main
3 changed files with 5 additions and 5 deletions

View File

@ -107,7 +107,7 @@ export const manageQuestsController: RequestHandler = async (req, res) => {
questKey.CompletionDate = undefined;
}
questKey.Progress.pop();
const stage = questKey.Progress.length - 1;
const stage = questKey.Progress.length;
if (stage > 0) {
await giveKeyChainStageTriggered(inventory, {
KeyChain: questKey.ItemType,

View File

@ -143,7 +143,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`);
@ -185,7 +185,7 @@ export const getKeyChainMessage = ({ KeyChain, ChainStage }: IKeyChainRequest):
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

@ -308,11 +308,11 @@ export const giveKeyChainStageTriggered = async (
const chainStages = ExportKeys[keyChainInfo.KeyChain]?.chainStages;
if (chainStages) {
if (chainStages[keyChainInfo.ChainStage].itemsToGiveWhenTriggered.length > 0) {
if (chainStages[keyChainInfo.ChainStage - 1].itemsToGiveWhenTriggered.length > 0) {
await giveKeyChainItem(inventory, keyChainInfo);
}
if (chainStages[keyChainInfo.ChainStage].messageToSendWhenTriggered) {
if (chainStages[keyChainInfo.ChainStage - 1].messageToSendWhenTriggered) {
await giveKeyChainMessage(inventory, inventory.accountOwnerId, keyChainInfo);
}
}