2 #include "cmd-activate.h"
4 typedef struct artifact_type artifact_type;
7 * @struct artifact_type
8 * @brief 固定アーティファクト情報の構造体 / Artifact structure.
11 * the save-file only writes "cur_num" to the savefile.
12 * "max_num" is always "1" (if that artifact "exists")
16 STR_OFFSET name; /*!< アーティファクト名(headerオフセット参照) / Name (offset) */
17 STR_OFFSET text; /*!< アーティファクト解説(headerオフセット参照) / Text (offset) */
19 OBJECT_TYPE_VALUE tval; /*!< ベースアイテム大項目ID / Artifact type */
20 OBJECT_SUBTYPE_VALUE sval; /*!< ベースアイテム小項目ID / Artifact sub type */
22 PARAMETER_VALUE pval; /*!< pval修正値 / Artifact extra info */
24 HIT_PROB to_h; /*!< 命中ボーナス値 / Bonus to hit */
25 HIT_POINT to_d; /*!< ダメージボーナス値 / Bonus to damage */
26 ARMOUR_CLASS to_a; /*!< ACボーナス値 / Bonus to armor */
28 ARMOUR_CLASS ac; /*!< 上書きベースAC値 / Base armor */
31 DICE_SID ds; /*!< ダイス値 / Damage when hits */
33 WEIGHT weight; /*!< 重量 / Weight */
35 PRICE cost; /*!< 基本価格 / Artifact "cost" */
37 BIT_FLAGS flags[TR_FLAG_SIZE]; /*! アイテムフラグ / Artifact Flags */
39 BIT_FLAGS gen_flags; /*! アイテム生成フラグ / flags for generate */
41 DEPTH level; /*! 基本生成階 / Artifact level */
42 RARITY rarity; /*! レアリティ / Artifact rarity */
44 byte cur_num; /*! 現在の生成数 / Number created (0 or 1) */
45 byte max_num; /*! (未使用)最大生成数 / Unused (should be "1") */
47 FLOOR_IDX floor_id; /*! アイテムを落としたフロアのID / Leaved on this location last time */
49 byte act_idx; /*! 発動能力ID / Activative ability index */
52 extern artifact_type *a_info;
56 extern ARTIFACT_IDX max_a_idx;
59 extern bool create_artifact(object_type *o_ptr, bool a_scroll);
60 extern int activation_index(object_type *o_ptr);
61 extern const activation_type* find_activation_info(object_type *o_ptr);
62 extern void random_artifact_resistance(object_type * o_ptr, artifact_type *a_ptr);
63 extern bool create_named_art(ARTIFACT_IDX a_idx, POSITION y, POSITION x);
64 extern bool make_artifact(object_type *o_ptr);
65 extern bool make_artifact_special(object_type *o_ptr);
67 /*** Artifact indexes (see "lib/edit/a_info.txt") ***/
70 #define ART_GALADRIEL 1
74 #define ART_PALANTIR 15
75 #define ART_STONE_LORE 17
76 #define ART_FLY_STONE 147
77 #define ART_ORB_OF_FATE 245
79 #define ART_CARLAMMAS 4
82 #define ART_FARAMIR 18
83 #define ART_BOROMIR 143
84 #define ART_MAGATAMA 149
87 #define ART_SACRED_KNIGHTS 217
89 #define ART_CHARMED 219
102 #define ART_RAZORBACK 129
103 #define ART_BLADETURNER 130
104 #define ART_SEIRYU 201
107 #define ART_SOULKEEPER 19
108 #define ART_ISILDUR 20
109 #define ART_ROHIRRIM 21
110 #define ART_LOHENGRIN 22
111 #define ART_JULIAN 23
112 #define ART_ARVEDUI 24
113 #define ART_CASPANION 25
114 #define ART_GILES 168
115 #define ART_MORLOK 203
116 #define ART_VETERAN 206
119 #define ART_SHIVA_JACKET 26
120 #define ART_HITHLOMIR 27
121 #define ART_THALKETTOTH 28
122 #define ART_HIMRING 127
123 #define ART_ICANUS 131
124 #define ART_NAMAKE_ARMOR 183
126 #define ART_DASAI 200
127 #define ART_KESHO 204
128 #define ART_MILIM 246
131 #define ART_THORIN 30
132 #define ART_CELEGORM 31
133 #define ART_ANARION 32
134 #define ART_GIL_GALAD 138
135 #define ART_YENDOR 141
137 #define ART_EARENDIL 186
138 #define ART_PERSEUS 197
140 /* Helms and Crowns */
143 #define ART_BERUTHIEL 35
144 #define ART_THRANDUIL 36
145 #define ART_THENGEL 37
146 #define ART_HAMMERHAND 38
148 #define ART_HOLHENNETH 40
149 #define ART_TERROR 41
151 #define ART_NUMENOR 132
152 #define ART_STONEMASK 146
156 #define ART_COLLUIN 44
157 #define ART_HOLCOLLETH 45
158 #define ART_THINGOL 46
159 #define ART_THORONGIL 47
160 #define ART_COLANNON 48
161 #define ART_LUTHIEN 49
164 #define ART_HEAVENLY_MAIDEN 233
167 #define ART_CAMBELEG 52
168 #define ART_CAMMITHRIM 53
169 #define ART_PAURHACH 54
170 #define ART_CORWIN 55
171 #define ART_PAURAEGEN 56
172 #define ART_PAURNEN 57
173 #define ART_THANOS 58
174 #define ART_FINGOLFIN 59
175 #define ART_PAURNIMMEN 185
178 #define ART_FEANOR 60
181 #define ART_SHIVA_BOOTS 63
182 #define ART_GLASS 165
189 #define ART_MAEDHROS 64
191 #define ART_NARTHANC 66
192 #define ART_NIMTHANC 67
193 #define ART_DETHANC 68
196 #define ART_CALRIS 71
197 #define ART_GRAYSWANDIR 72
198 #define ART_GLAMDRING 73
199 #define ART_NOTHUNG 74
200 #define ART_ORCRIST 75
201 #define ART_GURTHANG 76
202 #define ART_ZARCUTHRA 77
203 #define ART_TWILIGHT 78
204 #define ART_GONDRICAM 79
205 #define ART_CRISDURIAN 80
206 #define ART_AGLARANG 81
207 #define ART_RINGIL 82
208 #define ART_ANDURIL 83
209 #define ART_WEREWINDLE 84
210 #define ART_CHAINSWORD 85
211 #define ART_FORASGIL 86
212 #define ART_CARETH 87
214 #define ART_SOULSWORD 89
215 #define ART_MERLIN 90
216 #define ART_DOOMCALLER 91
217 #define ART_VORPAL_BLADE 92
218 #define ART_SLAYER 123
219 #define ART_KUSANAGI 128
220 #define ART_HURIN 133
221 #define ART_AZAGHAL 135
223 #define ART_CHARIOT 140
224 #define ART_WORPAL_BLADE 142
225 #define ART_MURAMASA 144
226 #define ART_ZANTETSU 150
227 #define ART_SOULCRUSH 154
228 #define ART_FALIS 155
229 #define ART_HRUNTING 156
230 #define ART_ANUBIS 158
231 #define ART_GURENKI 160
232 #define ART_TAILBITER 167
233 #define ART_MUSASI_KATANA 171
234 #define ART_MUSASI_WAKIZASI 172
235 #define ART_QUICKTHORN 174
236 #define ART_TINYTHORN 175
237 #define ART_EXCALIBUR 176
238 #define ART_EXCALIPUR 177
239 #define ART_EXCALIBUR_J 179
240 #define ART_ARUNRUTH 184
241 #define ART_HAKABUSA 189
242 #define ART_STORMBRINGER 190
243 #define ART_NARSIL 191
244 #define ART_KANNU 193
245 #define ART_GRIMTOOTH 196
246 #define ART_KAMUI 198
247 #define ART_GOURYU 207
248 #define ART_EOWYN 216
249 #define ART_NANACHO 248
250 #define ART_ROBINTON 251
253 #define ART_THEODEN 93
255 #define ART_OSONDIR 95
257 #define ART_RUNESPEAR 97
258 #define ART_DESTINY 98
260 #define ART_EORLINGAS 100
261 #define ART_DURIN 101
262 #define ART_EONWE 102
263 #define ART_BALLI 103
264 #define ART_LOTHARANG 104
265 #define ART_DWARVES_AXE 105
266 #define ART_BARUKKHELED 106
267 #define ART_WRATH 107
269 #define ART_AVAVIR 109
270 #define ART_BENKEI 152
271 #define ART_TAIKOBO 159
272 #define ART_TONBO 161
273 #define ART_GAEBOLG 163
274 #define ART_ARRYU 164
275 #define ART_AEGLOS 187
276 #define ART_BLOOD 199
277 #define ART_NUMAHOKO 202
279 /* The sword of the Dawn */
283 #define ART_GROND 111
284 #define ART_TOTILA 112
285 #define ART_THUNDERFIST 113
286 #define ART_BLOODSPIKE 114
287 #define ART_FIRESTAR 115
288 #define ART_TARATOL 116
291 #define ART_ERIRIL 119
292 #define ART_GANDALF 120
293 #define ART_DEATHWREAKER 121
294 #define ART_TURMIL 122
295 #define ART_MJOLLNIR 136
296 #define ART_WINBLOWS 139
297 #define ART_XIAOLONG 145
298 #define ART_NYOIBOU 157
299 #define ART_JONES 162
300 #define ART_HYOUSIGI 169
301 #define ART_MATOI 170
302 #define ART_IRON_BALL 173
303 #define ART_SAMSON 178
304 #define ART_NAMAKE_HAMMER 181
305 #define ART_BOLISHOI 188
306 #define ART_SHUTEN_DOJI 194
307 #define ART_G_HAMMER 195
308 #define ART_AEGISFANG 208
309 #define ART_HERMIT 209
310 #define ART_GOTHMOG 212
312 #define ART_FUNDIN 214
313 #define ART_AESCULAPIUS 225
316 #define ART_BELTHRONDING 124
318 #define ART_BRAND 126
319 #define ART_CRIMSON 16
320 #define ART_BUCKLAND 134
321 #define ART_YOICHI 148
322 #define ART_HARAD 180
323 #define ART_NAMAKE_BOW 182
324 #define ART_ROBIN_HOOD 221
325 #define ART_HELLFIRE 222
328 #define ART_BARD_ARROW 153
331 /* "Biases" for random artifact gen */
332 #define BIAS_ELEC 1 /*!< ランダムアーティファクトバイアス:電撃 */
333 #define BIAS_POIS 2 /*!< ランダムアーティファクトバイアス:毒 */
334 #define BIAS_FIRE 3 /*!< ランダムアーティファクトバイアス:火炎 */
335 #define BIAS_COLD 4 /*!< ランダムアーティファクトバイアス:冷気 */
336 #define BIAS_ACID 5 /*!< ランダムアーティファクトバイアス:酸 */
337 #define BIAS_STR 6 /*!< ランダムアーティファクトバイアス:腕力 */
338 #define BIAS_INT 7 /*!< ランダムアーティファクトバイアス:知力 */
339 #define BIAS_WIS 8 /*!< ランダムアーティファクトバイアス:賢さ */
340 #define BIAS_DEX 9 /*!< ランダムアーティファクトバイアス:器用さ */
341 #define BIAS_CON 10 /*!< ランダムアーティファクトバイアス:耐久 */
342 #define BIAS_CHR 11 /*!< ランダムアーティファクトバイアス:魅力 */
343 #define BIAS_CHAOS 12 /*!< ランダムアーティファクトバイアス:混沌 */
344 #define BIAS_PRIESTLY 13 /*!< ランダムアーティファクトバイアス:プリースト系 */
345 #define BIAS_NECROMANTIC 14 /*!< ランダムアーティファクトバイアス:死霊 */
346 #define BIAS_LAW 15 /*!< ランダムアーティファクトバイアス:法 */
347 #define BIAS_ROGUE 16 /*!< ランダムアーティファクトバイアス:盗賊系 */
348 #define BIAS_MAGE 17 /*!< ランダムアーティファクトバイアス:メイジ系 */
349 #define BIAS_WARRIOR 18 /*!< ランダムアーティファクトバイアス:戦士系 */
350 #define BIAS_RANGER 19 /*!< ランダムアーティファクトバイアス:レンジャー系 */
351 #define MAX_BIAS 20 /*!< ランダムアーティファクトバイアス:最大数 */