[9318] Update quest XP formula

Use dbc store as base for real xp rewarded and also display xp reward accordingly in related packets.
Note there are still some smaller things that may need smaller adjustments and tweaks, these are on the todo-list.

Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
NoFantasy 2010-02-07 02:39:44 +01:00
parent 87a35b0489
commit a9a16061d5
7 changed files with 102 additions and 36 deletions

View file

@ -512,7 +512,12 @@ void PlayerMenu::SendQuestGiverQuestDetails( Quest const *pQuest, uint64 npcGUID
data << uint32(0);
}
data << uint32(pQuest->GetRewOrReqMoney());
// send rewMoneyMaxLevel explicit for max player level, else send RewOrReqMoney
if (pSession->GetPlayer()->getLevel() >= sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL))
data << uint32(pQuest->GetRewMoneyMaxLevel());
else
data << uint32(pQuest->GetRewOrReqMoney());
data << uint32(pQuest->XPValue(pSession->GetPlayer()));
}
@ -771,7 +776,12 @@ void PlayerMenu::SendQuestGiverOfferReward( Quest const* pQuest, uint64 npcGUID,
data << uint32(0);
}
data << uint32(pQuest->GetRewOrReqMoney()); // money
// send rewMoneyMaxLevel explicit for max player level, else send RewOrReqMoney
if (pSession->GetPlayer()->getLevel() >= sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL))
data << uint32(pQuest->GetRewMoneyMaxLevel());
else
data << uint32(pQuest->GetRewOrReqMoney());
data << uint32(pQuest->XPValue(pSession->GetPlayer())); // xp
// TODO: fixme. rewarded honor points. Multiply with 10 to satisfy client