check values directly in questKey
Some checks failed
Build / build (pull_request) Failing after 1m16s

This commit is contained in:
AMelonInsideLemon 2025-09-20 10:07:02 +02:00
parent 2336c3018a
commit 34a23aa2dc
3 changed files with 10 additions and 10 deletions

View File

@ -10,7 +10,8 @@ export const giveKeyChainTriggeredItemsController: RequestHandler = async (req,
const keyChainInfo = getJSONfromString<IKeyChainRequest>((req.body as string).toString()); const keyChainInfo = getJSONfromString<IKeyChainRequest>((req.body as string).toString());
const inventory = await getInventory(accountId); const inventory = await getInventory(accountId);
const inventoryChanges = await giveKeyChainItem(inventory, keyChainInfo); const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain)!;
const inventoryChanges = await giveKeyChainItem(inventory, keyChainInfo, questKey);
await inventory.save(); await inventory.save();
res.send(inventoryChanges); res.send(inventoryChanges);

View File

@ -9,7 +9,8 @@ export const giveKeyChainTriggeredMessageController: RequestHandler = async (req
const keyChainInfo = JSON.parse((req.body as Buffer).toString()) as IKeyChainRequest; const keyChainInfo = JSON.parse((req.body as Buffer).toString()) as IKeyChainRequest;
const inventory = await getInventory(accountId, "QuestKeys accountOwnerId"); const inventory = await getInventory(accountId, "QuestKeys accountOwnerId");
await giveKeyChainMessage(inventory, keyChainInfo); const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain)!;
await giveKeyChainMessage(inventory, keyChainInfo, questKey);
await inventory.save(); await inventory.save();
res.send(1); res.send(1);

View File

@ -298,11 +298,11 @@ const handleQuestCompletion = async (
export const giveKeyChainItem = async ( export const giveKeyChainItem = async (
inventory: TInventoryDatabaseDocument, inventory: TInventoryDatabaseDocument,
keyChainInfo: IKeyChainRequest, keyChainInfo: IKeyChainRequest,
isRerun: boolean = false questKey: IQuestKeyDatabase
): Promise<IInventoryChanges> => { ): Promise<IInventoryChanges> => {
let inventoryChanges: IInventoryChanges = {}; let inventoryChanges: IInventoryChanges = {};
if (isRerun) { if (questKey.Progress![keyChainInfo.ChainStage].i) {
inventoryChanges = await addKeyChainItems(inventory, keyChainInfo); inventoryChanges = await addKeyChainItems(inventory, keyChainInfo);
if (isEmptyObject(inventoryChanges)) { if (isEmptyObject(inventoryChanges)) {
@ -327,11 +327,11 @@ export const giveKeyChainItem = async (
export const giveKeyChainMessage = async ( export const giveKeyChainMessage = async (
inventory: TInventoryDatabaseDocument, inventory: TInventoryDatabaseDocument,
keyChainInfo: IKeyChainRequest, keyChainInfo: IKeyChainRequest,
isRerun: boolean = false questKey: IQuestKeyDatabase
): Promise<void> => { ): Promise<void> => {
const keyChainMessage = getKeyChainMessage(keyChainInfo); const keyChainMessage = getKeyChainMessage(keyChainInfo);
if (isRerun) { if ((questKey.Progress![0].c ?? 0) > 0) {
keyChainMessage.att = []; keyChainMessage.att = [];
keyChainMessage.countedAtt = []; keyChainMessage.countedAtt = [];
} }
@ -391,14 +391,12 @@ export const giveKeyChainStageTriggered = async (
const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain); const questKey = inventory.QuestKeys.find(qk => qk.ItemType === keyChainInfo.KeyChain);
if (chainStages && questKey) { if (chainStages && questKey) {
const run = questKey.Progress?.[0]?.c ?? 0;
if (chainStages[keyChainInfo.ChainStage].itemsToGiveWhenTriggered.length > 0) { if (chainStages[keyChainInfo.ChainStage].itemsToGiveWhenTriggered.length > 0) {
await giveKeyChainItem(inventory, keyChainInfo, run > 0); await giveKeyChainItem(inventory, keyChainInfo, questKey);
} }
if (chainStages[keyChainInfo.ChainStage].messageToSendWhenTriggered) { if (chainStages[keyChainInfo.ChainStage].messageToSendWhenTriggered) {
await giveKeyChainMessage(inventory, keyChainInfo, run > 0); await giveKeyChainMessage(inventory, keyChainInfo, questKey);
} }
} }
}; };