… | |
… | |
274 | && can_merge_slow (op1, op2); |
274 | && can_merge_slow (op1, op2); |
275 | } |
275 | } |
276 | |
276 | |
277 | MTH void set_owner (object *owner); |
277 | MTH void set_owner (object *owner); |
278 | MTH void set_speed (float speed); |
278 | MTH void set_speed (float speed); |
|
|
279 | MTH void set_weapon (object *ob); |
279 | |
280 | |
280 | MTH void open_container (object *new_container); |
281 | MTH void open_container (object *new_container); |
281 | MTH void close_container () |
282 | MTH void close_container () |
282 | { |
283 | { |
283 | open_container (0); |
284 | open_container (0); |
… | |
… | |
331 | || (flag [FLAG_ALIVE] && !flag [FLAG_GENERATOR] && type != DOOR)) |
332 | || (flag [FLAG_ALIVE] && !flag [FLAG_GENERATOR] && type != DOOR)) |
332 | && !flag [FLAG_IS_A_TEMPLATE]; } |
333 | && !flag [FLAG_IS_A_TEMPLATE]; } |
333 | MTH bool is_arrow () const { return type == ARROW |
334 | MTH bool is_arrow () const { return type == ARROW |
334 | || (type == SPELL_EFFECT |
335 | || (type == SPELL_EFFECT |
335 | && (subtype == SP_BULLET || subtype == SP_MAGIC_MISSILE)); } |
336 | && (subtype == SP_BULLET || subtype == SP_MAGIC_MISSILE)); } |
|
|
337 | MTH bool is_range () const { return type == BOW || type == ROD || type == WAND || type == HORN; } |
336 | |
338 | |
337 | MTH bool has_active_speed () const { return FABS(speed) >= MIN_ACTIVE_SPEED; } |
339 | MTH bool has_active_speed () const { return FABS(speed) >= MIN_ACTIVE_SPEED; } |
338 | |
340 | |
339 | // temporary: wether the object can be saved in a map file |
341 | // temporary: wether the object can be saved in a map file |
340 | // contr => is a player |
342 | // contr => is a player |