mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-22 17:18:39 +00:00
Add node pos to node damage HP change reason (#13196)
This commit is contained in:
parent
1d88d85f1c
commit
73391013f7
4 changed files with 10 additions and 2 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -245,6 +245,7 @@ struct PlayerHPChangeReason
|
|||
ServerActiveObject *object = nullptr;
|
||||
// For NODE_DAMAGE
|
||||
std::string node;
|
||||
v3s16 node_pos;
|
||||
|
||||
inline bool hasLuaReference() const { return lua_reference >= 0; }
|
||||
|
||||
|
@ -296,5 +297,5 @@ struct PlayerHPChangeReason
|
|||
{
|
||||
}
|
||||
|
||||
PlayerHPChangeReason(Type type, std::string node) : type(type), node(node) {}
|
||||
PlayerHPChangeReason(Type type, std::string node, v3s16 node_pos) : type(type), node(node), node_pos(node_pos) {}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue