aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxinef1 <w.szyszko2@gmail.com>2017-03-02 00:12:57 +0100
committerShauren <shauren.trinity@gmail.com>2019-08-17 20:04:14 +0200
commit6cd254d83b51d25551536122ea0217df447b2cf3 (patch)
tree621a83eac7378c054fed1fbc124c7202af56b51c /src
parent825719c25ca82ee94af85d1a7f2e99ce7ef5c9df (diff)
Corrected calculation for SPELL_AURA_PERIODIC_DAMAGE_PERCENT (#19060)
(cherrypicked from ce1108b8a28c1f69840bc161a06f08ee0a147753)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 9e01cf29d63..65541ec7fd2 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -5500,8 +5500,8 @@ void AuraEffect::HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const
}
}
}
- else
- damage = uint32(target->CountPctFromMaxHealth(damage));
+ else // ceil obtained value, it may happen that 10 ticks for 10% damage may not kill owner
+ damage = uint32(ceil(CalculatePct<float, float>(target->GetMaxHealth(), damage)));
if (!m_spellInfo->HasAttribute(SPELL_ATTR4_FIXED_DAMAGE))
{