summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbibo38 <bibo38@github.com>2015-11-01 11:50:03 +0100
committerbibo38 <bibo38@github.com>2015-11-01 11:50:03 +0100
commit435bae104d879e861ba7e7a7e82133dfa37efd6e (patch)
treea82dde07e01e9bc1863bcdcd23146938563176c6
parentFixed typo that slipped through #2584 (diff)
downloadcuberite-435bae104d879e861ba7e7a7e82133dfa37efd6e.tar
cuberite-435bae104d879e861ba7e7a7e82133dfa37efd6e.tar.gz
cuberite-435bae104d879e861ba7e7a7e82133dfa37efd6e.tar.bz2
cuberite-435bae104d879e861ba7e7a7e82133dfa37efd6e.tar.lz
cuberite-435bae104d879e861ba7e7a7e82133dfa37efd6e.tar.xz
cuberite-435bae104d879e861ba7e7a7e82133dfa37efd6e.tar.zst
cuberite-435bae104d879e861ba7e7a7e82133dfa37efd6e.zip
-rw-r--r--src/Entities/Pawn.cpp15
-rw-r--r--src/Entities/Pawn.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/src/Entities/Pawn.cpp b/src/Entities/Pawn.cpp
index 9045f8595..126947d3e 100644
--- a/src/Entities/Pawn.cpp
+++ b/src/Entities/Pawn.cpp
@@ -70,6 +70,21 @@ bool cPawn::IsFireproof(void) const
+void cPawn::HandleAir(void)
+{
+ if (IsSubmerged() && HasEntityEffect(cEntityEffect::effWaterBreathing))
+ {
+ // Prevent the oxygen from decreasing
+ return;
+ }
+
+ super::HandleAir();
+}
+
+
+
+
+
void cPawn::AddEntityEffect(cEntityEffect::eType a_EffectType, int a_Duration, short a_Intensity, double a_DistanceModifier)
{
// Check if the plugins allow the addition:
diff --git a/src/Entities/Pawn.h b/src/Entities/Pawn.h
index 40ce9b2dd..67878f699 100644
--- a/src/Entities/Pawn.h
+++ b/src/Entities/Pawn.h
@@ -24,6 +24,7 @@ public:
virtual void KilledBy(TakeDamageInfo & a_TDI) override;
virtual bool IsFireproof(void) const override;
+ virtual void HandleAir(void) override;
// tolua_begin