summaryrefslogtreecommitdiffstats
path: root/src/Entities
diff options
context:
space:
mode:
authorFabian <fenstein12@googlemail.com>2017-11-22 14:47:52 +0100
committerAlexander Harkness <me@bearbin.net>2017-11-22 14:47:52 +0100
commit0dd172b80ffc949cf87119ad2003589d7eb82c46 (patch)
treea7af747aa95241297f07104c138cfc66cf7f6c97 /src/Entities
parentcBlockRail: Fix assertion failure (#4075) (diff)
downloadcuberite-0dd172b80ffc949cf87119ad2003589d7eb82c46.tar
cuberite-0dd172b80ffc949cf87119ad2003589d7eb82c46.tar.gz
cuberite-0dd172b80ffc949cf87119ad2003589d7eb82c46.tar.bz2
cuberite-0dd172b80ffc949cf87119ad2003589d7eb82c46.tar.lz
cuberite-0dd172b80ffc949cf87119ad2003589d7eb82c46.tar.xz
cuberite-0dd172b80ffc949cf87119ad2003589d7eb82c46.tar.zst
cuberite-0dd172b80ffc949cf87119ad2003589d7eb82c46.zip
Diffstat (limited to 'src/Entities')
-rw-r--r--src/Entities/Entity.cpp10
-rw-r--r--src/Entities/Entity.h12
-rw-r--r--src/Entities/Minecart.cpp2
3 files changed, 12 insertions, 12 deletions
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<StatValue>(floor(a_TDI.FinalDamage * 10 + 0.5)));
}
- m_Health -= static_cast<short>(a_TDI.FinalDamage);
+ m_Health -= static_cast<float>(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;
diff --git a/src/Entities/Entity.h b/src/Entities/Entity.h
index 4174160bf..fae296ab4 100644
--- a/src/Entities/Entity.h
+++ b/src/Entities/Entity.h
@@ -368,10 +368,10 @@ public:
virtual void Heal(int a_HitPoints);
/** Returns the health of this entity */
- int GetHealth(void) const { return m_Health; }
+ float GetHealth(void) const { return m_Health; }
/** Sets the health of this entity; doesn't broadcast any hurt animation */
- void SetHealth(int a_Health);
+ void SetHealth(float a_Health);
// tolua_end
@@ -403,9 +403,9 @@ public:
// tolua_begin
/** Sets the maximum value for the health */
- void SetMaxHealth(int a_MaxHealth);
+ void SetMaxHealth(float a_MaxHealth);
- int GetMaxHealth(void) const { return m_MaxHealth; }
+ float GetMaxHealth(void) const { return m_MaxHealth; }
/** Sets whether the entity is fireproof */
void SetIsFireproof(bool a_IsFireproof);
@@ -556,8 +556,8 @@ protected:
Note that the UniqueID is not persisted through storage. */
UInt32 m_UniqueID;
- int m_Health;
- int m_MaxHealth;
+ float m_Health;
+ float m_MaxHealth;
/** The entity to which this entity is attached (vehicle), nullptr if none */
cEntity * m_AttachedTo;
diff --git a/src/Entities/Minecart.cpp b/src/Entities/Minecart.cpp
index 7c5ca49ce..4de53d716 100644
--- a/src/Entities/Minecart.cpp
+++ b/src/Entities/Minecart.cpp
@@ -1035,7 +1035,7 @@ bool cMinecart::DoTakeDamage(TakeDamageInfo & TDI)
if ((TDI.Attacker != nullptr) && TDI.Attacker->IsPlayer() && static_cast<cPlayer *>(TDI.Attacker)->IsGameModeCreative())
{
Destroy();
- TDI.FinalDamage = GetMaxHealth(); // Instant hit for creative
+ TDI.FinalDamage = static_cast<int>(GetMaxHealth()); // Instant hit for creative
SetInvulnerableTicks(0);
return super::DoTakeDamage(TDI); // No drops for creative
}