… | |
… | |
240 | */ |
240 | */ |
241 | object *ACC (RW, more); /* Pointer to the rest of a large body of objects */ |
241 | object *ACC (RW, more); /* Pointer to the rest of a large body of objects */ |
242 | object *head; /* Points to the main object of a large body */ // NO ACC, perl semantics are different |
242 | object *head; /* Points to the main object of a large body */ // NO ACC, perl semantics are different |
243 | client_container *seen_by; // seen by which player/container currently? |
243 | client_container *seen_by; // seen by which player/container currently? |
244 | |
244 | |
245 | static vector active; // active objects, not yet used |
245 | //static vector active_list; // active objects, not yet used |
246 | static vector objects; // not used yet, use first->next->... |
246 | //static vector object_list; // not used yet, use first->next->... |
247 | static object *first; // will be replaced by "objects" |
247 | static object *first; // will be replaced by "objects" |
248 | |
248 | |
249 | MTH static object *create (); |
249 | MTH static object *create (); |
250 | MTH void copy_to (object *dst); |
250 | MTH void copy_to (object *dst); |
251 | MTH object *clone (); // create + copy_to |
251 | MTH object *clone (); // create + copy_to |
… | |
… | |
337 | |
337 | |
338 | // insert object at same map position as 'where' |
338 | // insert object at same map position as 'where' |
339 | // handles both inventory and map "positions" |
339 | // handles both inventory and map "positions" |
340 | MTH object *insert_at (object *where, object *originator = 0, int flags = 0); |
340 | MTH object *insert_at (object *where, object *originator = 0, int flags = 0); |
341 | |
341 | |
|
|
342 | MTH bool active () const; |
|
|
343 | MTH void activate (); |
|
|
344 | MTH void deactivate (); |
342 | MTH void activate (bool recursive = true); |
345 | MTH void activate_recursive (); |
343 | MTH void deactivate (bool recursive = true); |
346 | MTH void deactivate_recursive (); |
|
|
347 | |
|
|
348 | // set the givne flag on all objects in the inventory recursively |
|
|
349 | MTH void set_flag_inv (int flag, int value = 1); |
344 | |
350 | |
345 | void enter_exit (object *exit);//PERL |
351 | void enter_exit (object *exit);//PERL |
346 | MTH void enter_map (maptile *newmap, int x, int y); |
352 | MTH void enter_map (maptile *newmap, int x, int y); |
347 | |
353 | |
348 | // returns the mapspace this object is in |
354 | // returns the mapspace this object is in |
… | |
… | |
361 | operator object *() const { return item; } |
367 | operator object *() const { return item; } |
362 | |
368 | |
363 | object *operator ->() const { return item; } |
369 | object *operator ->() const { return item; } |
364 | object &operator * () const { return *item; } |
370 | object &operator * () const { return *item; } |
365 | }; |
371 | }; |
|
|
372 | |
|
|
373 | MTH unsigned int random_seed () const |
|
|
374 | { |
|
|
375 | return (unsigned int)uuid.seq; |
|
|
376 | } |
366 | |
377 | |
367 | // depth-first recursive iterator |
378 | // depth-first recursive iterator |
368 | struct depth_iterator : iterator_base |
379 | struct depth_iterator : iterator_base |
369 | { |
380 | { |
370 | depth_iterator (object *container); |
381 | depth_iterator (object *container); |