@@ -1368,11 +1368,16 @@ void Server::AsyncRunStep()
13681368 /*
13691369 Handle player HPs (die if hp=0)
13701370 */
1371- if (playersao->getHP () == 0 && playersao->m_hp_not_sent )
1372- DiePlayer (client->peer_id );
1371+ if (playersao->m_hp_not_sent && g_settings->getBool (" enable_damage" ))
1372+ {
1373+ if (playersao->getHP () == 0 )
1374+ DiePlayer (client->peer_id );
1375+ else
1376+ SendPlayerHP (client->peer_id );
1377+ }
13731378
13741379 /*
1375- Send player inventories and HPs if necessary
1380+ Send player inventories if necessary
13761381 */
13771382 if (playersao->m_moved ){
13781383 SendMovePlayer (client->peer_id );
@@ -1382,9 +1387,6 @@ void Server::AsyncRunStep()
13821387 UpdateCrafting (client->peer_id );
13831388 SendInventory (client->peer_id );
13841389 }
1385- if (playersao->m_hp_not_sent ){
1386- SendPlayerHP (client->peer_id );
1387- }
13881390 }
13891391 }
13901392
@@ -2311,7 +2313,8 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
23112313 SendInventory (peer_id);
23122314
23132315 // Send HP
2314- SendPlayerHP (peer_id);
2316+ if (g_settings->getBool (" enable_damage" ))
2317+ SendPlayerHP (peer_id);
23152318
23162319 // Send detached inventories
23172320 sendDetachedInventories (peer_id);
@@ -2764,17 +2767,20 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
27642767 std::istringstream is (datastring, std::ios_base::binary);
27652768 u8 damage = readU8 (is);
27662769
2767- actionstream<<player->getName ()<<" damaged by "
2768- <<(int )damage<<" hp at " <<PP (player->getPosition ()/BS)
2769- <<std::endl;
2770+ if (g_settings->getBool (" enable_damage" ))
2771+ {
2772+ actionstream<<player->getName ()<<" damaged by "
2773+ <<(int )damage<<" hp at " <<PP (player->getPosition ()/BS)
2774+ <<std::endl;
27702775
2771- playersao->setHP (playersao->getHP () - damage);
2776+ playersao->setHP (playersao->getHP () - damage);
27722777
2773- if (playersao->getHP () == 0 && playersao->m_hp_not_sent )
2774- DiePlayer (peer_id);
2778+ if (playersao->getHP () == 0 && playersao->m_hp_not_sent )
2779+ DiePlayer (peer_id);
27752780
2776- if (playersao->m_hp_not_sent )
2777- SendPlayerHP (peer_id);
2781+ if (playersao->m_hp_not_sent )
2782+ SendPlayerHP (peer_id);
2783+ }
27782784 }
27792785 else if (command == TOSERVER_PASSWORD)
27802786 {
@@ -2850,7 +2856,7 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
28502856 }
28512857 else if (command == TOSERVER_RESPAWN)
28522858 {
2853- if (player->hp != 0 )
2859+ if (player->hp != 0 || !g_settings-> getBool ( " enable_damage " ) )
28542860 return ;
28552861
28562862 RespawnPlayer (peer_id);
0 commit comments