1
0
mirror of https://github.com/luanti-org/luanti.git synced 2025-10-21 20:05:45 +02:00

Add node pos to node damage HP change reason (#13196)

This commit is contained in:
Riley Adams
2023-04-10 18:04:52 -04:00
committed by GitHub
parent 1d88d85f1c
commit 73391013f7
4 changed files with 10 additions and 2 deletions

View File

@@ -185,6 +185,7 @@ void PlayerSAO::step(float dtime, bool send_recommended)
if (!isImmortal() && m_node_hurt_interval.step(dtime, 1.0f)) {
u32 damage_per_second = 0;
std::string nodename;
v3s16 node_pos;
// Lowest and highest damage points are 0.1 within collisionbox
float dam_top = m_prop.collisionbox.MaxEdge.Y - 0.1f;
@@ -198,6 +199,7 @@ void PlayerSAO::step(float dtime, bool send_recommended)
if (c.damage_per_second > damage_per_second) {
damage_per_second = c.damage_per_second;
nodename = c.name;
node_pos = p;
}
}
@@ -209,11 +211,12 @@ void PlayerSAO::step(float dtime, bool send_recommended)
if (c.damage_per_second > damage_per_second) {
damage_per_second = c.damage_per_second;
nodename = c.name;
node_pos = ptop;
}
if (damage_per_second != 0 && m_hp > 0) {
s32 newhp = (s32)m_hp - (s32)damage_per_second;
PlayerHPChangeReason reason(PlayerHPChangeReason::NODE_DAMAGE, nodename);
PlayerHPChangeReason reason(PlayerHPChangeReason::NODE_DAMAGE, nodename, node_pos);
setHP(newhp, reason);
}
}