fix(Core): Correct Quest XP Display when modified by OnQuestCompleteXP Hook (#12919)

This commit is contained in:
ZhengPeiRu21
2022-09-02 06:28:53 -06:00
committed by GitHub
parent 2a2b7dc74a
commit 1a20c2daa0

View File

@@ -452,7 +452,9 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGU
uint8 playerLevel = _session->GetPlayer() ? _session->GetPlayer()->getLevel() : 0;
data << uint32(quest->GetRewOrReqMoney(playerLevel));
data << uint32(quest->XPValue(playerLevel) * _session->GetPlayer()->GetQuestRate());
uint32 questXp = uint32(quest->XPValue(playerLevel) * _session->GetPlayer()->GetQuestRate());
sScriptMgr->OnQuestComputeXP(_session->GetPlayer(), quest, questXp);
data << questXp;
}
// rewarded honor points. Multiply with 10 to satisfy client
@@ -680,7 +682,9 @@ void PlayerMenu::SendQuestGiverOfferReward(Quest const* quest, ObjectGuid npcGUI
uint8 playerLevel = _session->GetPlayer() ? _session->GetPlayer()->getLevel() : 0;
data << uint32(quest->GetRewOrReqMoney(playerLevel));
data << uint32(quest->XPValue(playerLevel) * _session->GetPlayer()->GetQuestRate());
uint32 questXp = uint32(quest->XPValue(playerLevel) * _session->GetPlayer()->GetQuestRate());
sScriptMgr->OnQuestComputeXP(_session->GetPlayer(), quest, questXp);
data << questXp;
// rewarded honor points. Multiply with 10 to satisfy client
data << uint32(10 * quest->CalculateHonorGain(_session->GetPlayer()->GetQuestLevel(quest)));