[11657] Daily/weekly quests must still reward expirience/max level money at repeating.

This commit is contained in:
VladimirMangos 2011-06-19 22:10:46 +04:00
parent 328a62f18f
commit 3bea0ec357
2 changed files with 5 additions and 4 deletions

View file

@ -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