E void FDECL(hitfloor, (struct obj *));
E void FDECL(hurtle, (int, int, int, BOOLEAN_P));
E void FDECL(mhurtle, (struct monst *, int, int, int));
+E boolean FDECL(throwing_weapon, (struct obj *));
E void FDECL(throwit, (struct obj *, long, BOOLEAN_P));
E int FDECL(omon_adj, (struct monst *, struct obj *, BOOLEAN_P));
E int FDECL(thitmonst, (struct monst *, struct obj *));
BOOLEAN_P));
STATIC_DCL void FDECL(breakmsg, (struct obj *, BOOLEAN_P));
STATIC_DCL boolean FDECL(toss_up, (struct obj *, BOOLEAN_P));
-STATIC_DCL boolean FDECL(throwing_weapon, (struct obj *));
STATIC_DCL void FDECL(sho_obj_return_to_u, (struct obj * obj));
STATIC_DCL boolean FDECL(mhurtle_step, (genericptr_t, int, int));
}
/* return true for weapon meant to be thrown; excludes ammo */
-STATIC_OVL boolean
+boolean
throwing_weapon(obj)
struct obj *obj;
{
obj->where = OBJ_INVENT;
/* fill empty quiver if obj was thrown */
- if (flags.pickup_thrown && !uquiver && obj_was_thrown)
+ if (flags.pickup_thrown && !uquiver && obj_was_thrown
+ && (throwing_weapon(obj) || is_ammo(obj)))
setuqwep(obj);
added:
addinv_core2(obj);