blob: 40a77589763b82ac26d4268c52a69419b8503c7e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#pragma once
#include "h-basic.h"
/**
* Size of allocation table for objects
*/
constexpr int ALLOCATION_MAX = 8;
/**
* Object "kind" descriptor. Includes player knowledge.
*
* Only "aware" and "tried" are saved in the savefile
*/
struct object_kind
{
const char *name; /* Name */
char *text; /* Text */
byte tval; /* Object type */
byte sval; /* Object sub type */
s32b pval; /* Object extra info */
s32b pval2; /* Object extra info */
s16b to_h; /* Bonus to hit */
s16b to_d; /* Bonus to damage */
s16b to_a; /* Bonus to armor */
s16b activate; /* Activation number */
s16b ac; /* Base armor */
byte dd, ds; /* Damage dice/sides */
s32b weight; /* Weight */
s32b cost; /* Object "base cost" */
u32b flags1; /* Flags, set 1 */
u32b flags2; /* Flags, set 2 */
u32b flags3; /* Flags, set 3 */
u32b flags4; /* Flags, set 4 */
u32b flags5; /* Flags, set 5 */
u32b oflags1; /* Obvious Flags, set 1 */
u32b oflags2; /* Obvious Flags, set 2 */
u32b oflags3; /* Obvious Flags, set 3 */
u32b oflags4; /* Obvious Flags, set 4 */
u32b oflags5; /* Obvious Flags, set 5 */
byte locale[ALLOCATION_MAX]; /* Allocation level(s) */
byte chance[ALLOCATION_MAX]; /* Allocation chance(s) */
byte level; /* Level */
byte extra; /* Something */
byte d_attr; /* Default object attribute */
char d_char; /* Default object character */
byte x_attr; /* Desired object attribute */
char x_char; /* Desired object character */
byte flavor; /* Special object flavor (or zero) */
bool_ easy_know; /* This object is always known (if aware) */
bool_ aware; /* The player is "aware" of the item's effects */
bool_ tried; /* The player has "tried" one of the items */
bool_ know; /* extractable flag for the alchemist */
u32b esp; /* ESP flags */
u32b oesp; /* Obvious ESP flags */
byte btval; /* Become Object type */
byte bsval; /* Become Object sub type */
bool_ artifact; /* Is it a normal artifact(already generated) */
s16b power; /* Power granted(if any) */
};
|