From c006f1b9048eb72ffacbd694db817beaec9df453 Mon Sep 17 00:00:00 2001 From: TOM_RUS Date: Mon, 31 Jan 2011 16:27:23 +0100 Subject: Core/Quests: Implemented proper calculation of quest honor reward using DBC Signed-off-by: Shauren --- src/server/game/Quests/QuestDef.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/server/game/Quests/QuestDef.cpp') diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp index 62739212ab9..50fb0e452fb 100755 --- a/src/server/game/Quests/QuestDef.cpp +++ b/src/server/game/Quests/QuestDef.cpp @@ -212,3 +212,23 @@ bool Quest::IsAllowedInRaid() const return sWorld->getBoolConfig(CONFIG_QUEST_IGNORE_RAID); } + +uint32 Quest::CalculateHonorGain(uint8 level) const +{ + if (level > GT_MAX_LEVEL) + level = GT_MAX_LEVEL; + + uint32 honor = 0; + + if (GetRewHonorAddition() > 0 || GetRewHonorMultiplier() > 0.0f) + { + // values stored from 0.. for 1... + TeamContributionPointsEntry const* tc = sTeamContributionPointsStore.LookupEntry(level-1); + if (!tc) + return 0; + honor = uint32(tc->value * GetRewHonorMultiplier() * 0.1000000014901161); + honor += GetRewHonorAddition(); + } + + return honor; +} -- cgit v1.2.3