summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/environment.cpp6
-rw-r--r--src/network/packethandlers/server.cpp12
-rw-r--r--src/server.cpp2
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