aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-10-10 06:43:47 -0700
committerSubv <s.v.h21@hotmail.com>2012-10-10 06:43:47 -0700
commitef6e7e09141f2dcd964e0828f287e2b235250746 (patch)
tree8e2a5978a54ba23450329efa4a20fcec1ea9a286 /src/server/game/Globals/ObjectMgr.cpp
parent3e5af53bf75fdacdb8626e4fd95a5c889874a829 (diff)
parent05eaf75501a69a4b9561ed245f07a4d0a7871f1d (diff)
Merge pull request #8001 from tibbi/reputation_convert
correct reputation converting at faction change
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rwxr-xr-xsrc/server/game/Globals/ObjectMgr.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 95a27fd14e1..b28f8be7805 100755
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -7590,6 +7590,27 @@ SpellScriptsBounds ObjectMgr::GetSpellScriptsBounds(uint32 spell_id)
return SpellScriptsBounds(_spellScriptsStore.lower_bound(spell_id), _spellScriptsStore.upper_bound(spell_id));
}
+// this allows calculating base reputations to offline players, just by race and class
+int32 ObjectMgr::GetBaseReputation(FactionEntry const* factionEntry, uint8 race, uint8 playerClass)
+{
+ if (!factionEntry)
+ return 0;
+
+ uint32 raceMask = (1 << (race - 1));
+ uint32 classMask = (1 << (playerClass-1));
+
+ for (int i = 0; i < 4; i++)
+ {
+ if ((!factionEntry->BaseRepClassMask[i] ||
+ factionEntry->BaseRepClassMask[i] & classMask) &&
+ (!factionEntry->BaseRepRaceMask[i] ||
+ factionEntry->BaseRepRaceMask[i] & raceMask))
+ return factionEntry->BaseRepValue[i];
+ }
+
+ return 0;
+}
+
SkillRangeType GetSkillRangeType(SkillLineEntry const* pSkill, bool racial)
{
switch (pSkill->categoryId)