From 3bea0ec357630dc91992af6a5cec99363c8a9962 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sun, 19 Jun 2011 22:10:46 +0400 Subject: [PATCH] [11657] Daily/weekly quests must still reward expirience/max level money at repeating. --- src/game/Player.cpp | 7 ++++--- src/shared/revision_nr.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index bc2d718f0..bc11b747d 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -13932,10 +13932,11 @@ void Player::RewardQuest(Quest const *pQuest, uint32 reward, Object* questGiver, // Not give XP in case already completed once repeatable quest uint32 xp = 0; - // Not give XP (and money replacement) in case already completed once repeatable quest - if (!q_status.m_rewarded) + // Not give XP (and money replacement) in case already completed once repeatable quest (not daily/weekly cases) + if (!q_status.m_rewarded || pQuest->IsDailyOrWeekly()) { - xp = q_status.m_rewarded ? 0 : uint32(pQuest->XPValue(this)*sWorld.getConfig(CONFIG_FLOAT_RATE_XP_QUEST)); + xp = uint32(pQuest->XPValue(this)*sWorld.getConfig(CONFIG_FLOAT_RATE_XP_QUEST)); + if (getLevel() < sWorld.getConfig(CONFIG_UINT32_MAX_PLAYER_LEVEL)) GiveXP(xp , NULL); else diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index e1fc8217c..8d5affdef 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11656" + #define REVISION_NR "11657" #endif // __REVISION_NR_H__