forked from OpenWF/SpaceNinjaServer
		
	chore: dont send messages with completeQuest (#2914)
				
					
				
			Re #2754 Reviewed-on: OpenWF/SpaceNinjaServer#2914 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									7fe00da2a4
								
							
						
					
					
						commit
						a0ce110e7e
					
				@ -136,7 +136,7 @@ export const manageQuestsController: RequestHandler = async (req, res) => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                if (currentStage + 1 == questManifest.chainStages?.length) {
 | 
					                if (currentStage + 1 == questManifest.chainStages?.length) {
 | 
				
			||||||
                    logger.debug(`Trying to complete last stage with nextStage, calling completeQuest instead`);
 | 
					                    logger.debug(`Trying to complete last stage with nextStage, calling completeQuest instead`);
 | 
				
			||||||
                    await completeQuest(inventory, questKey.ItemType);
 | 
					                    await completeQuest(inventory, questKey.ItemType, true);
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    if (run > 0) {
 | 
					                    if (run > 0) {
 | 
				
			||||||
                        questKey.Progress[currentStage + 1].c = run;
 | 
					                        questKey.Progress[currentStage + 1].c = run;
 | 
				
			||||||
 | 
				
			|||||||
@ -116,7 +116,11 @@ export const addQuestKey = (
 | 
				
			|||||||
    return inventory.QuestKeys[index - 1].toJSON<IQuestKeyClient>();
 | 
					    return inventory.QuestKeys[index - 1].toJSON<IQuestKeyClient>();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const completeQuest = async (inventory: TInventoryDatabaseDocument, questKey: string): Promise<void> => {
 | 
					export const completeQuest = async (
 | 
				
			||||||
 | 
					    inventory: TInventoryDatabaseDocument,
 | 
				
			||||||
 | 
					    questKey: string,
 | 
				
			||||||
 | 
					    sendMessages: boolean = false
 | 
				
			||||||
 | 
					): Promise<void> => {
 | 
				
			||||||
    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
 | 
					    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
 | 
				
			||||||
    const chainStages = ExportKeys[questKey]?.chainStages;
 | 
					    const chainStages = ExportKeys[questKey]?.chainStages;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -134,8 +138,8 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
 | 
				
			|||||||
            unlock: true,
 | 
					            unlock: true,
 | 
				
			||||||
            Progress: Array.from({ length: chainStageTotal }, () => ({
 | 
					            Progress: Array.from({ length: chainStageTotal }, () => ({
 | 
				
			||||||
                c: 0,
 | 
					                c: 0,
 | 
				
			||||||
                i: false,
 | 
					                i: true,
 | 
				
			||||||
                m: false,
 | 
					                m: true,
 | 
				
			||||||
                b: []
 | 
					                b: []
 | 
				
			||||||
            }))
 | 
					            }))
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -162,7 +166,7 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
 | 
				
			|||||||
        const stage = existingQuestKey.Progress[i];
 | 
					        const stage = existingQuestKey.Progress[i];
 | 
				
			||||||
        if (stage.c <= run) {
 | 
					        if (stage.c <= run) {
 | 
				
			||||||
            stage.c = run;
 | 
					            stage.c = run;
 | 
				
			||||||
            await giveKeyChainStageTriggered(inventory, { KeyChain: questKey, ChainStage: i });
 | 
					            await giveKeyChainStageTriggered(inventory, { KeyChain: questKey, ChainStage: i }, sendMessages);
 | 
				
			||||||
            await giveKeyChainMissionReward(inventory, { KeyChain: questKey, ChainStage: i });
 | 
					            await giveKeyChainMissionReward(inventory, { KeyChain: questKey, ChainStage: i });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -328,7 +332,8 @@ export const giveKeyChainItem = async (
 | 
				
			|||||||
export const giveKeyChainMessage = async (
 | 
					export const giveKeyChainMessage = async (
 | 
				
			||||||
    inventory: TInventoryDatabaseDocument,
 | 
					    inventory: TInventoryDatabaseDocument,
 | 
				
			||||||
    keyChainInfo: IKeyChainRequest,
 | 
					    keyChainInfo: IKeyChainRequest,
 | 
				
			||||||
    questKey: IQuestKeyDatabase
 | 
					    questKey: IQuestKeyDatabase,
 | 
				
			||||||
 | 
					    sendMessage: boolean = true
 | 
				
			||||||
): Promise<void> => {
 | 
					): Promise<void> => {
 | 
				
			||||||
    const keyChainMessage = getKeyChainMessage(keyChainInfo);
 | 
					    const keyChainMessage = getKeyChainMessage(keyChainInfo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -337,7 +342,12 @@ export const giveKeyChainMessage = async (
 | 
				
			|||||||
        keyChainMessage.countedAtt = [];
 | 
					        keyChainMessage.countedAtt = [];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (sendMessage) {
 | 
				
			||||||
        await createMessage(inventory.accountOwnerId, [keyChainMessage]);
 | 
					        await createMessage(inventory.accountOwnerId, [keyChainMessage]);
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        if (keyChainMessage.countedAtt?.length) await addItems(inventory, keyChainMessage.countedAtt);
 | 
				
			||||||
 | 
					        if (keyChainMessage.att?.length) await addItems(inventory, keyChainMessage.att);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    updateQuestStage(inventory, keyChainInfo, { m: true });
 | 
					    updateQuestStage(inventory, keyChainInfo, { m: true });
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
@ -385,7 +395,8 @@ export const giveKeyChainMissionReward = async (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
export const giveKeyChainStageTriggered = async (
 | 
					export const giveKeyChainStageTriggered = async (
 | 
				
			||||||
    inventory: TInventoryDatabaseDocument,
 | 
					    inventory: TInventoryDatabaseDocument,
 | 
				
			||||||
    keyChainInfo: IKeyChainRequest
 | 
					    keyChainInfo: IKeyChainRequest,
 | 
				
			||||||
 | 
					    sendMessage: boolean = true
 | 
				
			||||||
): Promise<void> => {
 | 
					): Promise<void> => {
 | 
				
			||||||
    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
 | 
					    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
 | 
				
			||||||
    const chainStages = ExportKeys[keyChainInfo.KeyChain]?.chainStages;
 | 
					    const chainStages = ExportKeys[keyChainInfo.KeyChain]?.chainStages;
 | 
				
			||||||
@ -397,7 +408,7 @@ export const giveKeyChainStageTriggered = async (
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (chainStages[keyChainInfo.ChainStage].messageToSendWhenTriggered) {
 | 
					        if (chainStages[keyChainInfo.ChainStage].messageToSendWhenTriggered) {
 | 
				
			||||||
            await giveKeyChainMessage(inventory, keyChainInfo, questKey);
 | 
					            await giveKeyChainMessage(inventory, keyChainInfo, questKey, sendMessage);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user