Skip to content

Commit 8aa1906

Browse files
committed
Disable all HP handling if enable_damage is false
1 parent 0437abb commit 8aa1906

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

src/game.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2099,7 +2099,8 @@ void the_game(
20992099
{
21002100
break;
21012101
}
2102-
else if(event.type == CE_PLAYER_DAMAGE)
2102+
else if(event.type == CE_PLAYER_DAMAGE &&
2103+
client.getHP() != 0)
21032104
{
21042105
//u16 damage = event.player_damage.amount;
21052106
//infostream<<"Player damage: "<<damage<<std::endl;

src/server.cpp

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)