3 #include "system/angband.h"
4 #include "system/object-type-definition.h"
11 #define EGO_RESISTANCE 8
12 #define EGO_ELVENKIND 9
13 #define EGO_DWARVEN 10
14 #define EGO_PERMANENCE 11
15 #define EGO_YOIYAMI 12
16 #define EGO_URUKISH 13
19 #define EGO_ENDURE_ACID 16
20 #define EGO_ENDURE_ELEC 17
21 #define EGO_ENDURE_FIRE 18
22 #define EGO_ENDURE_COLD 19
23 #define EGO_ENDURANCE 20
24 #define EGO_REFLECTION 21
25 #define EGO_NIGHT_DAY 22
26 #define EGO_S_PROTECTION 238
27 #define EGO_S_DWARVEN 239
29 /* Crowns and Helms */
31 #define EGO_BRILLIANCE 24
32 #define EGO_H_PROTECTION 25
33 #define EGO_H_DEMON 26
36 #define EGO_LORDLINESS 29
38 #define EGO_INFRAVISION 31
40 #define EGO_TELEPATHY 33
41 #define EGO_REGENERATION 34
42 #define EGO_TELEPORTATION 35
44 #define EGO_BASILISK 37
45 #define EGO_ANCIENT_CURSE 38
46 #define EGO_SICKLINESS 39
49 #define EGO_PROTECTION 40
50 #define EGO_STEALTH 41
52 #define EGO_AURA_FIRE 43
53 #define EGO_ENVELOPING 44
54 #define EGO_VULNERABILITY 45
55 #define EGO_IRRITATION 46
56 #define EGO_AURA_ELEC 47
57 #define EGO_AURA_COLD 128
59 #define EGO_NAZGUL 240
62 #define EGO_FREE_ACTION 48
63 #define EGO_SLAYING 49
64 #define EGO_AGILITY 50
66 #define EGO_2WEAPON 52
67 #define EGO_MAGIC_MASTERY 53
68 #define EGO_WEAKNESS 54
69 #define EGO_CLUMSINESS 55
72 #define EGO_SLOW_DESCENT 56
78 #define EGO_SLOWNESS 62
79 #define EGO_ANNOYANCE 63
84 #define EGO_BLESS_BLADE 66
86 #define EGO_ATTACKS 69
87 #define EGO_SLAYING_WEAPON 70
88 #define EGO_FORCE_WEAPON 71
89 #define EGO_BRAND_ACID 72
90 #define EGO_BRAND_ELEC 73
91 #define EGO_BRAND_FIRE 74
92 #define EGO_BRAND_COLD 75
93 #define EGO_BRAND_POIS 76
94 #define EGO_CHAOTIC 77
95 #define EGO_SHARPNESS 78
96 #define EGO_EARTHQUAKES 79
98 #define EGO_KILL_ANIMAL 88
99 #define EGO_KILL_EVIL 89
100 #define EGO_KILL_UNDEAD 90
101 #define EGO_KILL_DEMON 91
102 #define EGO_KILL_ORC 92
103 #define EGO_KILL_TROLL 93
104 #define EGO_KILL_GIANT 94
105 #define EGO_KILL_DRAGON 95
106 #define EGO_VAMPIRIC 96
109 #define EGO_PATTERN 99
110 #define EGO_DIGGING 100
111 #define EGO_DEMON 101
112 #define EGO_MORGUL 102
113 #define EGO_KILL_HUMAN 103
116 #define EGO_ACCURACY 104
117 #define EGO_VELOCITY 105
118 #define EGO_EXTRA_MIGHT 108
119 #define EGO_EXTRA_SHOTS 109
122 #define EGO_HURT_ANIMAL 112
123 #define EGO_HURT_EVIL 113
124 #define EGO_HURT_DRAGON 119
125 #define EGO_SLAYING_BOLT 120
126 #define EGO_LIGHTNING_BOLT 121
127 #define EGO_FLAME 122
128 #define EGO_FROST 123
129 #define EGO_WOUNDING 124
130 #define EGO_BACKBITING 125
131 #define EGO_SHATTERED 126
132 #define EGO_BLASTED 127
135 #define EGO_LITE_SHINE 140
136 #define EGO_LITE_ILLUMINATION 141
137 #define EGO_LITE_AURA_FIRE 142
138 #define EGO_LITE_INFRA 143
139 #define EGO_LITE_LONG 144
140 #define EGO_LITE_DARKNESS 145
141 #define EGO_LITE_EYE 146
144 #define EGO_RING_HERO 150
145 #define EGO_RING_SLAY 151
146 #define EGO_RING_SUPER_AC 152
147 #define EGO_RING_MAGIC_MIS 153
148 #define EGO_RING_FIRE_BOLT 154
149 #define EGO_RING_COLD_BOLT 155
150 #define EGO_RING_ELEC_BOLT 156
151 #define EGO_RING_ACID_BOLT 157
152 #define EGO_RING_MANA_BOLT 158
153 #define EGO_RING_FIRE_BALL 159
154 #define EGO_RING_COLD_BALL 160
155 #define EGO_RING_ELEC_BALL 161
156 #define EGO_RING_ACID_BALL 162
157 #define EGO_RING_MANA_BALL 163
158 #define EGO_RING_DRAGON_F 164
159 #define EGO_RING_DRAGON_C 165
160 #define EGO_RING_D_SPEED 166
161 #define EGO_RING_BERSERKER 167
162 #define EGO_RING_HUNTER 168
163 #define EGO_RING_THROW 169
164 #define EGO_RING_REGEN 170
165 #define EGO_RING_LITE 171
166 #define EGO_RING_M_DETECT 172
167 #define EGO_RING_STEALTH 173
168 #define EGO_RING_TELE_AWAY 174
169 #define EGO_RING_TO_H 175
170 #define EGO_RING_TO_D 176
171 #define EGO_RING_RES_LITE 177
172 #define EGO_RING_RES_DARK 178
173 #define EGO_RING_WIZARD 179
174 #define EGO_RING_TRUE 180
175 #define EGO_RING_DRAIN_EXP 181
176 #define EGO_RING_NO_MELEE 182
177 #define EGO_RING_AGGRAVATE 183
178 #define EGO_RING_TY_CURSE 184
179 #define EGO_RING_RES_TIME 185
180 #define EGO_RING_TELEPORT 186
181 #define EGO_RING_ALBINO 187
184 #define EGO_AMU_SLOW_D 210
185 #define EGO_AMU_INFRA 211
186 #define EGO_AMU_SEE_INVIS 212
187 #define EGO_AMU_HOLD_EXP 213
188 #define EGO_AMU_DRAIN_EXP 214
189 #define EGO_AMU_FOOL 215
190 #define EGO_AMU_AGGRAVATE 216
191 #define EGO_AMU_TY_CURSE 217
192 #define EGO_AMU_AC 218
193 #define EGO_AMU_IDENT 219
194 #define EGO_AMU_CHARM 220
195 #define EGO_AMU_STEALTH 221
196 #define EGO_AMU_JUMP 222
197 #define EGO_AMU_TELEPORT 223
198 #define EGO_AMU_D_DOOR 224
199 #define EGO_AMU_DEFENDER 225
200 #define EGO_AMU_RES_FIRE 226
201 #define EGO_AMU_RES_FIRE_ 227
202 #define EGO_AMU_RES_COLD 228
203 #define EGO_AMU_RES_COLD_ 229
204 #define EGO_AMU_RES_ELEC 230
205 #define EGO_AMU_RES_ELEC_ 231
206 #define EGO_AMU_RES_ACID 232
207 #define EGO_AMU_RES_ACID_ 233
208 #define EGO_AMU_LEVITATION 234
209 #define EGO_AMU_GREAT 235
210 #define EGO_AMU_DETECTION 236
211 #define EGO_AMU_NAIVETY 237
215 * Information about "ego-items".
217 typedef struct ego_item_type {
218 STR_OFFSET name; /* Name (offset) */
219 STR_OFFSET text; /* Text (offset) */
221 INVENTORY_IDX slot; /*!< 装備部位 / Standard slot value */
222 PRICE rating; /*!< ベースアイテムからの価値加速 / Rating boost */
224 DEPTH level; /* Minimum level */
225 RARITY rarity; /* Object rarity */
227 HIT_PROB max_to_h; /* Maximum to-hit bonus */
228 HIT_POINT max_to_d; /* Maximum to-dam bonus */
229 ARMOUR_CLASS max_to_a; /* Maximum to-ac bonus */
231 PARAMETER_VALUE max_pval; /* Maximum pval */
233 PRICE cost; /* Ego-item "cost" */
235 BIT_FLAGS flags[TR_FLAG_SIZE]; /* Ego-Item Flags */
236 BIT_FLAGS gen_flags; /* flags for generate */
238 IDX act_idx; /* Activative ability index */
241 extern EGO_IDX max_e_idx;
242 extern ego_item_type *e_info;
246 byte get_random_ego(byte slot, bool good);