diff options
author | MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com> | 2013-04-05 01:03:28 -1000 |
---|---|---|
committer | PilzAdam <pilzadam@minetest.net> | 2013-04-05 02:00:59 +0200 |
commit | c5a8448c41e4ea9d33a43cebef61425d4568a46d (patch) | |
tree | bd612dd0d2b8e7589f14a2c403b423480af5798d /src/scriptapi_object.cpp | |
parent | 2a0badf2d565ce4bebe2910c88795c0fe51a0341 (diff) | |
download | hax-minetest-server-c5a8448c41e4ea9d33a43cebef61425d4568a46d.tar.gz hax-minetest-server-c5a8448c41e4ea9d33a43cebef61425d4568a46d.zip |
Allow modifying movement speed, jump height and gravity per-player via the Lua API.
Diffstat (limited to 'src/scriptapi_object.cpp')
-rw-r--r-- | src/scriptapi_object.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/scriptapi_object.cpp b/src/scriptapi_object.cpp index a0f93cbba..05433a598 100644 --- a/src/scriptapi_object.cpp +++ b/src/scriptapi_object.cpp @@ -297,6 +297,28 @@ int ObjectRef::l_set_armor_groups(lua_State *L) return 0; } +// set_physics_override(self, physics_override_speed, physics_override_jump, physics_override_gravity) +int ObjectRef::l_set_physics_override(lua_State *L) +{ + ObjectRef *ref = checkobject(L, 1); + PlayerSAO *co = (PlayerSAO *) getobject(ref); + if(co == NULL) return 0; + // Do it + if(!lua_isnil(L, 2)){ + co->m_physics_override_speed = lua_tonumber(L, 2); + co->m_physics_override_sent = false; + } + if(!lua_isnil(L, 3)){ + co->m_physics_override_jump = lua_tonumber(L, 3); + co->m_physics_override_sent = false; + } + if(!lua_isnil(L, 4)){ + co->m_physics_override_gravity = lua_tonumber(L, 4); + co->m_physics_override_sent = false; + } + return 0; +} + // set_animation(self, frame_range, frame_speed, frame_blend) int ObjectRef::l_set_animation(lua_State *L) { @@ -756,6 +778,7 @@ const luaL_reg ObjectRef::methods[] = { luamethod(ObjectRef, get_wielded_item), luamethod(ObjectRef, set_wielded_item), luamethod(ObjectRef, set_armor_groups), + luamethod(ObjectRef, set_physics_override), luamethod(ObjectRef, set_animation), luamethod(ObjectRef, set_bone_position), luamethod(ObjectRef, set_attach), |