diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/ReputationMgr.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/game/ReputationMgr.cpp b/src/game/ReputationMgr.cpp index e4ed5b0db2e..ffa60d47aa7 100644 --- a/src/game/ReputationMgr.cpp +++ b/src/game/ReputationMgr.cpp @@ -58,9 +58,12 @@ int32 ReputationMgr::GetBaseReputation(FactionEntry const* factionEntry) const uint32 classMask = m_player->getClassMask(); for (int i=0; i < 4; i++) { - if( (factionEntry->BaseRepRaceMask[i] & raceMask) && - (factionEntry->BaseRepClassMask[i]==0 || - (factionEntry->BaseRepClassMask[i] & classMask) ) ) + if( (factionEntry->BaseRepRaceMask[i] & raceMask || + factionEntry->BaseRepRaceMask[i] == 0 && + factionEntry->BaseRepClassMask[i] != 0 ) && + (factionEntry->BaseRepClassMask[i] & classMask || + factionEntry->BaseRepClassMask[i] == 0 ) + ) return factionEntry->BaseRepValue[i]; } |