mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Sneak: Add option for old move code
Temporary option for the old move code for specific old sneak behaviour. Enabled by setting the added 'new move' physics override to false. By default 'new move' is true.
This commit is contained in:
parent
907be0ab91
commit
f6da7b3fda
10 changed files with 349 additions and 12 deletions
|
@ -401,7 +401,7 @@ int ObjectRef::l_get_armor_groups(lua_State *L)
|
|||
}
|
||||
|
||||
// set_physics_override(self, physics_override_speed, physics_override_jump,
|
||||
// physics_override_gravity, sneak, sneak_glitch)
|
||||
// physics_override_gravity, sneak, sneak_glitch, new_move)
|
||||
int ObjectRef::l_set_physics_override(lua_State *L)
|
||||
{
|
||||
NO_MAP_LOCK_REQUIRED;
|
||||
|
@ -410,11 +410,18 @@ int ObjectRef::l_set_physics_override(lua_State *L)
|
|||
if (co == NULL) return 0;
|
||||
// Do it
|
||||
if (lua_istable(L, 2)) {
|
||||
co->m_physics_override_speed = getfloatfield_default(L, 2, "speed", co->m_physics_override_speed);
|
||||
co->m_physics_override_jump = getfloatfield_default(L, 2, "jump", co->m_physics_override_jump);
|
||||
co->m_physics_override_gravity = getfloatfield_default(L, 2, "gravity", co->m_physics_override_gravity);
|
||||
co->m_physics_override_sneak = getboolfield_default(L, 2, "sneak", co->m_physics_override_sneak);
|
||||
co->m_physics_override_sneak_glitch = getboolfield_default(L, 2, "sneak_glitch", co->m_physics_override_sneak_glitch);
|
||||
co->m_physics_override_speed = getfloatfield_default(
|
||||
L, 2, "speed", co->m_physics_override_speed);
|
||||
co->m_physics_override_jump = getfloatfield_default(
|
||||
L, 2, "jump", co->m_physics_override_jump);
|
||||
co->m_physics_override_gravity = getfloatfield_default(
|
||||
L, 2, "gravity", co->m_physics_override_gravity);
|
||||
co->m_physics_override_sneak = getboolfield_default(
|
||||
L, 2, "sneak", co->m_physics_override_sneak);
|
||||
co->m_physics_override_sneak_glitch = getboolfield_default(
|
||||
L, 2, "sneak_glitch", co->m_physics_override_sneak_glitch);
|
||||
co->m_physics_override_new_move = getboolfield_default(
|
||||
L, 2, "new_move", co->m_physics_override_new_move);
|
||||
co->m_physics_override_sent = false;
|
||||
} else {
|
||||
// old, non-table format
|
||||
|
@ -454,6 +461,8 @@ int ObjectRef::l_get_physics_override(lua_State *L)
|
|||
lua_setfield(L, -2, "sneak");
|
||||
lua_pushboolean(L, co->m_physics_override_sneak_glitch);
|
||||
lua_setfield(L, -2, "sneak_glitch");
|
||||
lua_pushboolean(L, co->m_physics_override_new_move);
|
||||
lua_setfield(L, -2, "new_move");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue