From 0dd172b80ffc949cf87119ad2003589d7eb82c46 Mon Sep 17 00:00:00 2001 From: Fabian Date: Wed, 22 Nov 2017 14:47:52 +0100 Subject: Store Health as a float (#4073) * Fix #4024 * Fix clang error * Add comment * Fix behaviour * Save Health as float * Changed m_Health to float * Remove redundant static_cast * Fix casts --- src/Entities/Entity.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/Entities/Entity.cpp') diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index 90aefd082..11405d2fd 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -528,9 +528,9 @@ bool cEntity::DoTakeDamage(TakeDamageInfo & a_TDI) Player->GetStatManager().AddValue(statDamageDealt, static_cast(floor(a_TDI.FinalDamage * 10 + 0.5))); } - m_Health -= static_cast(a_TDI.FinalDamage); + m_Health -= static_cast(a_TDI.FinalDamage); - m_Health = std::max(m_Health, 0); + m_Health = std::max(m_Health, 0.0f); // Add knockback: if ((IsMob() || IsPlayer()) && (a_TDI.Attacker != nullptr)) @@ -810,9 +810,9 @@ void cEntity::Heal(int a_HitPoints) -void cEntity::SetHealth(int a_Health) +void cEntity::SetHealth(float a_Health) { - m_Health = Clamp(a_Health, 0, m_MaxHealth); + m_Health = Clamp(a_Health, 0.0f, m_MaxHealth); } @@ -1782,7 +1782,7 @@ void cEntity::OnFinishedBurning(void) -void cEntity::SetMaxHealth(int a_MaxHealth) +void cEntity::SetMaxHealth(float a_MaxHealth) { m_MaxHealth = a_MaxHealth; -- cgit v1.2.3