aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/KillRewarder.cpp6
-rw-r--r--src/server/game/Spells/Auras/SpellAuraDefines.h2
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp2
3 files changed, 5 insertions, 5 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);
diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h
index 4ce95eb48c4..5130ebd7876 100644
--- a/src/server/game/Spells/Auras/SpellAuraDefines.h
+++ b/src/server/game/Spells/Auras/SpellAuraDefines.h
@@ -504,7 +504,7 @@ enum AuraType
SPELL_AURA_444 = 444,
SPELL_AURA_445 = 445,
SPELL_AURA_446 = 446,
- SPELL_AURA_447 = 447,
+ SPELL_AURA_MOD_XP_FROM_CREATURE_TYPE = 447,
SPELL_AURA_448 = 448,
SPELL_AURA_449 = 449,
SPELL_AURA_450 = 450,
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 31ad47b40b7..a35d5e37b47 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -506,7 +506,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS]=
&AuraEffect::HandleNULL, //444
&AuraEffect::HandleNULL, //445
&AuraEffect::HandleNULL, //446
- &AuraEffect::HandleNULL, //447
+ &AuraEffect::HandleNoImmediateEffect, //447 SPELL_AURA_MOD_XP_FROM_CREATURE_TYPE implemented in KillRewarder::_RewardXP
&AuraEffect::HandleNULL, //448
&AuraEffect::HandleNULL, //449
&AuraEffect::HandleNULL, //450