From 4e08ab8f69c10d2c34aaaf2ea160461ea6e02c33 Mon Sep 17 00:00:00 2001 From: ariel- Date: Sat, 3 Dec 2016 19:42:23 -0300 Subject: Core/Auras: calculate periodic bonuses before specific mods, fixes Imp. Devouring Plague damage (cherry picked from commit bd49d37258a467b7b8dc98a3454b6079ecd9b3b6) --- src/server/game/Entities/Unit/Unit.cpp | 2 +- src/server/game/Spells/Auras/SpellAuras.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index f8c79bbbe1c..a466ef6d4b8 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3296,8 +3296,8 @@ void Unit::_ApplyAura(AuraApplication * aurApp, uint32 effMask) if (aurApp->GetRemoveMode()) return; - aura->HandleAuraSpecificMods(aurApp, caster, true, false); aura->HandleAuraSpecificPeriodics(aurApp, caster); + aura->HandleAuraSpecificMods(aurApp, caster, true, false); // apply effects of the aura for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i) diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 022d2c821f0..676702d5d1b 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -923,11 +923,13 @@ void Aura::SetStackAmount(uint8 stackAmount) effect->ChangeAmount(effect->CalculateAmount(caster), false, true); for (std::list::const_iterator apptItr = applications.begin(); apptItr != applications.end(); ++apptItr) + { if (!(*apptItr)->GetRemoveMode()) { - HandleAuraSpecificMods(*apptItr, caster, true, true); HandleAuraSpecificPeriodics(*apptItr, caster); + HandleAuraSpecificMods(*apptItr, caster, true, true); } + } SetNeedClientUpdateForTargets(); } -- cgit v1.2.3