diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 2c37c6e54e0..0deaf977e8f 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1378,19 +1378,19 @@ void Unit::CalculateMeleeDamage(Unit* victim, CalcDamageInfo* damageInfo, Weapon // set proper HitInfo flags if ((tmpHitInfo[0] & HITINFO_FULL_ABSORB) != 0) { - // only set full absorb whenever both damages were fully absorbed - damageInfo->HitInfo |= ((tmpHitInfo[1] & HITINFO_FULL_ABSORB) != 0) ? HITINFO_FULL_ABSORB : HITINFO_PARTIAL_ABSORB; + // set partial absorb when secondary damage isn't full absorbed + damageInfo->HitInfo |= ((tmpHitInfo[1] & HITINFO_PARTIAL_ABSORB) != 0) ? HITINFO_PARTIAL_ABSORB : HITINFO_FULL_ABSORB; } else damageInfo->HitInfo |= (tmpHitInfo[0] & HITINFO_PARTIAL_ABSORB); - if (tmpHitInfo[0] == HITINFO_FULL_RESIST) + if ((tmpHitInfo[0] & HITINFO_FULL_RESIST) != 0) { - // only set full resist whenever both damages were fully resisted - damageInfo->HitInfo |= ((tmpHitInfo[1] & HITINFO_FULL_RESIST) != 0) ? HITINFO_FULL_RESIST : HITINFO_PARTIAL_RESIST; + // set partial resist when secondary damage isn't full resisted + damageInfo->HitInfo |= ((tmpHitInfo[1] & HITINFO_PARTIAL_RESIST) != 0) ? HITINFO_PARTIAL_RESIST : HITINFO_FULL_RESIST; } else - damageInfo->HitInfo |= (tmpHitInfo[0] & HITINFO_FULL_RESIST); + damageInfo->HitInfo |= (tmpHitInfo[0] & HITINFO_PARTIAL_RESIST); } void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) |