From 4e63c977c782e81e828445d20c836d84e3ba1766 Mon Sep 17 00:00:00 2001
From: Loic Blot <loic.blot@unix-experience.fr>
Date: Fri, 13 Mar 2015 08:57:19 +0100
Subject: [PATCH] Use the new Player::isDead function when it's the case

---
 src/environment.cpp                   |  6 ++++--
 src/network/packethandlers/server.cpp | 12 ++++++++----
 src/server.cpp                        |  2 +-
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/environment.cpp b/src/environment.cpp
index f75e7a0b7..953fa2860 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -2563,9 +2563,11 @@ void ClientEnvironment::damageLocalPlayer(u8 damage, bool handle_hp)
 	LocalPlayer *lplayer = getLocalPlayer();
 	assert(lplayer);
 	
-	if(handle_hp){
-		if (lplayer->hp == 0) // Don't damage a dead player
+	if(handle_hp) {
+		// Don't damage a dead player
+		if (lplayer->isDead()) 
 			return;
+
 		if(lplayer->hp > damage)
 			lplayer->hp -= damage;
 		else
diff --git a/src/network/packethandlers/server.cpp b/src/network/packethandlers/server.cpp
index b188bb931..537858e52 100644
--- a/src/network/packethandlers/server.cpp
+++ b/src/network/packethandlers/server.cpp
@@ -556,7 +556,9 @@ void Server::handleCommand_PlayerPos(NetworkPacket* pkt)
 	}
 
 	// If player is dead we don't care of this packet
-	if (player->hp == 0) {
+	if (player->isDead()) {
+		verbosestream << "TOSERVER_PLAYERPOS: " << player->getName()
+			<< " is dead. Ignoring packet";
 		return;
 	}
 
@@ -921,6 +923,8 @@ void Server::handleCommand_Breath(NetworkPacket* pkt)
 	 * He is dead !
 	 */
 	if (player->isDead()) {
+		verbosestream << "TOSERVER_BREATH: " << player->getName()
+			<< " is dead. Ignoring packet";
 		return;
 	}
 
@@ -1051,7 +1055,7 @@ void Server::handleCommand_Respawn(NetworkPacket* pkt)
 		return;
 	}
 
-	if (player->hp != 0 || !g_settings->getBool("enable_damage"))
+	if (!player->isDead() || !g_settings->getBool("enable_damage"))
 		return;
 
 	RespawnPlayer(pkt->getPeerId());
@@ -1108,9 +1112,9 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
 		return;
 	}
 
-	if (player->hp == 0) {
+	if (player->isDead()) {
 		verbosestream << "TOSERVER_INTERACT: " << player->getName()
-			<< " tried to interact, but is dead!" << std::endl;
+			<< " is dead. Ignoring packet";
 		return;
 	}
 
diff --git a/src/server.cpp b/src/server.cpp
index 1e2c445f7..a21d12e6a 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1106,7 +1106,7 @@ PlayerSAO* Server::StageTwoClientInit(u16 peer_id)
 	SendPlayerBreath(peer_id);
 
 	// Show death screen if necessary
-	if(player->hp == 0)
+	if(player->isDead())
 		SendDeathscreen(peer_id, false, v3f(0,0,0));
 
 	// Note things in chat if not in simple singleplayer mode
-- 
GitLab