aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Player
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-05-18 23:28:40 +0200
committerShauren <shauren.trinity@gmail.com>2016-05-18 23:28:40 +0200
commit7cf22eab81ae012099c2ed9e50bb36b146175a76 (patch)
treed12d06047ba66254baae6c76cf6dacc48b6d4783 /src/server/game/Entities/Player
parentd8d594d2bd532716da20b0c08d141a5b8f0cd70a (diff)
Core/Auras: Implemented SPELL_AURA_MOD_XP_FROM_CREATURE_TYPE
Diffstat (limited to 'src/server/game/Entities/Player')
-rw-r--r--src/server/game/Entities/Player/KillRewarder.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Entities/Player/KillRewarder.cpp b/src/server/game/Entities/Player/KillRewarder.cpp
index 3c022538fe2..c26c2261c4b 100644
--- a/src/server/game/Entities/Player/KillRewarder.cpp
+++ b/src/server/game/Entities/Player/KillRewarder.cpp
@@ -151,9 +151,9 @@ inline void KillRewarder::_RewardXP(Player* player, float rate)
}
if (xp)
{
- // 4.2.2. Apply auras modifying rewarded XP (SPELL_AURA_MOD_XP_PCT).
- for (auto const& aura : player->GetAuraEffectsByType(SPELL_AURA_MOD_XP_PCT))
- AddPct(xp, aura->GetAmount());
+ // 4.2.2. Apply auras modifying rewarded XP (SPELL_AURA_MOD_XP_PCT and SPELL_AURA_MOD_XP_FROM_CREATURE_TYPE).
+ xp *= player->GetTotalAuraMultiplier(SPELL_AURA_MOD_XP_PCT);
+ xp *= player->GetTotalAuraMultiplierByMiscValue(SPELL_AURA_MOD_XP_FROM_CREATURE_TYPE, int32(_victim->GetCreatureType()));
// 4.2.3. Give XP to player.
player->GiveXP(xp, _victim, _groupRate);