diff options
| author | Kinzcool <kinzzcool@hotmail.com> | 2015-07-01 17:57:09 -0400 |
|---|---|---|
| committer | Kinzcool <kinzzcool@hotmail.com> | 2015-07-01 17:57:09 -0400 |
| commit | 4bbbd9540a25845edb0d424199bab196b5e6bea1 (patch) | |
| tree | 39aa0b8c6c76390a70e5e513131cb4a777ce32e5 /src/server/game/Entities/Player | |
| parent | 97b693343586be8ec01178b6b0a02f52bee4d723 (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.cpp | 11 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.h | 1 |
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); |
