OSDN Git Service

[Refactor] #37353 player_title を player-class.c へ移動.
[hengband/hengband.git] / src / tables.c
1 /*!
2  * @file tables.c
3  * @brief ゲーム情報テーブル / Angband Tables
4  * @date 2014/07/23
5  * @author
6  * <pre>
7  * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
8  * This software may be copied and distributed for educational, research,
9  * and not for profit purposes provided that this copyright and statement
10  * are included in all such copies.  Other copyrights may also apply.
11  * </pre>
12  */
13
14
15 #include "angband.h"
16 #include "spells.h"
17
18 /*!
19  * キーパッドの方向を南から反時計回り順に列挙 / Global array for looping through the "keypad directions"
20  */
21 const POSITION ddd[9] =
22 { 2, 8, 6, 4, 3, 1, 9, 7, 5 };
23
24 /*!
25  * dddで定義した順にベクトルのX軸成分を定義 / Global arrays for converting "keypad direction" into offsets
26  */
27 const POSITION ddx[10] =
28 { 0, -1, 0, 1, -1, 0, 1, -1, 0, 1 };
29
30 /*!
31  * dddで定義した順にベクトルのY軸成分を定義 / Global arrays for converting "keypad direction" into offsets
32  */
33 const POSITION ddy[10] =
34 { 0, 1, 1, 1, 0, 0, 0, -1, -1, -1 };
35
36 /*!
37  * ddd越しにベクトルのX軸成分を定義 / Global arrays for optimizing "ddx[ddd[i]]" and "ddy[ddd[i]]"
38  */
39 const POSITION ddx_ddd[9] =
40 { 0, 0, 1, -1, 1, -1, 1, -1, 0 };
41
42 /*!
43  * ddd越しにベクトルのY軸成分を定義 / Global arrays for optimizing "ddx[ddd[i]]" and "ddy[ddd[i]]"
44  */
45 const POSITION ddy_ddd[9] =
46 { 1, -1, 0, 0, 1, 1, -1, -1, 0 };
47
48
49 /*!
50  * キーパッドの円環状方向配列 / Circular keypad direction array
51  */
52 const POSITION cdd[8] =
53 { 2, 3, 6, 9, 8, 7, 4, 1 };
54
55 /*!
56  * cdd越しにベクトルのX軸成分を定義 / Global arrays for optimizing "ddx[cdd[i]]" and "ddy[cdd[i]]"
57  */
58 const POSITION ddx_cdd[8] =
59 { 0, 1, 1, 1, 0, -1, -1, -1 };
60
61 /*!
62  * cdd越しにベクトルのY軸成分を定義 / Global arrays for optimizing "ddx[cdd[i]]" and "ddy[cdd[i]]"
63  */
64 const POSITION ddy_cdd[8] =
65 { 1, 1, 0, -1, -1, -1, 0, 1 };
66
67
68
69 /*!
70  * 10進数から16進数への変換テーブル /
71  * Global array for converting numbers to uppercase hecidecimal digit
72  * This array can also be used to convert a number to an octal digit
73  */
74 const char hexsym[16] =
75 {
76         '0', '1', '2', '3', '4', '5', '6', '7',
77         '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
78 };
79
80
81 /*!
82  * 選択処理用キーコード /
83  * Global array for converting numbers to a logical list symbol
84  */
85 const char listsym[] =
86 {
87         '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
88         'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
89         'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
90         'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
91         'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
92         '\0'
93 };
94
95
96 /*!
97  * スクリーン表示色キャラクタ /
98  * Encode the screen colors
99  */
100 const concptr color_char = "dwsorgbuDWvyRGBU";
101
102
103 /*!
104  * 知力/賢さによるレベル毎の習得可能魔法数テーブル
105  * Stat Table (INT/WIS) -- Number of half-spells per level
106  */
107 const byte adj_mag_study[] =
108 {
109         0       /* 3 */,
110         0       /* 4 */,
111         0       /* 5 */,
112         0       /* 6 */,
113         0       /* 7 */,
114         1       /* 8 */,
115         1       /* 9 */,
116         1       /* 10 */,
117         1       /* 11 */,
118         2       /* 12 */,
119         2       /* 13 */,
120         2       /* 14 */,
121         2       /* 15 */,
122         2       /* 16 */,
123         2       /* 17 */,
124         2       /* 18/00-18/09 */,
125         2       /* 18/10-18/19 */,
126         2       /* 18/20-18/29 */,
127         2       /* 18/30-18/39 */,
128         2       /* 18/40-18/49 */,
129         3       /* 18/50-18/59 */,
130         3       /* 18/60-18/69 */,
131         3       /* 18/70-18/79 */,
132         3       /* 18/80-18/89 */,
133         4       /* 18/90-18/99 */,
134         4       /* 18/100-18/109 */,
135         4       /* 18/110-18/119 */,
136         5       /* 18/120-18/129 */,
137         5       /* 18/130-18/139 */,
138         5       /* 18/140-18/149 */,
139         5       /* 18/150-18/159 */,
140         5       /* 18/160-18/169 */,
141         5       /* 18/170-18/179 */,
142         5       /* 18/180-18/189 */,
143         5       /* 18/190-18/199 */,
144         5       /* 18/200-18/209 */,
145         6       /* 18/210-18/219 */,
146         6       /* 18/220+ */
147 };
148
149
150 /*!
151  * 知力/賢さによるMP修正テーブル
152  * Stat Table (INT/WIS) -- extra 1/4-mana-points per level
153  */
154 const byte adj_mag_mana[] =
155 {
156         0       /* 3 */,
157         0       /* 4 */,
158         0       /* 5 */,
159         0       /* 6 */,
160         0       /* 7 */,
161         1       /* 8 */,
162         2       /* 9 */,
163         3       /* 10 */,
164         4       /* 11 */,
165         5       /* 12 */,
166         5       /* 13 */,
167         6       /* 14 */,
168         7       /* 15 */,
169         8       /* 16 */,
170         9       /* 17 */,
171         10      /* 18/00-18/09 */,
172         11      /* 18/10-18/19 */,
173         11      /* 18/20-18/29 */,
174         12      /* 18/30-18/39 */,
175         12      /* 18/40-18/49 */,
176         13      /* 18/50-18/59 */,
177         14      /* 18/60-18/69 */,
178         15      /* 18/70-18/79 */,
179         16      /* 18/80-18/89 */,
180         17      /* 18/90-18/99 */,
181         18      /* 18/100-18/109 */,
182         19      /* 18/110-18/119 */,
183         20      /* 18/120-18/129 */,
184         21      /* 18/130-18/139 */,
185         22      /* 18/140-18/149 */,
186         23      /* 18/150-18/159 */,
187         24      /* 18/160-18/169 */,
188         25      /* 18/170-18/179 */,
189         26      /* 18/180-18/189 */,
190         27      /* 18/190-18/199 */,
191         28      /* 18/200-18/209 */,
192         29      /* 18/210-18/219 */,
193         30      /* 18/220+ */
194 };
195
196
197 /*!
198  * 知力/賢さによる最低魔法失敗率テーブル
199  * Stat Table (INT/WIS) -- Minimum failure rate (percentage)
200  */
201 const byte adj_mag_fail[] =
202 {
203         99      /* 3 */,
204         99      /* 4 */,
205         99      /* 5 */,
206         99      /* 6 */,
207         99      /* 7 */,
208         50      /* 8 */,
209         30      /* 9 */,
210         20      /* 10 */,
211         15      /* 11 */,
212         12      /* 12 */,
213         11      /* 13 */,
214         10      /* 14 */,
215         9       /* 15 */,
216         8       /* 16 */,
217         7       /* 17 */,
218         6       /* 18/00-18/09 */,
219         6       /* 18/10-18/19 */,
220         5       /* 18/20-18/29 */,
221         5       /* 18/30-18/39 */,
222         5       /* 18/40-18/49 */,
223         4       /* 18/50-18/59 */,
224         4       /* 18/60-18/69 */,
225         4       /* 18/70-18/79 */,
226         4       /* 18/80-18/89 */,
227         3       /* 18/90-18/99 */,
228         3       /* 18/100-18/109 */,
229         2       /* 18/110-18/119 */,
230         2       /* 18/120-18/129 */,
231         2       /* 18/130-18/139 */,
232         2       /* 18/140-18/149 */,
233         1       /* 18/150-18/159 */,
234         1       /* 18/160-18/169 */,
235         1       /* 18/170-18/179 */,
236         1       /* 18/180-18/189 */,
237         1       /* 18/190-18/199 */,
238         0       /* 18/200-18/209 */,
239         0       /* 18/210-18/219 */,
240         0       /* 18/220+ */
241 };
242
243
244 /*!
245  * 知力/賢さによる魔法失敗率修正テーブル
246  * Stat Table (INT/WIS) -- Various things
247  */
248 const byte adj_mag_stat[] =
249 {
250         0       /* 3 */,
251         0       /* 4 */,
252         0       /* 5 */,
253         0       /* 6 */,
254         0       /* 7 */,
255         1       /* 8 */,
256         1       /* 9 */,
257         1       /* 10 */,
258         1       /* 11 */,
259         1       /* 12 */,
260         1       /* 13 */,
261         1       /* 14 */,
262         2       /* 15 */,
263         2       /* 16 */,
264         2       /* 17 */,
265         3       /* 18/00-18/09 */,
266         3       /* 18/10-18/19 */,
267         3       /* 18/20-18/29 */,
268         3       /* 18/30-18/39 */,
269         3       /* 18/40-18/49 */,
270         4       /* 18/50-18/59 */,
271         4       /* 18/60-18/69 */,
272         5       /* 18/70-18/79 */,
273         6       /* 18/80-18/89 */,
274         7       /* 18/90-18/99 */,
275         8       /* 18/100-18/109 */,
276         9       /* 18/110-18/119 */,
277         10      /* 18/120-18/129 */,
278         11      /* 18/130-18/139 */,
279         12      /* 18/140-18/149 */,
280         13      /* 18/150-18/159 */,
281         14      /* 18/160-18/169 */,
282         15      /* 18/170-18/179 */,
283         16      /* 18/180-18/189 */,
284         17      /* 18/190-18/199 */,
285         18      /* 18/200-18/209 */,
286         19      /* 18/210-18/219 */,
287         20      /* 18/220+ */
288 };
289
290
291 /*!
292  * 魅力による店での取引修正テーブル
293  * Stat Table (CHR) -- payment percentages
294  */
295 const byte adj_chr_gold[] =
296 {
297         130     /* 3 */,
298         125     /* 4 */,
299         122     /* 5 */,
300         120     /* 6 */,
301         118     /* 7 */,
302         116     /* 8 */,
303         114     /* 9 */,
304         112     /* 10 */,
305         110     /* 11 */,
306         108     /* 12 */,
307         106     /* 13 */,
308         104     /* 14 */,
309         103     /* 15 */,
310         102     /* 16 */,
311         101     /* 17 */,
312         100     /* 18/00-18/09 */,
313         99      /* 18/10-18/19 */,
314         98      /* 18/20-18/29 */,
315         97      /* 18/30-18/39 */,
316         96      /* 18/40-18/49 */,
317         95      /* 18/50-18/59 */,
318         94      /* 18/60-18/69 */,
319         93      /* 18/70-18/79 */,
320         92      /* 18/80-18/89 */,
321         91      /* 18/90-18/99 */,
322         90      /* 18/100-18/109 */,
323         89      /* 18/110-18/119 */,
324         88      /* 18/120-18/129 */,
325         87      /* 18/130-18/139 */,
326         86      /* 18/140-18/149 */,
327         85      /* 18/150-18/159 */,
328         84      /* 18/160-18/169 */,
329         83      /* 18/170-18/179 */,
330         82      /* 18/180-18/189 */,
331         81      /* 18/190-18/199 */,
332         80      /* 18/200-18/209 */,
333         79      /* 18/210-18/219 */,
334         78      /* 18/220+ */
335 };
336
337
338 /*!
339  * 知力による魔道具使用修正テーブル
340  * Stat Table (INT) -- Magic devices
341  */
342 const byte adj_int_dev[] =
343 {
344         0       /* 3 */,
345         0       /* 4 */,
346         0       /* 5 */,
347         0       /* 6 */,
348         0       /* 7 */,
349         1       /* 8 */,
350         1       /* 9 */,
351         1       /* 10 */,
352         1       /* 11 */,
353         1       /* 12 */,
354         1       /* 13 */,
355         1       /* 14 */,
356         2       /* 15 */,
357         2       /* 16 */,
358         2       /* 17 */,
359         3       /* 18/00-18/09 */,
360         3       /* 18/10-18/19 */,
361         4       /* 18/20-18/29 */,
362         4       /* 18/30-18/39 */,
363         5       /* 18/40-18/49 */,
364         5       /* 18/50-18/59 */,
365         6       /* 18/60-18/69 */,
366         6       /* 18/70-18/79 */,
367         7       /* 18/80-18/89 */,
368         7       /* 18/90-18/99 */,
369         8       /* 18/100-18/109 */,
370         9       /* 18/110-18/119 */,
371         10      /* 18/120-18/129 */,
372         11      /* 18/130-18/139 */,
373         12      /* 18/140-18/149 */,
374         13      /* 18/150-18/159 */,
375         14      /* 18/160-18/169 */,
376         15      /* 18/170-18/179 */,
377         16      /* 18/180-18/189 */,
378         17      /* 18/190-18/199 */,
379         18      /* 18/200-18/209 */,
380         19      /* 18/210-18/219 */,
381         20      /* 18/220+ */
382 };
383
384
385 /*!
386  * 賢さによる魔法防御修正テーブル
387  * Stat Table (WIS) -- Saving throw
388  */
389 const byte adj_wis_sav[] =
390 {
391         0       /* 3 */,
392         0       /* 4 */,
393         0       /* 5 */,
394         0       /* 6 */,
395         0       /* 7 */,
396         1       /* 8 */,
397         1       /* 9 */,
398         1       /* 10 */,
399         1       /* 11 */,
400         1       /* 12 */,
401         1       /* 13 */,
402         1       /* 14 */,
403         2       /* 15 */,
404         2       /* 16 */,
405         2       /* 17 */,
406         3       /* 18/00-18/09 */,
407         3       /* 18/10-18/19 */,
408         3       /* 18/20-18/29 */,
409         3       /* 18/30-18/39 */,
410         3       /* 18/40-18/49 */,
411         4       /* 18/50-18/59 */,
412         4       /* 18/60-18/69 */,
413         5       /* 18/70-18/79 */,
414         5       /* 18/80-18/89 */,
415         6       /* 18/90-18/99 */,
416         7       /* 18/100-18/109 */,
417         8       /* 18/110-18/119 */,
418         9       /* 18/120-18/129 */,
419         10      /* 18/130-18/139 */,
420         11      /* 18/140-18/149 */,
421         12      /* 18/150-18/159 */,
422         13      /* 18/160-18/169 */,
423         14      /* 18/170-18/179 */,
424         15      /* 18/180-18/189 */,
425         16      /* 18/190-18/199 */,
426         17      /* 18/200-18/209 */,
427         18      /* 18/210-18/219 */,
428         19      /* 18/220+ */
429 };
430
431
432 /*!
433  * 器用さによるトラップ解除修正テーブル
434  * Stat Table (DEX) -- disarming
435  */
436 const byte adj_dex_dis[] =
437 {
438         0       /* 3 */,
439         0       /* 4 */,
440         0       /* 5 */,
441         0       /* 6 */,
442         0       /* 7 */,
443         0       /* 8 */,
444         0       /* 9 */,
445         0       /* 10 */,
446         0       /* 11 */,
447         0       /* 12 */,
448         1       /* 13 */,
449         1       /* 14 */,
450         1       /* 15 */,
451         2       /* 16 */,
452         2       /* 17 */,
453         4       /* 18/00-18/09 */,
454         4       /* 18/10-18/19 */,
455         4       /* 18/20-18/29 */,
456         4       /* 18/30-18/39 */,
457         5       /* 18/40-18/49 */,
458         5       /* 18/50-18/59 */,
459         5       /* 18/60-18/69 */,
460         6       /* 18/70-18/79 */,
461         6       /* 18/80-18/89 */,
462         7       /* 18/90-18/99 */,
463         8       /* 18/100-18/109 */,
464         8       /* 18/110-18/119 */,
465         8       /* 18/120-18/129 */,
466         8       /* 18/130-18/139 */,
467         8       /* 18/140-18/149 */,
468         9       /* 18/150-18/159 */,
469         9       /* 18/160-18/169 */,
470         9       /* 18/170-18/179 */,
471         9       /* 18/180-18/189 */,
472         9       /* 18/190-18/199 */,
473         10      /* 18/200-18/209 */,
474         10      /* 18/210-18/219 */,
475         10      /* 18/220+ */
476 };
477
478
479 /*!
480  * 知力によるトラップ解除修正テーブル
481  * Stat Table (INT) -- disarming
482  */
483 const byte adj_int_dis[] =
484 {
485         0       /* 3 */,
486         0       /* 4 */,
487         0       /* 5 */,
488         0       /* 6 */,
489         0       /* 7 */,
490         1       /* 8 */,
491         1       /* 9 */,
492         1       /* 10 */,
493         1       /* 11 */,
494         1       /* 12 */,
495         1       /* 13 */,
496         1       /* 14 */,
497         2       /* 15 */,
498         2       /* 16 */,
499         2       /* 17 */,
500         3       /* 18/00-18/09 */,
501         3       /* 18/10-18/19 */,
502         3       /* 18/20-18/29 */,
503         4       /* 18/30-18/39 */,
504         4       /* 18/40-18/49 */,
505         5       /* 18/50-18/59 */,
506         6       /* 18/60-18/69 */,
507         7       /* 18/70-18/79 */,
508         8       /* 18/80-18/89 */,
509         9       /* 18/90-18/99 */,
510         10      /* 18/100-18/109 */,
511         10      /* 18/110-18/119 */,
512         11      /* 18/120-18/129 */,
513         12      /* 18/130-18/139 */,
514         13      /* 18/140-18/149 */,
515         14      /* 18/150-18/159 */,
516         15      /* 18/160-18/169 */,
517         16      /* 18/170-18/179 */,
518         17      /* 18/180-18/189 */,
519         18      /* 18/190-18/199 */,
520         19      /* 18/200-18/209 */,
521         19      /* 18/210-18/219 */,
522         20      /* 18/220+ */
523 };
524
525
526 /*!
527  * 器用さによるAC修正テーブル
528  * Stat Table (DEX) -- bonus to ac (plus 128)
529  */
530 const byte adj_dex_ta[] =
531 {
532         128 + -4    /*  3 */,
533         128 + -3    /*  4 */,
534         128 + -2    /*  5 */,
535         128 + -1    /*  6 */,
536         128 + 0     /*  7 */,
537         128 + 0     /*  8 */,
538         128 + 0     /*  9 */,
539         128 + 0     /* 10 */,
540         128 + 0     /* 11 */,
541         128 + 0     /* 12 */,
542         128 + 0     /* 13 */,
543         128 + 0     /* 14 */,
544         128 + 1     /* 15 */,
545         128 + 1     /* 16 */,
546         128 + 1     /* 17 */,
547         128 + 2     /* 18/00-18/09 */,
548         128 + 2     /* 18/10-18/19 */,
549         128 + 2     /* 18/20-18/29 */,
550         128 + 2     /* 18/30-18/39 */,
551         128 + 2     /* 18/40-18/49 */,
552         128 + 3     /* 18/50-18/59 */,
553         128 + 3     /* 18/60-18/69 */,
554         128 + 3     /* 18/70-18/79 */,
555         128 + 4     /* 18/80-18/89 */,
556         128 + 5     /* 18/90-18/99 */,
557         128 + 6     /* 18/100-18/109 */,
558         128 + 7     /* 18/110-18/119 */,
559         128 + 8     /* 18/120-18/129 */,
560         128 + 9     /* 18/130-18/139 */,
561         128 + 9     /* 18/140-18/149 */,
562         128 + 10    /* 18/150-18/159 */,
563         128 + 11    /* 18/160-18/169 */,
564         128 + 12    /* 18/170-18/179 */,
565         128 + 13    /* 18/180-18/189 */,
566         128 + 14    /* 18/190-18/199 */,
567         128 + 15    /* 18/200-18/209 */,
568         128 + 15    /* 18/210-18/219 */,
569         128 + 16    /* 18/220+ */
570 };
571
572
573 /*!
574  * 腕力によるダメージ修正テーブル
575  * Stat Table (STR) -- bonus to dam (plus 128)
576  */
577 const byte adj_str_td[] =
578 {
579         128 + -2    /*  3 */,
580         128 + -2    /*  4 */,
581         128 + -1    /*  5 */,
582         128 + -1    /*  6 */,
583         128 + 0     /*  7 */,
584         128 + 0     /*  8 */,
585         128 + 0     /*  9 */,
586         128 + 0     /* 10 */,
587         128 + 0     /* 11 */,
588         128 + 0     /* 12 */,
589         128 + 0     /* 13 */,
590         128 + 0     /* 14 */,
591         128 + 0     /* 15 */,
592         128 + 1     /* 16 */,
593         128 + 2     /* 17 */,
594         128 + 2     /* 18/00-18/09 */,
595         128 + 2     /* 18/10-18/19 */,
596         128 + 3     /* 18/20-18/29 */,
597         128 + 3     /* 18/30-18/39 */,
598         128 + 3     /* 18/40-18/49 */,
599         128 + 3     /* 18/50-18/59 */,
600         128 + 3     /* 18/60-18/69 */,
601         128 + 4     /* 18/70-18/79 */,
602         128 + 5     /* 18/80-18/89 */,
603         128 + 5     /* 18/90-18/99 */,
604         128 + 6     /* 18/100-18/109 */,
605         128 + 7     /* 18/110-18/119 */,
606         128 + 8     /* 18/120-18/129 */,
607         128 + 9     /* 18/130-18/139 */,
608         128 + 10    /* 18/140-18/149 */,
609         128 + 11    /* 18/150-18/159 */,
610         128 + 12    /* 18/160-18/169 */,
611         128 + 13    /* 18/170-18/179 */,
612         128 + 14    /* 18/180-18/189 */,
613         128 + 15    /* 18/190-18/199 */,
614         128 + 16    /* 18/200-18/209 */,
615         128 + 18    /* 18/210-18/219 */,
616         128 + 20    /* 18/220+ */
617 };
618
619
620 /*!
621  * 器用度による命中修正テーブル
622  * Stat Table (DEX) -- bonus to hit (plus 128)
623  */
624 const byte adj_dex_th[] =
625 {
626         128 + -3        /* 3 */,
627         128 + -2        /* 4 */,
628         128 + -2        /* 5 */,
629         128 + -1        /* 6 */,
630         128 + -1        /* 7 */,
631         128 + 0 /* 8 */,
632         128 + 0 /* 9 */,
633         128 + 0 /* 10 */,
634         128 + 0 /* 11 */,
635         128 + 0 /* 12 */,
636         128 + 0 /* 13 */,
637         128 + 0 /* 14 */,
638         128 + 0 /* 15 */,
639         128 + 1 /* 16 */,
640         128 + 2 /* 17 */,
641         128 + 3 /* 18/00-18/09 */,
642         128 + 3 /* 18/10-18/19 */,
643         128 + 3 /* 18/20-18/29 */,
644         128 + 3 /* 18/30-18/39 */,
645         128 + 3 /* 18/40-18/49 */,
646         128 + 4 /* 18/50-18/59 */,
647         128 + 4 /* 18/60-18/69 */,
648         128 + 4 /* 18/70-18/79 */,
649         128 + 4 /* 18/80-18/89 */,
650         128 + 5 /* 18/90-18/99 */,
651         128 + 6 /* 18/100-18/109 */,
652         128 + 7 /* 18/110-18/119 */,
653         128 + 8 /* 18/120-18/129 */,
654         128 + 9 /* 18/130-18/139 */,
655         128 + 9 /* 18/140-18/149 */,
656         128 + 10        /* 18/150-18/159 */,
657         128 + 11        /* 18/160-18/169 */,
658         128 + 12        /* 18/170-18/179 */,
659         128 + 13        /* 18/180-18/189 */,
660         128 + 14        /* 18/190-18/199 */,
661         128 + 15        /* 18/200-18/209 */,
662         128 + 15        /* 18/210-18/219 */,
663         128 + 16        /* 18/220+ */
664 };
665
666
667 /*!
668  * 腕力による命中修正テーブル
669  * Stat Table (STR) -- bonus to hit (plus 128)
670  */
671 const byte adj_str_th[] =
672 {
673         128 + -3        /* 3 */,
674         128 + -2        /* 4 */,
675         128 + -1        /* 5 */,
676         128 + -1        /* 6 */,
677         128 + 0 /* 7 */,
678         128 + 0 /* 8 */,
679         128 + 0 /* 9 */,
680         128 + 0 /* 10 */,
681         128 + 0 /* 11 */,
682         128 + 0 /* 12 */,
683         128 + 0 /* 13 */,
684         128 + 0 /* 14 */,
685         128 + 0 /* 15 */,
686         128 + 0 /* 16 */,
687         128 + 0 /* 17 */,
688         128 + 1 /* 18/00-18/09 */,
689         128 + 1 /* 18/10-18/19 */,
690         128 + 1 /* 18/20-18/29 */,
691         128 + 1 /* 18/30-18/39 */,
692         128 + 1 /* 18/40-18/49 */,
693         128 + 1 /* 18/50-18/59 */,
694         128 + 1 /* 18/60-18/69 */,
695         128 + 2 /* 18/70-18/79 */,
696         128 + 3 /* 18/80-18/89 */,
697         128 + 4 /* 18/90-18/99 */,
698         128 + 5 /* 18/100-18/109 */,
699         128 + 6 /* 18/110-18/119 */,
700         128 + 7 /* 18/120-18/129 */,
701         128 + 8 /* 18/130-18/139 */,
702         128 + 9 /* 18/140-18/149 */,
703         128 + 10        /* 18/150-18/159 */,
704         128 + 11        /* 18/160-18/169 */,
705         128 + 12        /* 18/170-18/179 */,
706         128 + 13        /* 18/180-18/189 */,
707         128 + 14        /* 18/190-18/199 */,
708         128 + 15        /* 18/200-18/209 */,
709         128 + 15        /* 18/210-18/219 */,
710         128 + 16        /* 18/220+ */
711 };
712
713
714 /*!
715  * 腕力による基本所持重量値テーブル
716  * Stat Table (STR) -- weight limit in deca-pounds
717  */
718 const byte adj_str_wgt[] =
719 {
720         10      /* 3 */,
721         11      /* 4 */,
722         12      /* 5 */,
723         13      /* 6 */,
724         14      /* 7 */,
725         15      /* 8 */,
726         16      /* 9 */,
727         17      /* 10 */,
728         18      /* 11 */,
729         19      /* 12 */,
730         20      /* 13 */,
731         21      /* 14 */,
732         22      /* 15 */,
733         23      /* 16 */,
734         24      /* 17 */,
735         25      /* 18/00-18/09 */,
736         26      /* 18/10-18/19 */,
737         27      /* 18/20-18/29 */,
738         28      /* 18/30-18/39 */,
739         29      /* 18/40-18/49 */,
740         30      /* 18/50-18/59 */,
741         31      /* 18/60-18/69 */,
742         31      /* 18/70-18/79 */,
743         32      /* 18/80-18/89 */,
744         32      /* 18/90-18/99 */,
745         33      /* 18/100-18/109 */,
746         33      /* 18/110-18/119 */,
747         34      /* 18/120-18/129 */,
748         34      /* 18/130-18/139 */,
749         35      /* 18/140-18/149 */,
750         35      /* 18/150-18/159 */,
751         36      /* 18/160-18/169 */,
752         36      /* 18/170-18/179 */,
753         37      /* 18/180-18/189 */,
754         37      /* 18/190-18/199 */,
755         38      /* 18/200-18/209 */,
756         38      /* 18/210-18/219 */,
757         39      /* 18/220+ */
758 };
759
760
761 /*!
762  * 腕力による武器重量限界値テーブル
763  * Stat Table (STR) -- weapon weight limit in pounds
764  */
765 const byte adj_str_hold[] =
766 {
767         4       /* 3 */,
768         5       /* 4 */,
769         6       /* 5 */,
770         7       /* 6 */,
771         8       /* 7 */,
772         9       /* 8 */,
773         10      /* 9 */,
774         11      /* 10 */,
775         12      /* 11 */,
776         13      /* 12 */,
777         14      /* 13 */,
778         15      /* 14 */,
779         16      /* 15 */,
780         17      /* 16 */,
781         18      /* 17 */,
782         19      /* 18/00-18/09 */,
783         20      /* 18/10-18/19 */,
784         21      /* 18/20-18/29 */,
785         22      /* 18/30-18/39 */,
786         23      /* 18/40-18/49 */,
787         24      /* 18/50-18/59 */,
788         25      /* 18/60-18/69 */,
789         26      /* 18/70-18/79 */,
790         27      /* 18/80-18/89 */,
791         28      /* 18/90-18/99 */,
792         30      /* 18/100-18/109 */,
793         31      /* 18/110-18/119 */,
794         32      /* 18/120-18/129 */,
795         33      /* 18/130-18/139 */,
796         34      /* 18/140-18/149 */,
797         35      /* 18/150-18/159 */,
798         37      /* 18/160-18/169 */,
799         40      /* 18/170-18/179 */,
800         44      /* 18/180-18/189 */,
801         48      /* 18/190-18/199 */,
802         50     /* 18/200-18/209 */,
803         50     /* 18/210-18/219 */,
804         50     /* 18/220+ */
805 };
806
807
808 /*!
809  * 腕力による採掘能力修正値テーブル
810  * Stat Table (STR) -- digging value
811  */
812 const byte adj_str_dig[] =
813 {
814         0       /* 3 */,
815         0       /* 4 */,
816         1       /* 5 */,
817         2       /* 6 */,
818         3       /* 7 */,
819         4       /* 8 */,
820         4       /* 9 */,
821         5       /* 10 */,
822         5       /* 11 */,
823         6       /* 12 */,
824         6       /* 13 */,
825         7       /* 14 */,
826         7       /* 15 */,
827         8       /* 16 */,
828         8       /* 17 */,
829         9       /* 18/00-18/09 */,
830         10      /* 18/10-18/19 */,
831         12      /* 18/20-18/29 */,
832         15      /* 18/30-18/39 */,
833         20      /* 18/40-18/49 */,
834         25      /* 18/50-18/59 */,
835         30      /* 18/60-18/69 */,
836         35      /* 18/70-18/79 */,
837         40      /* 18/80-18/89 */,
838         45      /* 18/90-18/99 */,
839         50      /* 18/100-18/109 */,
840         55      /* 18/110-18/119 */,
841         60      /* 18/120-18/129 */,
842         65      /* 18/130-18/139 */,
843         70      /* 18/140-18/149 */,
844         75      /* 18/150-18/159 */,
845         80      /* 18/160-18/169 */,
846         85      /* 18/170-18/179 */,
847         90      /* 18/180-18/189 */,
848         95      /* 18/190-18/199 */,
849         100     /* 18/200-18/209 */,
850         100     /* 18/210-18/219 */,
851         100     /* 18/220+ */
852 };
853
854
855 /*!
856  * 腕力による攻撃回数算定値テーブル
857  * Stat Table (STR) -- help index into the "blow" table
858  */
859 const byte adj_str_blow[] =
860 {
861         3       /* 3 */,
862         4       /* 4 */,
863         5       /* 5 */,
864         6       /* 6 */,
865         7       /* 7 */,
866         8       /* 8 */,
867         9       /* 9 */,
868         10      /* 10 */,
869         11      /* 11 */,
870         12      /* 12 */,
871         13      /* 13 */,
872         14      /* 14 */,
873         15      /* 15 */,
874         16      /* 16 */,
875         17      /* 17 */,
876         20 /* 18/00-18/09 */,
877         30 /* 18/10-18/19 */,
878         40 /* 18/20-18/29 */,
879         50 /* 18/30-18/39 */,
880         60 /* 18/40-18/49 */,
881         70 /* 18/50-18/59 */,
882         80 /* 18/60-18/69 */,
883         90 /* 18/70-18/79 */,
884         100 /* 18/80-18/89 */,
885         110 /* 18/90-18/99 */,
886         120 /* 18/100-18/109 */,
887         130 /* 18/110-18/119 */,
888         140 /* 18/120-18/129 */,
889         150 /* 18/130-18/139 */,
890         160 /* 18/140-18/149 */,
891         170 /* 18/150-18/159 */,
892         180 /* 18/160-18/169 */,
893         190 /* 18/170-18/179 */,
894         200 /* 18/180-18/189 */,
895         210 /* 18/190-18/199 */,
896         220 /* 18/200-18/209 */,
897         230 /* 18/210-18/219 */,
898         240 /* 18/220+ */
899 };
900
901
902 /*!
903  * 器用さによる攻撃回数インデックステーブル
904  * Stat Table (DEX) -- index into the "blow" table
905  */
906 const byte adj_dex_blow[] =
907 {
908         0       /* 3 */,
909         0       /* 4 */,
910         0       /* 5 */,
911         0       /* 6 */,
912         0       /* 7 */,
913         0       /* 8 */,
914         0       /* 9 */,
915         1       /* 10 */,
916         1       /* 11 */,
917         1       /* 12 */,
918         1       /* 13 */,
919         1       /* 14 */,
920         2       /* 15 */,
921         2       /* 16 */,
922         2       /* 17 */,
923         2       /* 18/00-18/09 */,
924         3       /* 18/10-18/19 */,
925         3       /* 18/20-18/29 */,
926         3       /* 18/30-18/39 */,
927         4       /* 18/40-18/49 */,
928         4       /* 18/50-18/59 */,
929         5       /* 18/60-18/69 */,
930         5       /* 18/70-18/79 */,
931         6       /* 18/80-18/89 */,
932         6       /* 18/90-18/99 */,
933         7       /* 18/100-18/109 */,
934         7       /* 18/110-18/119 */,
935         8       /* 18/120-18/129 */,
936         8       /* 18/130-18/139 */,
937         9      /* 18/140-18/149 */,
938         9      /* 18/150-18/159 */,
939         10      /* 18/160-18/169 */,
940         10      /* 18/170-18/179 */,
941         11      /* 18/180-18/189 */,
942         11      /* 18/190-18/199 */,
943         12      /* 18/200-18/209 */,
944         12      /* 18/210-18/219 */,
945         13      /* 18/220+ */
946 };
947
948
949 /*!
950  * 器用さによる盗難防止&体当たり成功判定修正テーブル
951  * Stat Table (DEX) -- chance of avoiding "theft" and "falling"
952  */
953 const byte adj_dex_safe[] =
954 {
955         0       /* 3 */,
956         1       /* 4 */,
957         2       /* 5 */,
958         3       /* 6 */,
959         4       /* 7 */,
960         5       /* 8 */,
961         5       /* 9 */,
962         6       /* 10 */,
963         6       /* 11 */,
964         7       /* 12 */,
965         7       /* 13 */,
966         8       /* 14 */,
967         8       /* 15 */,
968         9       /* 16 */,
969         9       /* 17 */,
970         10      /* 18/00-18/09 */,
971         10      /* 18/10-18/19 */,
972         15      /* 18/20-18/29 */,
973         15      /* 18/30-18/39 */,
974         20      /* 18/40-18/49 */,
975         25      /* 18/50-18/59 */,
976         30      /* 18/60-18/69 */,
977         35      /* 18/70-18/79 */,
978         40      /* 18/80-18/89 */,
979         45      /* 18/90-18/99 */,
980         50      /* 18/100-18/109 */,
981         60      /* 18/110-18/119 */,
982         70      /* 18/120-18/129 */,
983         80      /* 18/130-18/139 */,
984         90      /* 18/140-18/149 */,
985         100     /* 18/150-18/159 */,
986         100     /* 18/160-18/169 */,
987         100     /* 18/170-18/179 */,
988         100     /* 18/180-18/189 */,
989         100     /* 18/190-18/199 */,
990         100     /* 18/200-18/209 */,
991         100     /* 18/210-18/219 */,
992         100     /* 18/220+ */
993 };
994
995
996 /*!
997  * 耐久による基本HP自然治癒値テーブル /
998  * Stat Table (CON) -- base regeneration rate
999  */
1000 const byte adj_con_fix[] =
1001 {
1002         0       /* 3 */,
1003         0       /* 4 */,
1004         0       /* 5 */,
1005         0       /* 6 */,
1006         0       /* 7 */,
1007         0       /* 8 */,
1008         0       /* 9 */,
1009         0       /* 10 */,
1010         0       /* 11 */,
1011         0       /* 12 */,
1012         0       /* 13 */,
1013         1       /* 14 */,
1014         1       /* 15 */,
1015         1       /* 16 */,
1016         1       /* 17 */,
1017         2       /* 18/00-18/09 */,
1018         2       /* 18/10-18/19 */,
1019         2       /* 18/20-18/29 */,
1020         2       /* 18/30-18/39 */,
1021         2       /* 18/40-18/49 */,
1022         3       /* 18/50-18/59 */,
1023         3       /* 18/60-18/69 */,
1024         3       /* 18/70-18/79 */,
1025         3       /* 18/80-18/89 */,
1026         3       /* 18/90-18/99 */,
1027         4       /* 18/100-18/109 */,
1028         4       /* 18/110-18/119 */,
1029         5       /* 18/120-18/129 */,
1030         6       /* 18/130-18/139 */,
1031         6       /* 18/140-18/149 */,
1032         7       /* 18/150-18/159 */,
1033         7       /* 18/160-18/169 */,
1034         8       /* 18/170-18/179 */,
1035         8       /* 18/180-18/189 */,
1036         8       /* 18/190-18/199 */,
1037         9       /* 18/200-18/209 */,
1038         9       /* 18/210-18/219 */,
1039         9       /* 18/220+ */
1040 };
1041
1042
1043 /*!
1044  * 耐久による基本HP自然治癒値テーブル /
1045  * Stat Table (CON) -- extra 1/4-hitpoints per level (plus 128)
1046  */
1047 const byte adj_con_mhp[] =
1048 {
1049         128 + -8        /* 3 */,
1050         128 + -6        /* 4 */,
1051         128 + -4        /* 5 */,
1052         128 + -2        /* 6 */,
1053         128 + -1 /* 7 */,
1054         128 + 0 /* 8 */,
1055         128 + 0 /* 9 */,
1056         128 + 0 /* 10 */,
1057         128 + 0 /* 11 */,
1058         128 + 0 /* 12 */,
1059         128 + 0 /* 13 */,
1060         128 + 1 /* 14 */,
1061         128 + 1 /* 15 */,
1062         128 + 2 /* 16 */,
1063         128 + 3 /* 17 */,
1064         128 + 4 /* 18/00-18/09 */,
1065         128 + 5 /* 18/10-18/19 */,
1066         128 + 6 /* 18/20-18/29 */,
1067         128 + 7 /* 18/30-18/39 */,
1068         128 + 8 /* 18/40-18/49 */,
1069         128 + 9 /* 18/50-18/59 */,
1070         128 + 10  /* 18/60-18/69 */,
1071         128 + 11 /* 18/70-18/79 */,
1072         128 + 12 /* 18/80-18/89 */,
1073         128 + 14 /* 18/90-18/99 */,
1074         128 + 17         /* 18/100-18/109 */,
1075         128 + 20        /* 18/110-18/119 */,
1076         128 + 23        /* 18/120-18/129 */,
1077         128 + 26        /* 18/130-18/139 */,
1078         128 + 29        /* 18/140-18/149 */,
1079         128 + 32        /* 18/150-18/159 */,
1080         128 + 35        /* 18/160-18/169 */,
1081         128 + 38        /* 18/170-18/179 */,
1082         128 + 40        /* 18/180-18/189 */,
1083         128 + 42        /* 18/190-18/199 */,
1084         128 + 44        /* 18/200-18/209 */,
1085         128 + 46        /* 18/210-18/219 */,
1086         128 + 48        /* 18/220+ */
1087 };
1088
1089
1090 /*!
1091  * 魅力による魅了能力修正テーブル /
1092  * Stat Table (CHR) -- charm
1093  */
1094 const byte adj_chr_chm[] =
1095 {
1096         0       /* 3 */,
1097         0       /* 4 */,
1098         1       /* 5 */,
1099         2       /* 6 */,
1100         3       /* 7 */,
1101         4       /* 8 */,
1102         4       /* 9 */,
1103         5       /* 10 */,
1104         5       /* 11 */,
1105         6       /* 12 */,
1106         6       /* 13 */,
1107         7       /* 14 */,
1108         7       /* 15 */,
1109         8       /* 16 */,
1110         8       /* 17 */,
1111         9       /* 18/00-18/09 */,
1112         10      /* 18/10-18/19 */,
1113         12      /* 18/20-18/29 */,
1114         15      /* 18/30-18/39 */,
1115         18      /* 18/40-18/49 */,
1116         21      /* 18/50-18/59 */,
1117         24      /* 18/60-18/69 */,
1118         28      /* 18/70-18/79 */,
1119         32      /* 18/80-18/89 */,
1120         36      /* 18/90-18/99 */,
1121         39      /* 18/100-18/109 */,
1122         42      /* 18/110-18/119 */,
1123         45      /* 18/120-18/129 */,
1124         49      /* 18/130-18/139 */,
1125         53      /* 18/140-18/149 */,
1126         57      /* 18/150-18/159 */,
1127         61      /* 18/160-18/169 */,
1128         65      /* 18/170-18/179 */,
1129         69      /* 18/180-18/189 */,
1130         73      /* 18/190-18/199 */,
1131         77      /* 18/200-18/209 */,
1132         81      /* 18/210-18/219 */,
1133         85      /* 18/220+ */
1134 };
1135
1136 /*!
1137  * @brief 加速値による実質速度修正倍率テーブル /
1138  * This table allows quick conversion from "speed" to "energy"
1139  * @details
1140  * <pre>
1141  * The basic function WAS ((S>=110) ? (S-110) : (100 / (120-S)))
1142  * Note that table access is *much* quicker than computation.
1143  *
1144  * Note that the table has been changed at high speeds.  From
1145  * "Slow (-40)" to "Fast (+30)" is pretty much unchanged, but
1146  * at speeds above "Fast (+30)", one approaches an asymptotic
1147  * effective limit of 50 energy per current_world_ptr->game_turn.  This means that it
1148  * is relatively easy to reach "Fast (+30)" and get about 40
1149  * energy per current_world_ptr->game_turn, but then speed becomes very "expensive",
1150  * and you must get all the way to "Fast (+50)" to reach the
1151  * point of getting 45 energy per current_world_ptr->game_turn.  After that point,
1152  * furthur increases in speed are more or less pointless,
1153  * except to balance out heavy p_ptr->inventory_list.
1154  *
1155  * Note that currently the fastest monster is "Fast (+30)".
1156  *
1157  * It should be possible to lower the energy threshhold from
1158  * 100 units to 50 units, though this may interact badly with
1159  * the (compiled out) small random energy boost code.  It may
1160  * also tend to cause more "clumping" at high speeds.
1161  * </pre>
1162  */
1163 const byte extract_energy[200] =
1164 {
1165         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
1166         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
1167         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
1168         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
1169         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
1170         /* Slow */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
1171         /* S-50 */     1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
1172         /* S-40 */     2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
1173         /* S-30 */     2,  2,  2,  2,  2,  2,  2,  3,  3,  3,
1174         /* S-20 */     3,  3,  3,  3,  3,  4,  4,  4,  4,  4,
1175         /* S-10 */     5,  5,  5,  5,  6,  6,  7,  7,  8,  9,
1176         /* Norm */    10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1177         /* F+10 */    20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1178         /* F+20 */    30, 31, 32, 33, 34, 35, 36, 36, 37, 37,
1179         /* F+30 */    38, 38, 39, 39, 40, 40, 40, 41, 41, 41,
1180         /* F+40 */    42, 42, 42, 43, 43, 43, 44, 44, 44, 44,
1181         /* F+50 */    45, 45, 45, 45, 45, 46, 46, 46, 46, 46,
1182         /* F+60 */    47, 47, 47, 47, 47, 48, 48, 48, 48, 48,
1183         /* F+70 */    49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1184         /* Fast */    49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1185 };
1186
1187 /*!
1188  * 魔法領域フラグ管理テーブル /
1189  * Zangband uses this array instead of the spell flags table, as there
1190  * are 5 realms of magic, each with 4 spellbooks and 8 spells per book -- TY
1191  */
1192 const u32b fake_spell_flags[4]=
1193 {
1194         0x000000ff,
1195         0x0000ff00,
1196         0x00ff0000,
1197         0xff000000
1198 };
1199
1200 #ifdef JP
1201 /*!
1202  * 領域魔法名称
1203  */
1204 const concptr realm_names[] =
1205 {
1206         "魔法なし",
1207         "生命",
1208         "仙術",
1209         "自然",
1210         "カオス",
1211         "暗黒",
1212         "トランプ",
1213         "秘術",
1214         "匠",
1215         "悪魔",
1216         "破邪",
1217         "不明",
1218         "不明",
1219         "不明",
1220         "不明",
1221         "不明",
1222         "歌",
1223         "武芸",
1224         "呪術",
1225         "不明"
1226 };
1227 #endif
1228
1229 #ifdef JP
1230 const concptr E_realm_names[]
1231 #else
1232 const concptr realm_names[]
1233 #endif
1234 = {
1235         "none",
1236         "Life",
1237         "Sorcery",
1238         "Nature",
1239         "Chaos",
1240         "Death",
1241         "Trump",
1242         "Arcane",
1243         "Craft",
1244         "Daemon",
1245         "Crusade",
1246         "unknown",
1247         "unknown",
1248         "unknown",
1249         "unknown",
1250         "unknown",
1251         "Music",
1252         "Kendo",
1253         "Hex",
1254         "unknown"
1255 };
1256
1257 /*!
1258  * @brief 色名称テーブル / Hack -- the "basic" color names (see "TERM_xxx")
1259  */
1260 const concptr color_names[16] =
1261 {
1262 #ifdef JP
1263         "黒",
1264         "白",
1265         "青灰色",
1266         "オレンジ",
1267         "赤",
1268         "緑",
1269         "青",
1270         "琥珀色",
1271         "灰色",
1272         "明青灰色",
1273         "紫",
1274         "黄",
1275         "明るい赤",
1276         "明るい緑",
1277         "明るい青",
1278         "明琥珀色",
1279 #else
1280         "Dark",
1281         "White",
1282         "Slate",
1283         "Orange",
1284         "Red",
1285         "Green",
1286         "Blue",
1287         "Umber",
1288         "Light Dark",
1289         "Light Slate",
1290         "Violet",
1291         "Yellow",
1292         "Light Red",
1293         "Light Green",
1294         "Light Blue",
1295         "Light Umber",
1296 #endif
1297
1298 };
1299
1300
1301 /*!
1302  * @brief 能力値テーブル / Abbreviations of healthy stats
1303  */
1304 const concptr stat_names[6] =
1305 {
1306 #ifdef JP
1307         "腕力 :", "知能 :", "賢さ :", "器用 :", "耐久 :", "魅力 :"
1308 #else
1309         "STR : ", "INT : ", "WIS : ", "DEX : ", "CON : ", "CHR : "
1310 #endif
1311
1312 };
1313
1314 /*!
1315  * @brief 能力値テーブル(能力低下時) / Abbreviations of damaged stats
1316  */
1317 const concptr stat_names_reduced[6] =
1318 {
1319 #ifdef JP
1320         "腕力x:", "知能x:", "賢さx:", "器用x:", "耐久x:", "魅力x:"
1321 #else
1322         "Str : ", "Int : ", "Wis : ", "Dex : ", "Con : ", "Chr : "
1323 #endif
1324
1325 };
1326
1327
1328 /*!
1329  * @brief サブウィンドウ名称テーブル
1330  * @details
1331  * <pre>
1332  * Certain "screens" always use the main screen, including News, Birth,
1333  * Dungeon, Tomb-stone, High-scores, Macros, Colors, Visuals, Options.
1334  *
1335  * Later, special flags may allow sub-windows to "steal" stuff from the
1336  * main window, including File dump (help), File dump (artifacts, uniques),
1337  * Character screen, Small scale map, Previous Messages, Store screen, etc.
1338  *
1339  * The "ctrl-i" (tab) command flips the "Display inven/equip" and "Display
1340  * equip/inven" flags for all windows.
1341  *
1342  * The "ctrl-g" command (or pseudo-command) should perhaps grab a snapshot
1343  * of the main screen into any interested windows.
1344  * </pre>
1345  */
1346 const concptr window_flag_desc[32] =
1347 {
1348         _("持ち物/装備一覧", "Display inven/equip"),
1349         _("装備/持ち物一覧", "Display equip/inven"),
1350         _("呪文一覧", "Display spell list"),
1351         _("キャラクタ情報", "Display character"),
1352         _("視界内のモンスター表示", "Display monsters in sight"),
1353         NULL,
1354         _("メッセージ", "Display messages"),
1355         _("ダンジョン全体図", "Display overhead view"),
1356         _("モンスターの思い出", "Display monster recall"),
1357         _("アイテムの詳細", "Display object recall"),
1358         _("自分の周囲を表示", "Display dungeon view"),
1359         _("記念撮影", "Display snap-shot"),
1360         NULL,
1361         NULL,
1362         _("ボーグ・メッセージ", "Display borg messages"),
1363         _("ボーグ・ステータス", "Display borg status"),
1364         NULL,
1365         NULL,
1366         NULL,
1367         NULL,
1368         NULL,
1369         NULL,
1370         NULL,
1371         NULL,
1372         NULL,
1373         NULL,
1374         NULL,
1375         NULL,
1376         NULL,
1377         NULL,
1378         NULL,
1379         NULL
1380 };
1381
1382
1383 /*!
1384  * @brief アイテムの価値記述テーブル /
1385  * Table of game-generated inscriptions (indexed by the defines in defines.h). -- RG
1386  */
1387 const concptr game_inscriptions[] =
1388 {
1389         NULL,            /* FEEL_NONE */
1390 #ifdef JP
1391         "壊れている",    /* FEEL_BROKEN */
1392         "恐ろしい",      /* FEEL_TERRIBLE */
1393         "無価値",        /* FEEL_WORTHLESS */
1394         "呪われている",  /* FEEL_CURSED */
1395         "上質以上",      /* FEEL_UNCURSED */
1396         "並",            /* FEEL_AVERAGE */
1397         "上質",          /* FEEL_GOOD */
1398         "高級品",        /* FEEL_EXCELLENT */
1399         "特別製",        /* FEEL_SPECIAL */
1400 #else
1401         "broken",        /* FEEL_BROKEN */
1402         "terrible",      /* FEEL_TERRIBLE */
1403         "worthless",     /* FEEL_WORTHLESS */
1404         "cursed",        /* FEEL_CURSED */
1405         "uncursed",      /* FEEL_UNCURSED */
1406         "average",       /* FEEL_AVERAGE */
1407         "good",          /* FEEL_GOOD */
1408         "excellent",     /* FEEL_EXCELLENT */
1409         "special",       /* FEEL_SPECIAL */
1410 #endif
1411
1412 };
1413
1414 /*!
1415  * @brief シンボル解説テーブル /
1416  * The table of "symbol info" -- each entry is a string of the form "X:desc" where "X" is the trigger, and "desc" is the "info".
1417  */
1418 const concptr ident_info[] =
1419 {
1420 #ifdef JP
1421         " :暗闇",
1422         "!:薬, オイル",
1423         "\":アミュレット, 頸飾り",
1424         "#:壁(隠しドア)/植物/気体",
1425         "$:財宝(金か宝石)",
1426         "%:鉱脈(溶岩か石英)",
1427         "&:箱",
1428         "':開いたドア",
1429         "(:軟らかい防具",
1430         "):盾",
1431         "*:財宝を含んだ鉱脈または球形の怪物",
1432         "+:閉じたドア",
1433         ",:食べ物, おばけキノコ",
1434         "-:魔法棒, ロッド",
1435         ".:床",
1436         "/:竿状武器(アックス/パイク/等)",
1437         "0:博物館の入口",
1438         "1:雑貨屋の入口",
1439         "2:防具屋の入口",
1440         "3:武器専門店の入口",
1441         "4:寺院の入口",
1442         "5:錬金術の店の入口",
1443         "6:魔法の店の入口",
1444         "7:ブラックマーケットの入口",
1445         "8:我が家の入口",
1446         "9:書店の入口",
1447         "::岩石",
1448         ";:回避の彫像/爆発のルーン",
1449         "<:上り階段",
1450         "=:指輪",
1451         ">:下り階段",
1452         "?:巻物",
1453         "@:プレイヤー",
1454         "A:天使",
1455         "B:鳥",
1456         "C:犬",
1457         "D:古代ドラゴン/ワイアーム",
1458         "E:エレメンタル",
1459         "F:トンボ",
1460         "G:ゴースト",
1461         "H:雑種",
1462         "I:昆虫",
1463         "J:ヘビ",
1464         "K:キラー・ビートル",
1465         "L:リッチ",
1466         "M:多首の爬虫類",
1467         "N:謎の生物",
1468         "O:オーガ",
1469         "P:巨大人間型生物",
1470         "Q:クイルスルグ(脈打つ肉塊)",
1471         "R:爬虫類/両生類",
1472         "S:蜘蛛/サソリ/ダニ",
1473         "T:トロル",
1474         "U:上級デーモン",
1475         "V:バンパイア",
1476         "W:ワイト/レイス/等",
1477         "X:ゾーン/ザレン/等",
1478         "Y:イエティ",
1479         "Z:ハウンド",
1480         "[:堅いアーマー",
1481         "\\:鈍器(メイス/ムチ/等)",
1482         "]:種々の防具",
1483         "^:トラップ",
1484         "_:杖",
1485         "`:人形,彫像",
1486         "a:アリ",
1487         "b:コウモリ",
1488         "c:ムカデ",
1489         "d:ドラゴン",
1490         "e:目玉",
1491         "f:ネコ",
1492         "g:ゴーレム",
1493         "h:ホビット/エルフ/ドワーフ",
1494         "i:ベトベト",
1495         "j:ゼリー",
1496         "k:コボルド",
1497         "l:水棲生物",
1498         "m:モルド",
1499         "n:ナーガ",
1500         "o:オーク",
1501         "p:人間",
1502         "q:四足獣",
1503         "r:ネズミ",
1504         "s:スケルトン",
1505         "t:町の人",
1506         "u:下級デーモン",
1507         "v:ボルテックス",
1508         "w:イモムシ/大群",
1509         /* "x:unused", */
1510         "y:イーク",
1511         "z:ゾンビ/ミイラ",
1512         "{:飛び道具の弾(矢/弾)",
1513         "|:刀剣類(ソード/ダガー/等)",
1514         "}:飛び道具(弓/クロスボウ/スリング)",
1515         "~:水/溶岩流(種々のアイテム)",
1516 #else
1517         " :A dark grid",
1518         "!:A potion (or oil)",
1519         "\":An amulet (or necklace)",
1520         "#:A wall (or secret door) / a plant / a gas",
1521         "$:Treasure (gold or gems)",
1522         "%:A vein (magma or quartz)",
1523         "&:A chest",
1524         "':An open door",
1525         "(:Soft armor",
1526         "):A shield",
1527         "*:A vein with treasure or a ball monster",
1528         "+:A closed door",
1529         ",:Food (or mushroom patch)",
1530         "-:A wand (or rod)",
1531         ".:Floor",
1532         "/:A polearm (Axe/Pike/etc)",
1533         "0:Entrance to Museum",
1534         "1:Entrance to General Store",
1535         "2:Entrance to Armory",
1536         "3:Entrance to Weaponsmith",
1537         "4:Entrance to Temple",
1538         "5:Entrance to Alchemy shop",
1539         "6:Entrance to Magic store",
1540         "7:Entrance to Black Market",
1541         "8:Entrance to your home",
1542         "9:Entrance to the bookstore",
1543         "::Rubble",
1544         ";:A glyph of warding / an explosive rune",
1545         "<:An up staircase",
1546         "=:A ring",
1547         ">:A down staircase",
1548         "?:A scroll",
1549         "@:You",
1550         "A:Angel",
1551         "B:Bird",
1552         "C:Canine",
1553         "D:Ancient Dragon/Wyrm",
1554         "E:Elemental",
1555         "F:Dragon Fly",
1556         "G:Ghost",
1557         "H:Hybrid",
1558         "I:Insect",
1559         "J:Snake",
1560         "K:Killer Beetle",
1561         "L:Lich",
1562         "M:Multi-Headed Reptile",
1563         "N:Mystery Living",
1564         "O:Ogre",
1565         "P:Giant Humanoid",
1566         "Q:Quylthulg (Pulsing Flesh Mound)",
1567         "R:Reptile/Amphibian",
1568         "S:Spider/Scorpion/Tick",
1569         "T:Troll",
1570         "U:Major Demon",
1571         "V:Vampire",
1572         "W:Wight/Wraith/etc",
1573         "X:Xorn/Xaren/etc",
1574         "Y:Yeti",
1575         "Z:Zephyr Hound",
1576         "[:Hard armor",
1577         "\\:A hafted weapon (mace/whip/etc)",
1578         "]:Misc. armor",
1579         "^:A trap",
1580         "_:A staff",
1581         "`:A figurine or statue",
1582         "a:Ant",
1583         "b:Bat",
1584         "c:Centipede",
1585         "d:Dragon",
1586         "e:Floating Eye",
1587         "f:Feline",
1588         "g:Golem",
1589         "h:Hobbit/Elf/Dwarf",
1590         "i:Icky Thing",
1591         "j:Jelly",
1592         "k:Kobold",
1593         "l:Aquatic monster",
1594         "m:Mold",
1595         "n:Naga",
1596         "o:Orc",
1597         "p:Person/Human",
1598         "q:Quadruped",
1599         "r:Rodent",
1600         "s:Skeleton",
1601         "t:Townsperson",
1602         "u:Minor Demon",
1603         "v:Vortex",
1604         "w:Worm/Worm-Mass",
1605         /* "x:unused", */
1606         "y:Yeek",
1607         "z:Zombie/Mummy",
1608         "{:A missile (arrow/bolt/shot)",
1609         "|:An edged weapon (sword/dagger/etc)",
1610         "}:A launcher (bow/crossbow/sling)",
1611         "~:Fluid terrain (or miscellaneous item)",
1612 #endif
1613
1614         NULL
1615 };
1616
1617
1618 /*!
1619  * @brief 地形状態フラグテーブル /
1620  * The table of features' actions
1621  */
1622 const byte feature_action_flags[FF_FLAG_MAX] =
1623 {
1624         0, /* LOS */
1625         0, /* PROJECT */
1626         0, /* MOVE */
1627         0, /* PLACE */
1628         0, /* DROP */
1629         0, /* SECRET */
1630         0, /* NOTICE */
1631         0, /* REMEMBER */
1632         0, /* OPEN */
1633         0, /* CLOSE */
1634         FAF_CRASH_GLASS, /* BASH */
1635         0, /* SPIKE */
1636         FAF_DESTROY, /* DISARM */
1637         0, /* STORE */
1638         FAF_DESTROY | FAF_CRASH_GLASS, /* TUNNEL */
1639         0, /* MAY_HAVE_GOLD */
1640         0, /* HAS_GOLD */
1641         0, /* HAS_ITEM */
1642         0, /* DOOR */
1643         0, /* TRAP */
1644         0, /* STAIRS */
1645         0, /* GLYPH */
1646         0, /* LESS */
1647         0, /* MORE */
1648         0, /* RUN */
1649         0, /* FLOOR */
1650         0, /* WALL */
1651         0, /* PERMANENT */
1652         0, /* INNER */
1653         0, /* OUTER */
1654         0, /* SOLID */
1655         0, /* HIT_TRAP */
1656
1657         0, /* BRIDGE */
1658         0, /* RIVER */
1659         0, /* LAKE */
1660         0, /* BRIDGED */
1661         0, /* COVERED */
1662         0, /* GLOW */
1663         0, /* ENSECRET */
1664         0, /* WATER */
1665         0, /* LAVA */
1666         0, /* SHALLOW */
1667         0, /* DEEP */
1668         0, /* FILLED */
1669         FAF_DESTROY | FAF_CRASH_GLASS, /* HURT_ROCK */
1670         0, /* HURT_FIRE */
1671         0, /* HURT_COLD */
1672         0, /* HURT_ACID */
1673         0, /* ICE */
1674         0, /* ACID */
1675         0, /* OIL */
1676         0, /* XXX04 */
1677         0, /* CAN_CLIMB */
1678         0, /* CAN_FLY */
1679         0, /* CAN_SWIM */
1680         0, /* CAN_PASS */
1681         0, /* CAN_OOZE */
1682         0, /* CAN_DIG */
1683         0, /* HIDE_ITEM */
1684         0, /* HIDE_SNEAK */
1685         0, /* HIDE_SWIM */
1686         0, /* HIDE_DIG */
1687         0, /* KILL_HUGE */
1688         0, /* KILL_MOVE */
1689
1690         0, /* PICK_TRAP */
1691         0, /* PICK_DOOR */
1692         0, /* ALLOC */
1693         0, /* CHEST */
1694         0, /* DROP_1D2 */
1695         0, /* DROP_2D2 */
1696         0, /* DROP_GOOD */
1697         0, /* DROP_GREAT */
1698         0, /* HURT_POIS */
1699         0, /* HURT_ELEC */
1700         0, /* HURT_WATER */
1701         0, /* HURT_BWATER */
1702         0, /* USE_FEAT */
1703         0, /* GET_FEAT */
1704         0, /* GROUND */
1705         0, /* OUTSIDE */
1706         0, /* EASY_HIDE */
1707         0, /* EASY_CLIMB */
1708         0, /* MUST_CLIMB */
1709         0, /* TREE */
1710         0, /* NEED_TREE */
1711         0, /* BLOOD */
1712         0, /* DUST */
1713         0, /* SLIME */
1714         0, /* PLANT */
1715         0, /* XXX2 */
1716         0, /* INSTANT */
1717         0, /* EXPLODE */
1718         0, /* TIMED */
1719         0, /* ERUPT */
1720         0, /* STRIKE */
1721         0, /* SPREAD */
1722
1723         0, /* SPECIAL */
1724         FAF_DESTROY | FAF_NO_DROP | FAF_CRASH_GLASS, /* HURT_DISI */
1725         0, /* QUEST_ENTER */
1726         0, /* QUEST_EXIT */
1727         0, /* QUEST */
1728         0, /* SHAFT */
1729         0, /* MOUNTAIN */
1730         0, /* BLDG */
1731         0, /* MINOR_GLYPH */
1732         0, /* PATTERN */
1733         0, /* TOWN */
1734         0, /* ENTRANCE */
1735         0, /* MIRROR */
1736         0, /* UNPERM */
1737         0, /* TELEPORTABLE */
1738         0, /* CONVERT */
1739         0, /* GLASS */
1740 };
1741