diff options
author | Subv <s.v.h21@hotmail.com> | 2012-10-10 10:29:18 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-10-10 10:29:18 -0500 |
commit | a8fa67c53ce0a75b3578a5cb5cdb8c18b552f696 (patch) | |
tree | 6270448cfbf2c66b0ca4c849d0df68572ecf2ed0 /src/server/game/Globals/ObjectMgr.cpp | |
parent | 1f699f2cd300895a5889d24d7513b09b544638ff (diff) | |
parent | ecc2362c69e24b2afc762bc32d11453d537a84fb (diff) |
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/Achievements/AchievementMgr.cpp
src/server/game/Handlers/CharacterHandler.cpp
src/server/game/World/World.cpp
src/server/game/World/World.h
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 196e36ad82b..669f89a1b8d 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7564,6 +7564,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) |