Core/Reputation: don't allow quests to reward Honor Hold/Alliance Vanguard reputation to Horde players or Thrallmar reputation to Alliance players (#23552)

This commit is contained in:
Wyrserth
2019-07-03 16:09:21 +02:00
committed by GitHub
parent f05891405a
commit 858fa4d2dd
3 changed files with 28 additions and 7 deletions

View File

@@ -67,6 +67,21 @@ bool ReputationMgr::IsAtWar(FactionEntry const* factionEntry) const
return false;
}
bool ReputationMgr::IsReputationAllowedForTeam(TeamId team, uint32 factionId) const
{
// @hack some quests give reputation to Alliance-only AND Horde-only factions, but DBC data does not allow to identify faction-only reputations
if (team == TEAM_HORDE && (
factionId == 1037 || // Alliance Vanguard
factionId == 946)) // Honor Hold
return false;
if (team == TEAM_ALLIANCE &&
factionId == 947) // Thrallmar
return false;
return true;
}
int32 ReputationMgr::GetReputation(uint32 faction_id) const
{
FactionEntry const* factionEntry = sFactionStore.LookupEntry(faction_id);