diff --git a/src/game/Player.cpp b/src/game/Player.cpp index d16196b0158..bc2d718f0e7 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -13930,15 +13930,20 @@ void Player::RewardQuest(Quest const *pQuest, uint32 reward, Object* questGiver, QuestStatusData& q_status = mQuestStatus[quest_id]; // Not give XP in case already completed once repeatable quest - uint32 XP = q_status.m_rewarded ? 0 : uint32(pQuest->XPValue(this)*sWorld.getConfig(CONFIG_FLOAT_RATE_XP_QUEST)); + uint32 xp = 0; - if (getLevel() < sWorld.getConfig(CONFIG_UINT32_MAX_PLAYER_LEVEL)) - GiveXP(XP , NULL); - else + // Not give XP (and money replacement) in case already completed once repeatable quest + if (!q_status.m_rewarded) { - uint32 money = uint32(pQuest->GetRewMoneyMaxLevel() * sWorld.getConfig(CONFIG_FLOAT_RATE_DROP_MONEY)); - ModifyMoney( money ); - GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD, money); + xp = q_status.m_rewarded ? 0 : uint32(pQuest->XPValue(this)*sWorld.getConfig(CONFIG_FLOAT_RATE_XP_QUEST)); + if (getLevel() < sWorld.getConfig(CONFIG_UINT32_MAX_PLAYER_LEVEL)) + GiveXP(xp , NULL); + else + { + uint32 money = uint32(pQuest->GetRewMoneyMaxLevel() * sWorld.getConfig(CONFIG_FLOAT_RATE_DROP_MONEY)); + ModifyMoney(money); + GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD, money); + } } // Give player extra money if GetRewOrReqMoney > 0 and get ReqMoney if negative @@ -13993,7 +13998,7 @@ void Player::RewardQuest(Quest const *pQuest, uint32 reward, Object* questGiver, q_status.uState = QUEST_CHANGED; if (announce) - SendQuestReward(pQuest, XP, questGiver); + SendQuestReward(pQuest, xp, questGiver); bool handled = false; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 68997904d60..e1fc8217c29 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 "11655" + #define REVISION_NR "11656" #endif // __REVISION_NR_H__