From: SmallJoker Date: Tue, 21 May 2019 19:37:47 +0000 (+0200) Subject: Fix forgotten PlayerSAO cast in a90f2ef X-Git-Tag: 5.1.0~212 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a2848c9cdeba8d077c61ef20108cb208fd073ef8;p=oweals%2Fminetest.git Fix forgotten PlayerSAO cast in a90f2ef --- diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp index b7924ddb8..7ff1f58bc 100644 --- a/src/script/lua_api/l_object.cpp +++ b/src/script/lua_api/l_object.cpp @@ -759,16 +759,17 @@ int ObjectRef::l_set_properties(lua_State *L) 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 (co->getType() == ACTIVEOBJECT_TYPE_PLAYER) - getServer(L)->SendPlayerHPOrDie((PlayerSAO *)co, reason); + if (player) + getServer(L)->SendPlayerHPOrDie(player, reason); } - if (co->getType() == ACTIVEOBJECT_TYPE_PLAYER && - prop->breath_max < co->getBreath()) - co->setBreath(prop->breath_max); + if (player && prop->breath_max < player->getBreath()) + player->setBreath(prop->breath_max); co->notifyObjectPropertiesModified(); return 0;