diff options
author | ariel- <ariel-@users.noreply.github.com> | 2016-10-26 02:25:23 -0300 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-10-15 17:28:02 +0200 |
commit | 3447b2790db649d792526cf7db9792c28a5a91bf (patch) | |
tree | c75461496717374285b003cb498d5770944d6735 /src | |
parent | 9c615059f872f3ceba9f9ff1f5cf29012eb39f67 (diff) |
Core/Unit: CalculateMeleeDamage should use unmodified damage to compute HitInfo
d3a71a83387f757f87c7d27e1054498c8cc49c8f follow-up
(cherry picked from commit 8da43fb7c7b9d072c924a741900162584e026970)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index a2f0ae3cd38..a3b2ff69db8 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1343,13 +1343,14 @@ void Unit::CalculateMeleeDamage(Unit* victim, uint32 damage, CalcDamageInfo* dam CalcAbsorbResist(dmgInfo); damageInfo->absorb = dmgInfo.GetAbsorb(); damageInfo->resist = dmgInfo.GetResist(); - damageInfo->damage = dmgInfo.GetDamage(); if (damageInfo->absorb) damageInfo->HitInfo |= (damageInfo->damage - damageInfo->absorb == 0 ? HITINFO_FULL_ABSORB : HITINFO_PARTIAL_ABSORB); if (damageInfo->resist) damageInfo->HitInfo |= (damageInfo->damage - damageInfo->resist == 0 ? HITINFO_FULL_RESIST : HITINFO_PARTIAL_RESIST); + + damageInfo->damage = dmgInfo.GetDamage(); } else // Impossible get negative result but.... damageInfo->damage = 0; @@ -1659,7 +1660,7 @@ uint32 Unit::CalcSpellResistance(Unit* victim, SpellSchoolMask schoolMask, Spell return resistance * 10; } -void Unit::CalcAbsorbResist(DamageInfo& damageInfo) +void Unit::CalcAbsorbResist(DamageInfo& damageInfo) { if (!damageInfo.GetVictim() || !damageInfo.GetVictim()->IsAlive() || !damageInfo.GetDamage()) return; |