diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2012-12-02 16:32:44 +0100 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2012-12-04 14:48:44 +0100 |
commit | 2b3b124e0910c53daeaceacb280d51a298055b84 (patch) | |
tree | 1d5b5be7a5837c409128f6d7589e33ac579d83ec /src/server/game/Spells/SpellEffects.cpp | |
parent | 1f55b890b7c07fea4bae75efbd7e20d754f5b434 (diff) |
Core/Reputation: Implemented new `reputation_reward_rate` fields for dayily/weekly quests
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index c049605f27a..72ef429bed0 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4982,25 +4982,17 @@ void Spell::EffectReputation(SpellEffIndex effIndex) Player* player = unitTarget->ToPlayer(); - int32 rep_change = damage; + int32 repChange = damage; - uint32 faction_id = m_spellInfo->Effects[effIndex].MiscValue; - - FactionEntry const* factionEntry = sFactionStore.LookupEntry(faction_id); + uint32 factionId = m_spellInfo->Effects[effIndex].MiscValue; + FactionEntry const* factionEntry = sFactionStore.LookupEntry(factionId); if (!factionEntry) return; - if (RepRewardRate const* repData = sObjectMgr->GetRepRewardRate(faction_id)) - { - rep_change = int32((float)rep_change * repData->spell_rate); - } - - // Bonus from spells that increase reputation gain - float bonus = rep_change * player->GetTotalAuraModifier(SPELL_AURA_MOD_REPUTATION_GAIN) / 100.0f; // 10% - rep_change += (int32)bonus; + repChange = player->CalculateReputationGain(REPUTATION_SOURCE_SPELL, 0, repChange, factionId); - player->GetReputationMgr().ModifyReputation(factionEntry, rep_change); + player->GetReputationMgr().ModifyReputation(factionEntry, repChange); } void Spell::EffectQuestComplete(SpellEffIndex effIndex) |