diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-05-18 23:28:40 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-05-18 23:28:40 +0200 |
| commit | 7cf22eab81ae012099c2ed9e50bb36b146175a76 (patch) | |
| tree | d12d06047ba66254baae6c76cf6dacc48b6d4783 | |
| parent | d8d594d2bd532716da20b0c08d141a5b8f0cd70a (diff) | |
Core/Auras: Implemented SPELL_AURA_MOD_XP_FROM_CREATURE_TYPE
| -rw-r--r-- | src/server/game/Entities/Player/KillRewarder.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraDefines.h | 2 | ||||
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 2 |
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 |
