MCPcopy Create free account
hub / github.com/NetHack/NetHack / nhl_obj_u_giveobj

Function nhl_obj_u_giveobj

src/nhlobj.c:141–162  ·  view source on GitHub ↗

Put object into player's inventory */ u.giveobj(obj.new("rock")); */

Source from the content-addressed store, hash-verified

139/* Put object into player's inventory */
140/* u.giveobj(obj.new("rock")); */
141int
142nhl_obj_u_giveobj(lua_State *L)
143{
144 struct _lua_obj *lo = l_obj_check(L, 1);
145 struct obj *otmp;
146 int refs;
147
148 if (!lobj_is_ok(lo) || lo->obj->where == OBJ_INVENT)
149 return 0;
150
151 refs = lo->obj->lua_ref_cnt;
152
153 obj_extract_self(lo->obj);
154 otmp = addinv(lo->obj);
155
156 if (otmp != lo->obj) {
157 lo->obj->lua_ref_cnt += refs;
158 lo->obj = otmp;
159 }
160
161 return 0;
162}
163
164DISABLE_WARNING_UNREACHABLE_CODE
165

Callers 1

nhl_u_giveobjFunction · 0.85

Calls 3

l_obj_checkFunction · 0.85
obj_extract_selfFunction · 0.85
addinvFunction · 0.85

Tested by

no test coverage detected