aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2021-05-10 16:07:31 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2021-05-10 16:07:31 +0200
commit6dc7a65d9e23a8bd20f729e041e84615b2313deb (patch)
tree03919afd6abe562e777942a9b1ae0fb9ccab161a /src/script/lua_api
parent7d7d4d675cd066a9dcd4467ff99c471a7ae09b88 (diff)
downloaddragonfireclient-6dc7a65d9e23a8bd20f729e041e84615b2313deb.tar.xz
Add ClientObjectRef:set_properties
Diffstat (limited to 'src/script/lua_api')
-rw-r--r--src/script/lua_api/l_clientobject.cpp11
-rw-r--r--src/script/lua_api/l_clientobject.h5
2 files changed, 15 insertions, 1 deletions
diff --git a/src/script/lua_api/l_clientobject.cpp b/src/script/lua_api/l_clientobject.cpp
index 7b9c4c3fa..0147fd48b 100644
--- a/src/script/lua_api/l_clientobject.cpp
+++ b/src/script/lua_api/l_clientobject.cpp
@@ -160,6 +160,16 @@ int ClientObjectRef::l_get_properties(lua_State *L)
return 1;
}
+int ClientObjectRef::l_set_properties(lua_State *L)
+{
+ ClientObjectRef *ref = checkobject(L, 1);
+ GenericCAO *gcao = get_generic_cao(ref, L);
+ ObjectProperties prop = *gcao->getProperties();
+ read_object_properties(L, 2, nullptr, &prop, getClient(L)->idef());
+ gcao->setProperties(prop);
+ return 1;
+}
+
int ClientObjectRef::l_get_hp(lua_State *L)
{
ClientObjectRef *ref = checkobject(L, 1);
@@ -259,6 +269,7 @@ luaL_Reg ClientObjectRef::methods[] = {luamethod(ClientObjectRef, get_pos),
luamethod(ClientObjectRef, get_nametag),
luamethod(ClientObjectRef, get_item_textures),
luamethod(ClientObjectRef, get_properties),
+ luamethod(ClientObjectRef, set_properties),
luamethod(ClientObjectRef, get_hp),
luamethod(ClientObjectRef, get_max_hp), luamethod(ClientObjectRef, punch),
luamethod(ClientObjectRef, rightclick), {0, 0}};
diff --git a/src/script/lua_api/l_clientobject.h b/src/script/lua_api/l_clientobject.h
index 160b6c4fe..22d2f4a1c 100644
--- a/src/script/lua_api/l_clientobject.h
+++ b/src/script/lua_api/l_clientobject.h
@@ -75,12 +75,15 @@ private:
// get_nametag(self)
static int l_get_nametag(lua_State *L);
- // get_textures(self)
+ // get_item_textures(self)
static int l_get_item_textures(lua_State *L);
// get_properties(self)
static int l_get_properties(lua_State *L);
+ // set_properties(self, properties)
+ static int l_set_properties(lua_State *L);
+
// get_hp(self)
static int l_get_hp(lua_State *L);