Core/BGs: Reputation gained in BGs should be affected by SPELL_AURA_MOD_FACTION_REPUTATION_GAIN

This commit is contained in:
Trisjdc
2014-07-24 04:09:38 +01:00
parent e2d6b9bf8c
commit 2ae9afa9e8

View File

@@ -675,10 +675,20 @@ void Battleground::RewardHonorToTeam(uint32 Honor, uint32 TeamID)
void Battleground::RewardReputationToTeam(uint32 faction_id, uint32 Reputation, uint32 TeamID)
{
if (FactionEntry const* factionEntry = sFactionStore.LookupEntry(faction_id))
for (BattlegroundPlayerMap::const_iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
if (Player* player = _GetPlayerForTeam(TeamID, itr, "RewardReputationToTeam"))
player->GetReputationMgr().ModifyReputation(factionEntry, Reputation);
FactionEntry const* factionEntry = sFactionStore.LookupEntry(faction_id);
if (!factionEntry)
return;
for (BattlegroundPlayerMap::const_iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
{
Player* player = _GetPlayerForTeam(TeamID, itr, "RewardReputationToTeam");
if (!player)
continue;
uint32 repGain = Reputation;
AddPct(repGain, player->GetTotalAuraModifierByMiscValue(SPELL_AURA_MOD_FACTION_REPUTATION_GAIN, faction_id));
player->GetReputationMgr().ModifyReputation(factionEntry, repGain);
}
}
void Battleground::UpdateWorldState(uint32 Field, uint32 Value)