From 534ac1faeed1bbb40009ebe008d2d9939060b1a4 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Mon, 9 Jul 2018 17:47:46 +0200 Subject: [PATCH] Core/Guilds: reputation gains are now affected by SPELL_AURA_MOD_REPUTATION_GAIN and SPELL_AURA_MOD_HONOR_GAIN_PCT --- src/server/game/Guilds/Guild.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 1923b9f910c..ffb8951f650 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -36,6 +36,7 @@ #include "Player.h" #include "ScriptMgr.h" #include "SocialMgr.h" +#include "SpellAuraEffects.h" #include "World.h" #include "WorldSession.h" #include "Group.h" @@ -3892,9 +3893,19 @@ void Guild::CompleteChallenge(uint8 challengeType, Player* source) void Guild::GiveReputation(uint32 rep, Player* source) { + uint32 reputation = rep; + + // Apply reputation aura bonuses + for (auto itr : source->GetAuraEffectsByType(SPELL_AURA_MOD_REPUTATION_GAIN)) + reputation += CalculatePct(rep, itr->GetAmount()); + + // Guild Champion + for (auto itr : source->GetAuraEffectsByType(SPELL_AURA_MOD_HONOR_GAIN_PCT)) + reputation += CalculatePct(rep, itr->GetAmount()); + if (Member* member = GetMember(source->GetGUID())) { - member->AddReputation(rep, source); + member->AddReputation(reputation, source); SendGuildReputationWeeklyCap(source->GetSession(), member->GetWeekReputation()); } }