mirror of
https://github.com/minetest/minetest.git
synced 2024-11-23 16:13:46 +01:00
Fix ObjectRef:punch()
This commit is contained in:
parent
9696ed31a4
commit
ac628c9b0a
@ -1087,6 +1087,7 @@ methods:
|
|||||||
- punch(puncher, time_from_last_punch, tool_capabilities, direction)
|
- punch(puncher, time_from_last_punch, tool_capabilities, direction)
|
||||||
^ puncher = an another ObjectRef,
|
^ puncher = an another ObjectRef,
|
||||||
^ time_from_last_punch = time since last punch action of the puncher
|
^ time_from_last_punch = time since last punch action of the puncher
|
||||||
|
^ direction: can be nil
|
||||||
- right_click(clicker); clicker = an another ObjectRef
|
- right_click(clicker); clicker = an another ObjectRef
|
||||||
- get_hp(): returns number of hitpoints (2 * number of hearts)
|
- get_hp(): returns number of hitpoints (2 * number of hearts)
|
||||||
- set_hp(hp): set number of hitpoints (2 * number of hearts)
|
- set_hp(hp): set number of hitpoints (2 * number of hearts)
|
||||||
|
@ -2542,7 +2542,7 @@ private:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// punch(self, puncher, tool_capabilities, direction, time_from_last_punch)
|
// punch(self, puncher, time_from_last_punch, tool_capabilities, dir)
|
||||||
static int l_punch(lua_State *L)
|
static int l_punch(lua_State *L)
|
||||||
{
|
{
|
||||||
ObjectRef *ref = checkobject(L, 1);
|
ObjectRef *ref = checkobject(L, 1);
|
||||||
@ -2551,13 +2551,18 @@ private:
|
|||||||
ServerActiveObject *puncher = getobject(puncher_ref);
|
ServerActiveObject *puncher = getobject(puncher_ref);
|
||||||
if(co == NULL) return 0;
|
if(co == NULL) return 0;
|
||||||
if(puncher == NULL) return 0;
|
if(puncher == NULL) return 0;
|
||||||
ToolCapabilities toolcap = read_tool_capabilities(L, 3);
|
v3f dir;
|
||||||
v3f dir = read_v3f(L, 4);
|
if(lua_type(L, 5) != LUA_TTABLE)
|
||||||
|
dir = co->getBasePosition() - puncher->getBasePosition();
|
||||||
|
else
|
||||||
|
dir = read_v3f(L, 5);
|
||||||
float time_from_last_punch = 1000000;
|
float time_from_last_punch = 1000000;
|
||||||
if(lua_isnumber(L, 5))
|
if(lua_isnumber(L, 3))
|
||||||
time_from_last_punch = lua_tonumber(L, 5);
|
time_from_last_punch = lua_tonumber(L, 3);
|
||||||
|
ToolCapabilities toolcap = read_tool_capabilities(L, 4);
|
||||||
|
dir.normalize();
|
||||||
// Do it
|
// Do it
|
||||||
puncher->punch(dir, &toolcap, puncher, time_from_last_punch);
|
co->punch(dir, &toolcap, puncher, time_from_last_punch);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user