summaryrefslogtreecommitdiffstats
path: root/src/Entities/Player.cpp
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2014-04-28 20:58:15 +0200
committerMattes D <github@xoft.cz>2014-04-28 20:58:15 +0200
commit709015369df050d3d5b1d12b7d74ae814cd046df (patch)
tree106568e25f564d0e0e414269a8fbb28ed3f1507e /src/Entities/Player.cpp
parentFixed braces. (diff)
parentRevert "Withers now use the new invulnerable." (diff)
downloadcuberite-709015369df050d3d5b1d12b7d74ae814cd046df.tar
cuberite-709015369df050d3d5b1d12b7d74ae814cd046df.tar.gz
cuberite-709015369df050d3d5b1d12b7d74ae814cd046df.tar.bz2
cuberite-709015369df050d3d5b1d12b7d74ae814cd046df.tar.lz
cuberite-709015369df050d3d5b1d12b7d74ae814cd046df.tar.xz
cuberite-709015369df050d3d5b1d12b7d74ae814cd046df.tar.zst
cuberite-709015369df050d3d5b1d12b7d74ae814cd046df.zip
Diffstat (limited to '')
-rw-r--r--src/Entities/Player.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp
index fedb62527..08b7d3984 100644
--- a/src/Entities/Player.cpp
+++ b/src/Entities/Player.cpp
@@ -808,14 +808,14 @@ void cPlayer::SetFlying(bool a_IsFlying)
-void cPlayer::DoTakeDamage(TakeDamageInfo & a_TDI)
+bool cPlayer::DoTakeDamage(TakeDamageInfo & a_TDI)
{
if ((a_TDI.DamageType != dtInVoid) && (a_TDI.DamageType != dtPlugin))
{
if (IsGameModeCreative())
{
// No damage / health in creative mode if not void or plugin damage
- return;
+ return false;
}
}
@@ -828,17 +828,19 @@ void cPlayer::DoTakeDamage(TakeDamageInfo & a_TDI)
if (!m_Team->AllowsFriendlyFire())
{
// Friendly fire is disabled
- return;
+ return false;
}
}
}
- super::DoTakeDamage(a_TDI);
-
- // Any kind of damage adds food exhaustion
- AddFoodExhaustion(0.3f);
-
- SendHealth();
+ if (super::DoTakeDamage(a_TDI))
+ {
+ // Any kind of damage adds food exhaustion
+ AddFoodExhaustion(0.3f);
+ SendHealth();
+ return true;
+ }
+ return false;
}
@@ -897,6 +899,7 @@ void cPlayer::KilledBy(cEntity * a_Killer)
void cPlayer::Respawn(void)
{
m_Health = GetMaxHealth();
+ SetInvulnerableTicks(20);
// Reset food level:
m_FoodLevel = MAX_FOOD_LEVEL;