diff options
author | kwolekr <kwolekr@minetest.net> | 2015-07-10 15:58:32 -0400 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2015-07-10 15:58:57 -0400 |
commit | 1a1774a1051790ef85b1bd8b047ac45a3676b5d6 (patch) | |
tree | b5e0083230d80960f43c7eed3ea5787e92976ae1 /src/server.cpp | |
parent | 8eb272cea38325f963c521ecfa7b927a563f8509 (diff) | |
download | minetest-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.cpp | 16 |
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); |