mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-27 23:56:25 +00:00
feat(Core/Player): Split Dungeon Finder quest rates (#9788)
This commit is contained in:
@@ -15379,9 +15379,9 @@ uint16 Player::GetMaxSkillValueForLevel() const
|
||||
return result;
|
||||
}
|
||||
|
||||
float Player::GetQuestRate()
|
||||
float Player::GetQuestRate(bool isDFQuest)
|
||||
{
|
||||
float result = sWorld->getRate(RATE_XP_QUEST);
|
||||
float result = isDFQuest ? sWorld->getRate(RATE_XP_QUEST_DF) : sWorld->getRate(RATE_XP_QUEST);
|
||||
|
||||
sScriptMgr->OnGetQuestRate(this, result);
|
||||
|
||||
|
||||
@@ -1412,7 +1412,7 @@ public:
|
||||
void RemoveRewardedQuest(uint32 questId, bool update = true);
|
||||
void SendQuestUpdate(uint32 questId);
|
||||
QuestGiverStatus GetQuestDialogStatus(Object* questGiver);
|
||||
float GetQuestRate();
|
||||
float GetQuestRate(bool isDFQuest = false);
|
||||
void SetDailyQuestStatus(uint32 quest_id);
|
||||
bool IsDailyQuestDone(uint32 quest_id);
|
||||
void SetWeeklyQuestStatus(uint32 quest_id);
|
||||
|
||||
@@ -726,7 +726,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
|
||||
bool rewarded = IsQuestRewarded(quest_id) && !quest->IsDFQuest();
|
||||
|
||||
// Not give XP in case already completed once repeatable quest
|
||||
uint32 XP = rewarded ? 0 : uint32(quest->XPValue(getLevel()) * GetQuestRate());
|
||||
uint32 XP = rewarded ? 0 : uint32(quest->XPValue(getLevel()) * GetQuestRate(quest->IsDFQuest()));
|
||||
|
||||
// handle SPELL_AURA_MOD_XP_QUEST_PCT auras
|
||||
Unit::AuraEffectList const& ModXPPctAuras = GetAuraEffectsByType(SPELL_AURA_MOD_XP_QUEST_PCT);
|
||||
|
||||
Reference in New Issue
Block a user