summaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_object.cpp
diff options
context:
space:
mode:
authorBeha <shacknetisp@mail.com>2019-07-30 11:29:45 -0400
committersfan5 <sfan5@live.de>2019-07-30 17:29:45 +0200
commitb8aaef704d3e29c43edc3312a3c5e25516d9c864 (patch)
tree9640e90c11c60982c0c2655c9a5f16864d649744 /src/script/lua_api/l_object.cpp
parent2dd645134eaab7611d167e2cb8469242e642c7ef (diff)
downloadminetest-b8aaef704d3e29c43edc3312a3c5e25516d9c864.tar.gz
minetest-b8aaef704d3e29c43edc3312a3c5e25516d9c864.tar.bz2
minetest-b8aaef704d3e29c43edc3312a3c5e25516d9c864.zip
Move the clamping of hp/breath when their maximums change to read_object_properties(). (#8689)
This prevents set_properties() calls that have nothing to do with hp_max or breath_max overriding the saved hp before another mod has the chance to set a player's intended hp_max (such as in on_joinplayer).
Diffstat (limited to 'src/script/lua_api/l_object.cpp')
-rw-r--r--src/script/lua_api/l_object.cpp15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp
index 7ff1f58bc..ad8554834 100644
--- a/src/script/lua_api/l_object.cpp
+++ b/src/script/lua_api/l_object.cpp
@@ -757,20 +757,7 @@ int ObjectRef::l_set_properties(lua_State *L)
if (!prop)
return 0;
- read_object_properties(L, 2, prop, getServer(L)->idef());
-
- PlayerSAO *player = getplayersao(ref);
-
- if (prop->hp_max < co->getHP()) {
- PlayerHPChangeReason reason(PlayerHPChangeReason::SET_HP);
- co->setHP(prop->hp_max, reason);
- if (player)
- getServer(L)->SendPlayerHPOrDie(player, reason);
- }
-
- if (player && prop->breath_max < player->getBreath())
- player->setBreath(prop->breath_max);
-
+ read_object_properties(L, 2, co, prop, getServer(L)->idef());
co->notifyObjectPropertiesModified();
return 0;
}