Core/Auras: calculate periodic bonuses before specific mods, fixes Imp. Devouring Plague damage

This commit is contained in:
ariel-
2016-12-03 19:42:23 -03:00
parent 0df0cb30ca
commit bd49d37258
2 changed files with 4 additions and 2 deletions

View File

@@ -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)

View File

@@ -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();
}