diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-12-01 21:08:06 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-12-08 18:16:47 +0100 |
commit | b82a3a557a7bf13d48342ea189325550059b622d (patch) | |
tree | 014fd20fae16fab1da1f056850348282b0e5e331 /src/server/game/Quests/QuestDef.cpp | |
parent | 426cb31676338cf6e5411d38f645f98a7e6ccb91 (diff) |
Core/DataStores: Updated db2 structures to 9.0.2
* Includes support for new character customization
Diffstat (limited to 'src/server/game/Quests/QuestDef.cpp')
-rw-r--r-- | src/server/game/Quests/QuestDef.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp index 55285fe0394..a1d8520c8dd 100644 --- a/src/server/game/Quests/QuestDef.cpp +++ b/src/server/game/Quests/QuestDef.cpp @@ -26,6 +26,7 @@ #include "QuestPackets.h" #include "SpellMgr.h" #include "World.h" +#include "WorldSession.h" Quest::Quest(Field* questRecord) { @@ -280,17 +281,16 @@ uint32 Quest::XPValue(Player const* player) const if (!questXp || _rewardXPDifficulty >= 10) return 0; - float multiplier = 1.0f; - if (questLevel != player->getLevel()) - multiplier = sXpGameTable.GetRow(std::min<int32>(player->getLevel(), questLevel))->Divisor / sXpGameTable.GetRow(player->getLevel())->Divisor; - - int32 diffFactor = 2 * (questLevel + (GetQuestLevel() == -1 ? 0 : 5) - player->getLevel()) + 10; + int32 diffFactor = 2 * (questLevel - player->getLevel()) + 12; if (diffFactor < 1) diffFactor = 1; else if (diffFactor > 10) diffFactor = 10; - uint32 xp = diffFactor * questXp->Difficulty[_rewardXPDifficulty] * _rewardXPMultiplier / 10 * multiplier; + uint32 xp = diffFactor * questXp->Difficulty[_rewardXPDifficulty] * _rewardXPMultiplier / 10; + if (player->getLevel() >= GetMaxLevelForExpansion(CURRENT_EXPANSION - 1) && player->GetSession()->GetExpansion() == CURRENT_EXPANSION && _expansion < CURRENT_EXPANSION) + xp = uint32(xp / 9.0f); + if (xp <= 100) xp = 5 * ((xp + 2) / 5); else if (xp <= 500) |