summaryrefslogtreecommitdiff
path: root/src/server.cpp
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2015-07-10 15:58:32 -0400
committerkwolekr <kwolekr@minetest.net>2015-07-10 15:58:57 -0400
commit1a1774a1051790ef85b1bd8b047ac45a3676b5d6 (patch)
treeb5e0083230d80960f43c7eed3ea5787e92976ae1 /src/server.cpp
parent8eb272cea38325f963c521ecfa7b927a563f8509 (diff)
downloadminetest-1a1774a1051790ef85b1bd8b047ac45a3676b5d6.tar.gz
minetest-1a1774a1051790ef85b1bd8b047ac45a3676b5d6.tar.bz2
minetest-1a1774a1051790ef85b1bd8b047ac45a3676b5d6.zip
Fix damage flash when damage disabled
Diffstat (limited to 'src/server.cpp')
-rw-r--r--src/server.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/server.cpp b/src/server.cpp
index 19aaa3e7a..9d70ad7b7 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1108,7 +1108,7 @@ PlayerSAO* Server::StageTwoClientInit(u16 peer_id)
SendInventory(playersao);
// Send HP
- SendPlayerHPOrDie(peer_id, playersao->getHP() == 0);
+ SendPlayerHPOrDie(playersao);
// Send Breath
SendPlayerBreath(peer_id);
@@ -1487,6 +1487,20 @@ void Server::SendMovement(u16 peer_id)
Send(&pkt);
}
+void Server::SendPlayerHPOrDie(PlayerSAO *playersao)
+{
+ if (!g_settings->getBool("enable_damage"))
+ return;
+
+ u16 peer_id = playersao->getPeerID();
+ bool is_alive = playersao->getHP() > 0;
+
+ if (is_alive)
+ SendPlayerHP(peer_id);
+ else
+ DiePlayer(peer_id);
+}
+
void Server::SendHP(u16 peer_id, u8 hp)
{
DSTACK(__FUNCTION_NAME);