… | |
… | |
184 | sint32 ACC (RW, carrying); /* How much weight this object contains */ |
184 | sint32 ACC (RW, carrying); /* How much weight this object contains */ |
185 | sint64 ACC (RW, perm_exp); /* Permanent exp */ |
185 | sint64 ACC (RW, perm_exp); /* Permanent exp */ |
186 | uint32 ACC (RW, weapontype); /* type of weapon */ |
186 | uint32 ACC (RW, weapontype); /* type of weapon */ |
187 | uint32 ACC (RW, tooltype); /* type of tool or build facility */ |
187 | uint32 ACC (RW, tooltype); /* type of tool or build facility */ |
188 | body_slot slot [NUM_BODY_LOCATIONS]; |
188 | body_slot slot [NUM_BODY_LOCATIONS]; |
189 | faceidx ACC (RW, face); /* Face with colors */ |
189 | faceidx ACC (RW, face); /* the graphical face */ |
|
|
190 | faceidx ACC (RW, sound); /* the sound face */ |
|
|
191 | faceidx ACC (RW, sound_destroy); /* played on destroy */ |
190 | living ACC (RO, stats); /* Str, Con, Dex, etc */ |
192 | living ACC (RO, stats); /* Str, Con, Dex, etc */ |
191 | /* See the pod/objects.pod for more info about body locations */ |
193 | /* See the pod/objects.pod for more info about body locations */ |
192 | |
194 | |
193 | /* Following mostly refers to fields only used for monsters */ |
195 | /* Following mostly refers to fields only used for monsters */ |
194 | uint32 ACC (RW, hide); /* The object is hidden, not invisible */ |
196 | uint32 ACC (RW, hide); /* The object is hidden, not invisible */ |
… | |
… | |
248 | UUID ACC (RW, uuid); // Unique Identifier, survives saves etc. |
250 | UUID ACC (RW, uuid); // Unique Identifier, survives saves etc. |
249 | int ACC (RO, count); |
251 | int ACC (RO, count); |
250 | object_vector_index ACC (RO, index); // index into objects |
252 | object_vector_index ACC (RO, index); // index into objects |
251 | object_vector_index ACC (RO, active); // index into actives |
253 | object_vector_index ACC (RO, active); // index into actives |
252 | |
254 | |
253 | player_ptr ACC (RW, contr); /* Pointer to the player which control this object */ |
255 | player_ptr ACC (RW, contr); /* Pointer to the player which control this object, ALWAYS set *iff* type == PLAYER */ |
254 | |
256 | |
255 | object *ACC (RW, below); /* Pointer to the object stacked below this one */ |
257 | object *ACC (RW, below); /* Pointer to the object stacked below this one */ |
256 | object *ACC (RW, above); /* Pointer to the object stacked above this one */ |
258 | object *ACC (RW, above); /* Pointer to the object stacked above this one */ |
257 | /* Note: stacked in the *same* environment */ |
259 | /* Note: stacked in the *same* environment */ |
258 | object *inv; /* Pointer to the first object in the inventory */ |
260 | object *inv; /* Pointer to the first object in the inventory */ |
… | |
… | |
284 | MTH void destroy (bool destroy_inventory = false); |
286 | MTH void destroy (bool destroy_inventory = false); |
285 | |
287 | |
286 | // recursively destroy all objects in inventory, optionally dropping them to the ground instead |
288 | // recursively destroy all objects in inventory, optionally dropping them to the ground instead |
287 | MTH void destroy_inv (bool drop_to_ground = false); |
289 | MTH void destroy_inv (bool drop_to_ground = false); |
288 | MTH object *insert (object *item); // insert into inventory |
290 | MTH object *insert (object *item); // insert into inventory |
|
|
291 | MTH void play_sound (faceidx sound) const; |
|
|
292 | |
289 | void do_remove (); |
293 | void do_remove (); |
290 | MTH void remove () |
294 | MTH void remove () |
291 | { |
295 | { |
292 | if (!flag [FLAG_REMOVED]) |
296 | if (!flag [FLAG_REMOVED]) |
293 | do_remove (); |
297 | do_remove (); |
… | |
… | |
488 | { |
492 | { |
489 | return !invisible && type != PLAYER; |
493 | return !invisible && type != PLAYER; |
490 | } |
494 | } |
491 | |
495 | |
492 | MTH struct region *region () const; |
496 | MTH struct region *region () const; |
|
|
497 | |
|
|
498 | void statusmsg (const char *msg, int color = NDI_BLACK); |
|
|
499 | void failmsg (const char *msg, int color = NDI_RED); |
493 | |
500 | |
494 | protected: |
501 | protected: |
495 | void link (); |
502 | void link (); |
496 | void unlink (); |
503 | void unlink (); |
497 | |
504 | |