aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Quests/QuestDef.cpp
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2024-06-13 22:25:58 +0200
committerOvahlord <dreadkiller@gmx.de>2024-06-13 22:25:58 +0200
commit38c2efe5d1b8aee1752c1b70eacd575c64ed1e97 (patch)
tree09ce33cb053de7cbf26dc42881057150fa2845a2 /src/server/game/Quests/QuestDef.cpp
parentc6ad86b60a0657d44b2a57242a8933c55e44bb41 (diff)
Core/Quests: updated quest xp calculation
Diffstat (limited to 'src/server/game/Quests/QuestDef.cpp')
-rw-r--r--src/server/game/Quests/QuestDef.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp
index 7ab774a0a64..303d8ad9651 100644
--- a/src/server/game/Quests/QuestDef.cpp
+++ b/src/server/game/Quests/QuestDef.cpp
@@ -391,21 +391,21 @@ void Quest::LoadConditionalConditionalQuestCompletionLog(Field* fields)
uint32 Quest::XPValue(Player const* player) const
{
- return XPValue(player, 0, _rewardXPDifficulty, _rewardXPMultiplier, _expansion);
+ return XPValue(player, _level, _rewardXPDifficulty, _rewardXPMultiplier, _expansion);
}
-uint32 Quest::XPValue(Player const* player, uint32 /*contentTuningId*/, uint32 xpDifficulty, float xpMultiplier /*= 1.0f*/, int32 expansion /*= -1*/)
+uint32 Quest::XPValue(Player const* player, int32 questLevel, uint32 xpDifficulty, float xpMultiplier /*= 1.0f*/, int32 expansion /*= -1*/)
{
if (player)
{
- uint32 questLevel = 0; // player->GetQuestLevel(contentTuningId);
- QuestXPEntry const* questXp = sQuestXPStore.LookupEntry(questLevel);
+ uint32 effectiveQuestLevel = questLevel == -1 ? player->GetLevel() : questLevel;
+ QuestXPEntry const* questXp = sQuestXPStore.LookupEntry(effectiveQuestLevel);
if (!questXp || xpDifficulty >= 10)
return 0;
uint32 xp = questXp->Difficulty[xpDifficulty];
- int32 diffFactor = 2 * (questLevel - player->GetLevel()) + 12;
+ int32 diffFactor = 2 * (effectiveQuestLevel - player->GetLevel()) + 20;
if (diffFactor < 1)
diffFactor = 1;
else if (diffFactor > 10)