]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/script/lua_api/l_object.cpp
Add API function to invoke player respawn
[dragonfireclient.git] / src / script / lua_api / l_object.cpp
index 39b19364eb91157d0fa9f7d90f2b90bce923b9ff..37ba1521a1d56026019b0b6406bac6d8e56dcbf4 100644 (file)
@@ -2323,6 +2323,21 @@ int ObjectRef::l_get_lighting(lua_State *L)
        return 1;
 }
 
+// respawn(self)
+int ObjectRef::l_respawn(lua_State *L)
+{
+       NO_MAP_LOCK_REQUIRED;
+       ObjectRef *ref = checkobject(L, 1);
+       RemotePlayer *player = getplayer(ref);
+       if (player == nullptr)
+               return 0;
+
+       getServer(L)->RespawnPlayer(player->getPeerId());
+       lua_pushboolean(L, true);
+       return 1;
+}
+
+
 ObjectRef::ObjectRef(ServerActiveObject *object):
        m_object(object)
 {}
@@ -2478,5 +2493,7 @@ luaL_Reg ObjectRef::methods[] = {
        luamethod(ObjectRef, set_minimap_modes),
        luamethod(ObjectRef, set_lighting),
        luamethod(ObjectRef, get_lighting),
+       luamethod(ObjectRef, respawn),
+
        {0,0}
 };