OSDN Git Service

[Refactor] #40399 Separated identification.c/h from object1.c/h
[hengband/hengband.git] / src / object / object1.h
1 #pragma once
2
3 /*
4  * Object information, for a specific object.
5  *
6  * Note that a "discount" on an item is permanent and never goes away.
7  *
8  * Note that inscriptions are now handled via the "quark_str()" function
9  * applied to the "note" field, which will return NULL if "note" is zero.
10  *
11  * Note that "object" records are "copied" on a fairly regular basis,
12  * and care must be taken when handling such objects.
13  *
14  * Note that "object flags" must now be derived from the object kind,
15  * the artifact and ego-item indexes, and the two "xtra" fields.
16  *
17  * Each grid points to one (or zero) objects via the "o_idx"
18  * field (above).  Each object then points to one (or zero) objects
19  * via the "next_o_idx" field, forming a singly linked list, which
20  * in game terms, represents a "stack" of objects in the same grid.
21  *
22  * Each monster points to one (or zero) objects via the "hold_o_idx"
23  * field (below).  Each object then points to one (or zero) objects
24  * via the "next_o_idx" field, forming a singly linked list, which
25  * in game terms, represents a pile of objects held by the monster.
26  *
27  * The "held_m_idx" field is used to indicate which monster, if any,
28  * is holding the object.  Objects being held have "ix=0" and "iy=0".
29  */
30
31 #define OBJ_GOLD_LIST   480     /* First "gold" entry */
32
33 #include "system/angband.h"
34 #include "object/object-util.h"
35
36 void reset_visuals(player_type *owner_ptr, void(*process_autopick_file_command)(char*));
37 void object_flags(object_type *o_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE]);
38 void object_flags_known(object_type *o_ptr, BIT_FLAGS flgs[TR_FLAG_SIZE]);
39 concptr item_activation(object_type *o_ptr);
40
41 char index_to_label(int i);
42 s16b wield_slot(player_type *owner_ptr, object_type *o_ptr);
43
44 bool check_book_realm(player_type *owner_ptr, const tval_type book_tval, const OBJECT_SUBTYPE_VALUE book_sval);
45 object_type *ref_item(player_type *owner_ptr, INVENTORY_IDX item);
46 TERM_COLOR object_attr(object_type *o_ptr);