diff options
Diffstat (limited to 'src/Mobs')
-rw-r--r-- | src/Mobs/Chicken.cpp | 12 | ||||
-rw-r--r-- | src/Mobs/Chicken.h | 2 | ||||
-rw-r--r-- | src/Mobs/Ocelot.cpp | 10 | ||||
-rw-r--r-- | src/Mobs/Ocelot.h | 1 |
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; } |