diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-12-03 19:42:23 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2016-12-03 19:42:23 -0300 |
| commit | bd49d37258a467b7b8dc98a3454b6079ecd9b3b6 (patch) | |
| tree | 514f5a4e39cb87ac5c1ba8c35bcc3fd28d27ba35 /src | |
| parent | 0df0cb30ca9de2015ec774e50bb69337382576d3 (diff) | |
Core/Auras: calculate periodic bonuses before specific mods, fixes Imp. Devouring Plague damage
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuras.cpp | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index e7615373e63..6212ea6a836 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3564,8 +3564,8 @@ void Unit::_ApplyAura(AuraApplication * aurApp, uint8 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 45ea44f1dfb..084130ec999 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -864,11 +864,13 @@ void Aura::SetStackAmount(uint8 stackAmount) m_effects[i]->ChangeAmount(m_effects[i]->CalculateAmount(caster), false, true); for (std::list<AuraApplication*>::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(); } |
