aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Player
diff options
context:
space:
mode:
authorKinzcool <kinzzcool@hotmail.com>2015-07-01 17:57:09 -0400
committerKinzcool <kinzzcool@hotmail.com>2015-07-01 17:57:09 -0400
commit4bbbd9540a25845edb0d424199bab196b5e6bea1 (patch)
tree39aa0b8c6c76390a70e5e513131cb4a777ce32e5 /src/server/game/Entities/Player
parent97b693343586be8ec01178b6b0a02f52bee4d723 (diff)
Core/Quests: Calculate the RewardMoney value with QuestMoneyReward.dbc and defined an unknown field
Diffstat (limited to 'src/server/game/Entities/Player')
-rw-r--r--src/server/game/Entities/Player/Player.cpp11
-rw-r--r--src/server/game/Entities/Player/Player.h1
2 files changed, 9 insertions, 3 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 7e21d9784fd..c167e416090 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -14656,6 +14656,11 @@ void Player::IncompleteQuest(uint32 quest_id)
}
}
+uint32 Player::GetQuestMoneyReward(Quest const* quest)
+{
+ return quest->MoneyValue(getLevel()) * sWorld->getRate(RATE_MONEY_QUEST);
+}
+
uint32 Player::GetQuestXPReward(Quest const* quest)
{
bool rewarded = (m_RewardedQuests.find(quest->GetQuestId()) != m_RewardedQuests.end());
@@ -14791,7 +14796,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
else
moneyRew = int32(quest->GetRewMoneyMaxLevel() * sWorld->getRate(RATE_DROP_MONEY));
- moneyRew += quest->GetRewMoney();
+ moneyRew += GetQuestMoneyReward(quest);
if (moneyRew)
{
@@ -16340,12 +16345,12 @@ void Player::SendQuestReward(Quest const* quest, uint32 XP)
if (getLevel() < sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
{
xp = XP;
- moneyReward = quest->GetRewMoney();
+ moneyReward = GetQuestMoneyReward(quest);
}
else // At max level, increase gold reward
{
xp = 0;
- moneyReward = uint32(quest->GetRewMoney() + int32(quest->GetRewMoneyMaxLevel() * sWorld->getRate(RATE_DROP_MONEY)));
+ moneyReward = uint32(GetQuestMoneyReward(quest) + int32(quest->GetRewMoneyMaxLevel() * sWorld->getRate(RATE_DROP_MONEY)));
}
WorldPackets::Quest::QuestGiverQuestComplete packet;
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 203682fc84b..2e4a50251a7 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1647,6 +1647,7 @@ class Player : public Unit, public GridObject<Player>
void AddQuest(Quest const* quest, Object* questGiver);
void CompleteQuest(uint32 quest_id);
void IncompleteQuest(uint32 quest_id);
+ uint32 GetQuestMoneyReward(Quest const* quest);
uint32 GetQuestXPReward(Quest const* quest);
void RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, bool announce = true);
void FailQuest(uint32 quest_id);