aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-10-27 18:29:56 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-11-05 11:30:58 +0100
commite4bb4842b5e7878f51dca6b35a091647e69153d2 (patch)
treec51d3535cbf6f36cdc4744b226ac1664430ac511 /src
parentb63cd1951fc6d1c299c50df63e4d60e1d97b58ef (diff)
Core/Unit: fix logic error in DamageInfo::ModifyDamage.
Previous code did not protect against m_damage underflow, rather only allow up to duplicate damage. It now should work as intended. Closes #18154 (cherry picked from commit 7ced76bab271f7fd1116455e2003d82d103e2854) Core/Unit: fix warning reported by VS2015 C4146: unary minus operator applied to unsigned type, result still unsigned (cherry picked from commit 7b1a0c36980f7ba67d4e96336a1b25b66f45a50a) Core/Unit: consistency fix (cherry picked from commit 042023877a6fad5e6be44a3c7bd9fd3b57ae7d67)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index a3b2ff69db8..72506c8b821 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -173,7 +173,7 @@ DamageInfo::DamageInfo(SpellNonMeleeDamage const& spellNonMeleeDamage, DamageEff
void DamageInfo::ModifyDamage(int32 amount)
{
- amount = std::min(amount, int32(GetDamage()));
+ amount = std::max(amount, -static_cast<int32>(GetDamage()));
m_damage += amount;
}