mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 15:58:04 +00:00
fix(Core): Correct Quest XP Display when modified by OnQuestCompleteXP Hook (#12919)
This commit is contained in:
@@ -452,7 +452,9 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGU
|
|||||||
|
|
||||||
uint8 playerLevel = _session->GetPlayer() ? _session->GetPlayer()->getLevel() : 0;
|
uint8 playerLevel = _session->GetPlayer() ? _session->GetPlayer()->getLevel() : 0;
|
||||||
data << uint32(quest->GetRewOrReqMoney(playerLevel));
|
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
|
// 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;
|
uint8 playerLevel = _session->GetPlayer() ? _session->GetPlayer()->getLevel() : 0;
|
||||||
|
|
||||||
data << uint32(quest->GetRewOrReqMoney(playerLevel));
|
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
|
// rewarded honor points. Multiply with 10 to satisfy client
|
||||||
data << uint32(10 * quest->CalculateHonorGain(_session->GetPlayer()->GetQuestLevel(quest)));
|
data << uint32(10 * quest->CalculateHonorGain(_session->GetPlayer()->GetQuestLevel(quest)));
|
||||||
|
|||||||
Reference in New Issue
Block a user