summaryrefslogtreecommitdiffstats
path: root/src/Mobs
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2018-02-04 21:53:35 +0100
committerAlexander Harkness <me@bearbin.net>2018-02-04 21:53:35 +0100
commitd12804d4c05d125c8de3187da29013bef6ae5d0b (patch)
tree866f22486712382c07dddf60e0d2478311888e05 /src/Mobs
parentcppcheck found an out of bound array access. (#4182) (diff)
downloadcuberite-d12804d4c05d125c8de3187da29013bef6ae5d0b.tar
cuberite-d12804d4c05d125c8de3187da29013bef6ae5d0b.tar.gz
cuberite-d12804d4c05d125c8de3187da29013bef6ae5d0b.tar.bz2
cuberite-d12804d4c05d125c8de3187da29013bef6ae5d0b.tar.lz
cuberite-d12804d4c05d125c8de3187da29013bef6ae5d0b.tar.xz
cuberite-d12804d4c05d125c8de3187da29013bef6ae5d0b.tar.zst
cuberite-d12804d4c05d125c8de3187da29013bef6ae5d0b.zip
Diffstat (limited to '')
-rw-r--r--src/Mobs/Chicken.cpp12
-rw-r--r--src/Mobs/Chicken.h2
-rw-r--r--src/Mobs/Ocelot.cpp10
-rw-r--r--src/Mobs/Ocelot.h1
4 files changed, 19 insertions, 6 deletions
diff --git a/src/Mobs/Chicken.cpp b/src/Mobs/Chicken.cpp
index e2caa6f67..242fe5aa0 100644
--- a/src/Mobs/Chicken.cpp
+++ b/src/Mobs/Chicken.cpp
@@ -74,10 +74,12 @@ void cChicken::GetDrops(cItems & a_Drops, cEntity * a_Killer)
-void cChicken::HandleFalling(void)
+bool cChicken::DoTakeDamage(TakeDamageInfo & a_TDI)
{
- // empty - chickens don't take fall damage
-}
-
-
+ if (a_TDI.DamageType == dtFalling)
+ {
+ return false;
+ }
+ return super::DoTakeDamage(a_TDI);
+}
diff --git a/src/Mobs/Chicken.h b/src/Mobs/Chicken.h
index 0dfc5e3d6..bb12ce9b3 100644
--- a/src/Mobs/Chicken.h
+++ b/src/Mobs/Chicken.h
@@ -27,7 +27,7 @@ public:
a_Items.Add(E_ITEM_SEEDS);
}
- virtual void HandleFalling(void) override;
+ virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override;
private:
diff --git a/src/Mobs/Ocelot.cpp b/src/Mobs/Ocelot.cpp
index 50dd249c0..5e94cacb9 100644
--- a/src/Mobs/Ocelot.cpp
+++ b/src/Mobs/Ocelot.cpp
@@ -218,3 +218,13 @@ bool cOcelot::IsCatSittingOnBlock(cWorld * a_World, Vector3d a_BlockPosition)
+
+bool cOcelot::DoTakeDamage(TakeDamageInfo & a_TDI)
+{
+ if (a_TDI.DamageType == dtFalling)
+ {
+ return false;
+ }
+
+ return super::DoTakeDamage(a_TDI);
+}
diff --git a/src/Mobs/Ocelot.h b/src/Mobs/Ocelot.h
index 75758a973..b8efc60ee 100644
--- a/src/Mobs/Ocelot.h
+++ b/src/Mobs/Ocelot.h
@@ -35,6 +35,7 @@ public:
{
a_Items.Add(E_ITEM_RAW_FISH);
}
+ virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override;
// Get functions
bool IsSitting (void) const override { return m_IsSitting; }