From b7d7089da6302d6ed487c850267476f6a7ec63f9 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Fri, 10 Oct 2025 11:37:14 -0400 Subject: [PATCH] fix(Core/Entities): Daily and other quests should grant XP when rewarded on subsequent completions. (#23160) --- src/server/game/Entities/Player/PlayerQuest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Player/PlayerQuest.cpp b/src/server/game/Entities/Player/PlayerQuest.cpp index 9f663ff2f..a8307c788 100644 --- a/src/server/game/Entities/Player/PlayerQuest.cpp +++ b/src/server/game/Entities/Player/PlayerQuest.cpp @@ -740,9 +740,9 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, if (log_slot < MAX_QUEST_LOG_SIZE) SetQuestSlot(log_slot, 0); - bool rewarded = IsQuestRewarded(quest_id) && !quest->IsDFQuest(); + bool const rewarded = IsQuestRewarded(quest_id) && !quest->IsDFQuest() && !(quest->IsDaily() || quest->IsWeekly() || quest->IsMonthly()); - // Not give XP in case already completed once repeatable quest + // Repeatable quests (not time-based reset ones) should not give XP on subsequent completions uint32 XP = rewarded ? 0 : CalculateQuestRewardXP(quest); sScriptMgr->OnPlayerQuestComputeXP(this, quest, XP);