diff options
Diffstat (limited to 'src/game/ReputationMgr.cpp')
-rw-r--r-- | src/game/ReputationMgr.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/game/ReputationMgr.cpp b/src/game/ReputationMgr.cpp index ec661c37b7b..006f47980ac 100644 --- a/src/game/ReputationMgr.cpp +++ b/src/game/ReputationMgr.cpp @@ -357,7 +357,9 @@ void ReputationMgr::SetVisible(FactionTemplateEntry const*factionTemplateEntry) return; if(FactionEntry const *factionEntry = sFactionStore.LookupEntry(factionTemplateEntry->faction)) - SetVisible(factionEntry); + // Never show factions of the opposing team + if(!(factionEntry->BaseRepRaceMask[1] & m_player->getRaceMask() && factionEntry->BaseRepValue[1] == Reputation_Bottom) ) + SetVisible(factionEntry); } void ReputationMgr::SetVisible(FactionEntry const *factionEntry) @@ -376,10 +378,7 @@ void ReputationMgr::SetVisible(FactionState* faction) { // always invisible or hidden faction can't be make visible // except if faction has FACTION_FLAG_SPECIAL - if(faction->Flags & FACTION_FLAG_INVISIBLE_FORCED && !(faction->Flags & FACTION_FLAG_SPECIAL) ) - return; - - if(faction->Flags & FACTION_FLAG_HIDDEN) + if(faction->Flags & (FACTION_FLAG_INVISIBLE_FORCED|FACTION_FLAG_HIDDEN) && !(faction->Flags & FACTION_FLAG_SPECIAL) ) return; // already set |