forked from Mirrorlandia_minetest/minetest
Check hp_max > 0 for entities (#12667)
This commit is contained in:
parent
41fb7a8a7e
commit
3f3049fdba
@ -196,6 +196,9 @@ void read_object_properties(lua_State *L, int index,
|
||||
int hp_max = 0;
|
||||
if (getintfield(L, -1, "hp_max", hp_max)) {
|
||||
prop->hp_max = (u16)rangelim(hp_max, 0, U16_MAX);
|
||||
// hp_max = 0 is sometimes used as a hack to keep players dead, only validate for entities
|
||||
if (prop->hp_max == 0 && sao->getType() != ACTIVEOBJECT_TYPE_PLAYER)
|
||||
throw LuaError("The hp_max property may not be 0 for entities!");
|
||||
|
||||
if (prop->hp_max < sao->getHP()) {
|
||||
PlayerHPChangeReason reason(PlayerHPChangeReason::SET_HP_MAX);
|
||||
|
Loading…
Reference in New Issue
Block a user