From 0b3ad5bbd8d6d8351beb6d452d09dca6f056a77c Mon Sep 17 00:00:00 2001 From: Dev Date: Sun, 7 Jan 2024 23:51:28 +0000 Subject: [PATCH] Only send failed quest trader messages for non-repeatable quests --- project/src/helpers/QuestHelper.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/project/src/helpers/QuestHelper.ts b/project/src/helpers/QuestHelper.ts index a1ad94dc..0939e2ec 100644 --- a/project/src/helpers/QuestHelper.ts +++ b/project/src/helpers/QuestHelper.ts @@ -636,14 +636,18 @@ export class QuestHelper // Create a dialog message for completing the quest. const quest = this.getQuestFromDb(failRequest.qid, pmcData); - this.mailSendService.sendLocalisedNpcMessageToPlayer( - sessionID, - this.traderHelper.getTraderById(quest.traderId), - MessageType.QUEST_FAIL, - quest.failMessageText, - questRewards, - this.timeUtil.getHoursAsSeconds(this.questConfig.redeemTime), - ); + const questIsRepeatable = pmcData.RepeatableQuests.some(quest => quest.id === failRequest.qid); + if (!questIsRepeatable) + { + this.mailSendService.sendLocalisedNpcMessageToPlayer( + sessionID, + this.traderHelper.getTraderById(quest.traderId), + MessageType.QUEST_FAIL, + quest.failMessageText, + questRewards, + this.timeUtil.getHoursAsSeconds(this.questConfig.redeemTime), + ); + } output.profileChanges[sessionID].quests.push(this.failedUnlocked(failRequest.qid, sessionID));