3 * @brief ゲーム情報テーブル / Angband Tables
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.
19 * キーパッドの方向を南から反時計回り順に列挙 / Global array for looping through the "keypad directions"
21 const POSITION ddd[9] =
22 { 2, 8, 6, 4, 3, 1, 9, 7, 5 };
25 * dddで定義した順にベクトルのX軸成分を定義 / Global arrays for converting "keypad direction" into offsets
27 const POSITION ddx[10] =
28 { 0, -1, 0, 1, -1, 0, 1, -1, 0, 1 };
31 * dddで定義した順にベクトルのY軸成分を定義 / Global arrays for converting "keypad direction" into offsets
33 const POSITION ddy[10] =
34 { 0, 1, 1, 1, 0, 0, 0, -1, -1, -1 };
37 * ddd越しにベクトルのX軸成分を定義 / Global arrays for optimizing "ddx[ddd[i]]" and "ddy[ddd[i]]"
39 const POSITION ddx_ddd[9] =
40 { 0, 0, 1, -1, 1, -1, 1, -1, 0 };
43 * ddd越しにベクトルのY軸成分を定義 / Global arrays for optimizing "ddx[ddd[i]]" and "ddy[ddd[i]]"
45 const POSITION ddy_ddd[9] =
46 { 1, -1, 0, 0, 1, 1, -1, -1, 0 };
50 * キーパッドの円環状方向配列 / Circular keypad direction array
52 const POSITION cdd[8] =
53 { 2, 3, 6, 9, 8, 7, 4, 1 };
56 * cdd越しにベクトルのX軸成分を定義 / Global arrays for optimizing "ddx[cdd[i]]" and "ddy[cdd[i]]"
58 const POSITION ddx_cdd[8] =
59 { 0, 1, 1, 1, 0, -1, -1, -1 };
62 * cdd越しにベクトルのY軸成分を定義 / Global arrays for optimizing "ddx[cdd[i]]" and "ddy[cdd[i]]"
64 const POSITION ddy_cdd[8] =
65 { 1, 1, 0, -1, -1, -1, 0, 1 };
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
74 const char hexsym[16] =
76 '0', '1', '2', '3', '4', '5', '6', '7',
77 '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
83 * Global array for converting numbers to a logical list symbol
85 const char listsym[] =
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',
98 * Encode the screen colors
100 const concptr color_char = "dwsorgbuDWvyRGBU";
104 * 知力/賢さによるレベル毎の習得可能魔法数テーブル
105 * Stat Table (INT/WIS) -- Number of half-spells per level
107 const byte adj_mag_study[] =
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 */,
152 * Stat Table (INT/WIS) -- extra 1/4-mana-points per level
154 const byte adj_mag_mana[] =
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 */,
198 * 知力/賢さによる最低魔法失敗率テーブル
199 * Stat Table (INT/WIS) -- Minimum failure rate (percentage)
201 const byte adj_mag_fail[] =
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 */,
245 * 知力/賢さによる魔法失敗率修正テーブル
246 * Stat Table (INT/WIS) -- Various things
248 const byte adj_mag_stat[] =
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 */,
293 * Stat Table (CHR) -- payment percentages
295 const byte adj_chr_gold[] =
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 */,
340 * Stat Table (INT) -- Magic devices
342 const byte adj_int_dev[] =
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 */,
387 * Stat Table (WIS) -- Saving throw
389 const byte adj_wis_sav[] =
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 */,
434 * Stat Table (DEX) -- disarming
436 const byte adj_dex_dis[] =
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 */,
481 * Stat Table (INT) -- disarming
483 const byte adj_int_dis[] =
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 */,
528 * Stat Table (DEX) -- bonus to ac (plus 128)
530 const byte adj_dex_ta[] =
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+ */
575 * Stat Table (STR) -- bonus to dam (plus 128)
577 const byte adj_str_td[] =
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+ */
622 * Stat Table (DEX) -- bonus to hit (plus 128)
624 const byte adj_dex_th[] =
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+ */
669 * Stat Table (STR) -- bonus to hit (plus 128)
671 const byte adj_str_th[] =
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+ */
716 * Stat Table (STR) -- weight limit in deca-pounds
718 const byte adj_str_wgt[] =
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 */,
763 * Stat Table (STR) -- weapon weight limit in pounds
765 const byte adj_str_hold[] =
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 */,
810 * Stat Table (STR) -- digging value
812 const byte adj_str_dig[] =
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 */,
857 * Stat Table (STR) -- help index into the "blow" table
859 const byte adj_str_blow[] =
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 */,
903 * 器用さによる攻撃回数インデックステーブル
904 * Stat Table (DEX) -- index into the "blow" table
906 const byte adj_dex_blow[] =
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 */,
950 * 器用さによる盗難防止&体当たり成功判定修正テーブル
951 * Stat Table (DEX) -- chance of avoiding "theft" and "falling"
953 const byte adj_dex_safe[] =
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 */,
997 * 耐久による基本HP自然治癒値テーブル /
998 * Stat Table (CON) -- base regeneration rate
1000 const byte adj_con_fix[] =
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 */,
1044 * 耐久による基本HP自然治癒値テーブル /
1045 * Stat Table (CON) -- extra 1/4-hitpoints per level (plus 128)
1047 const byte adj_con_mhp[] =
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+ */
1092 * Stat Table (CHR) -- charm
1094 const byte adj_chr_chm[] =
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 */,
1140 * This table is used to help calculate the number of blows the player can
1141 * make in a single round of attacks (one player current_world_ptr->game_turn) with a normal weapon.
1144 * This number ranges from a single blow/round for weak players to up to six
1145 * blows/round for powerful warriors.
1147 * Note that certain artifacts and ego-items give "bonus" blows/round.
1149 * First, from the player class, we extract some values:
1151 * Warrior num = 6; mul = 5; div = MAX(70, weapon_weight);
1152 * Berserker num = 6; mul = 7; div = MAX(70, weapon_weight);
1153 * Mage num = 3; mul = 2; div = MAX(100, weapon_weight);
1154 * Priest num = 5; mul = 3; div = MAX(100, weapon_weight);
1155 * Mindcrafter num = 5; mul = 3; div = MAX(100, weapon_weight);
1156 * Rogue num = 5; mul = 3; div = MAX(40, weapon_weight);
1157 * Ranger num = 5; mul = 4; div = MAX(70, weapon_weight);
1158 * Paladin num = 5; mul = 4; div = MAX(70, weapon_weight);
1159 * Weaponsmith num = 5; mul = 5; div = MAX(150, weapon_weight);
1160 * Warrior-Mage num = 5; mul = 3; div = MAX(70, weapon_weight);
1161 * Chaos Warrior num = 5; mul = 4; div = MAX(70, weapon_weight);
1162 * Monk num = 5; mul = 3; div = MAX(60, weapon_weight);
1163 * Tourist num = 4; mul = 3; div = MAX(100, weapon_weight);
1164 * Imitator num = 5; mul = 4; div = MAX(70, weapon_weight);
1165 * Beastmaster num = 5; mul = 3; div = MAX(70, weapon_weight);
1166 * Cavalry(Ride) num = 5; mul = 4; div = MAX(70, weapon_weight);
1167 * Cavalry(Walk) num = 5; mul = 3; div = MAX(100, weapon_weight);
1168 * Sorcerer num = 1; mul = 1; div = MAX(1, weapon_weight);
1169 * Archer num = 4; mul = 2; div = MAX(70, weapon_weight);
1170 * Magic eater num = 4; mul = 2; div = MAX(70, weapon_weight);
1171 * ForceTrainer num = 4; mul = 2; div = MAX(60, weapon_weight);
1172 * Mirror Master num = 3; mul = 3; div = MAX(100, weapon_weight);
1173 * Ninja num = 4; mul = 1; div = MAX(20, weapon_weight);
1175 * To get "P", we look up the relevant "adj_str_blow[]" (see above),
1176 * multiply it by "mul", and then divide it by "div".
1177 * Increase P by 1 if you wield a weapon two-handed.
1178 * Decrease P by 1 if you are a Ninja.
1180 * To get "D", we look up the relevant "adj_dex_blow[]" (see above),
1182 * The player gets "blows_table[P][D]" blows/round, as shown below,
1183 * up to a maximum of "num" blows/round, plus any "bonus" blows/round.
1186 const byte blows_table[12][12] =
1189 /* 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11+ */
1190 /* 3 10 15 /10 /40 /60 /80 /100 /120 /140 /160 /180 */
1191 /* 0 */{ 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4 },
1192 /* 1 */{ 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4 },
1193 /* 2 */{ 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5 },
1194 /* 3 */{ 1, 1, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5 },
1195 /* 4 */{ 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 5 },
1196 /* 5 */{ 1, 1, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6 },
1197 /* 6 */{ 1, 1, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6 },
1198 /* 7 */{ 1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6 },
1199 /* 8 */{ 1, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6 },
1200 /* 9 */{ 1, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6 },
1201 /* 10*/{ 2, 2, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6 },
1202 /*11+*/{ 2, 2, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6 },
1208 * @brief 加速値による実質速度修正倍率テーブル /
1209 * This table allows quick conversion from "speed" to "energy"
1212 * The basic function WAS ((S>=110) ? (S-110) : (100 / (120-S)))
1213 * Note that table access is *much* quicker than computation.
1215 * Note that the table has been changed at high speeds. From
1216 * "Slow (-40)" to "Fast (+30)" is pretty much unchanged, but
1217 * at speeds above "Fast (+30)", one approaches an asymptotic
1218 * effective limit of 50 energy per current_world_ptr->game_turn. This means that it
1219 * is relatively easy to reach "Fast (+30)" and get about 40
1220 * energy per current_world_ptr->game_turn, but then speed becomes very "expensive",
1221 * and you must get all the way to "Fast (+50)" to reach the
1222 * point of getting 45 energy per current_world_ptr->game_turn. After that point,
1223 * furthur increases in speed are more or less pointless,
1224 * except to balance out heavy p_ptr->inventory_list.
1226 * Note that currently the fastest monster is "Fast (+30)".
1228 * It should be possible to lower the energy threshhold from
1229 * 100 units to 50 units, though this may interact badly with
1230 * the (compiled out) small random energy boost code. It may
1231 * also tend to cause more "clumping" at high speeds.
1234 const byte extract_energy[200] =
1236 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1237 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1238 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1239 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1240 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1241 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1242 /* S-50 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1243 /* S-40 */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1244 /* S-30 */ 2, 2, 2, 2, 2, 2, 2, 3, 3, 3,
1245 /* S-20 */ 3, 3, 3, 3, 3, 4, 4, 4, 4, 4,
1246 /* S-10 */ 5, 5, 5, 5, 6, 6, 7, 7, 8, 9,
1247 /* Norm */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1248 /* F+10 */ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1249 /* F+20 */ 30, 31, 32, 33, 34, 35, 36, 36, 37, 37,
1250 /* F+30 */ 38, 38, 39, 39, 40, 40, 40, 41, 41, 41,
1251 /* F+40 */ 42, 42, 42, 43, 43, 43, 44, 44, 44, 44,
1252 /* F+50 */ 45, 45, 45, 45, 45, 46, 46, 46, 46, 46,
1253 /* F+60 */ 47, 47, 47, 47, 47, 48, 48, 48, 48, 48,
1254 /* F+70 */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1255 /* Fast */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1268 const player_sex sex_info[MAX_SEXES] =
1295 * {STR,INT,WIS,DEX,CON,CHR},
1296 * r_dis, r_dev, r_sav, r_stl, r_srh, r_fos, r_thn, r_thb,
1305 const player_race race_info[MAX_RACES] =
1313 { 0, 0, 0, 0, 0, 0 },
1314 0, 0, 0, 0, 0, 10, 0, 0,
1328 { -1, 1, 1, 1, -1, 1 },
1329 2, 3, 2, 1, 6, 11, -1, 5,
1343 { -1, 2, 0, 1, -2, 2 },
1344 5, 6, 4, 2, 8, 12, -5, 15,
1359 { -2, 1, 1, 3, 2, 1 },
1360 15, 12, 10, 5, 12, 15, -10, 20,
1374 { -1, 2, 0, 2, 1, -1 },
1375 10, 8, 7, 3, 6, 13, -8, 12,
1389 { 2, -2, 2, -2, 2, -1 },
1390 2, 7, 6, -1, 7, 10, 15, 0,
1404 { 2, -1, 0, 0, 1, -2 },
1405 -3, -3, -2, -1, 0, 7, 12, -5,
1419 { 4, -4, -1, -3, 3, -3 },
1420 -5, -8, -5, -2, -1, 5, 20, -10,
1434 { 1, 2, 2, 2, 3, 2 },
1435 4, 5, 3, 2, 3, 13, 15, 10,
1449 { 1, 3, -1, 3, 1, 3 },
1450 4, 13, 12, 4, 3, 14, 10, 25,
1464 { 3, -2, -1, 1, 2, 0 },
1465 -2, -10, 2, -1, 1, 7, 12, 10,
1479 { 3, -2, 0, -1, 3, -2 },
1480 -3, -5, -3, -2, -1, 5, 20, 0,
1494 { 4, -2, -2, -2, 3, -2 },
1495 -6, -8, -3, -2, -1, 5, 25, 5,
1509 { 5, 1, 2, -2, 3, 1 },
1510 -5, 5, 1, -2, 1, 8, 25, 0,
1524 { 4, -3, -2, -3, 4, -3 },
1525 -4, -5, -3, -2, -2, 5, 20, 12,
1539 { -2, 1, 1, 1, -2, -4 },
1540 2, 4, 6, 3, 5, 15, -5, -5,
1554 { 2, -1, -1, 1, 2, -1 },
1555 10, 5, 3, 0, -1, 10, 5, 5,
1569 { 1, -1, 0, 1, 0, -2 },
1570 -2, -3, -1, -1, 1, 8, 10, -8,
1584 { 1, -1, 2, 0, 2, -2 },
1585 3, 5, 6, 1, 5, 10, 9, 0,
1599 { -1, 3, 2, 2, -2, 1 },
1600 5, 10, 12, 3, 8, 12, -5, 10,
1614 { 2, 1, 1, 1, 2, -1 },
1615 -2, 5, 2, 0, 1, 10, 5, 5,
1629 { -3, 4, 4, 0, -2, -3 },
1630 10, 15, 9, 2, 5, 12, -10, -5,
1644 { 0, -1, -1, 1, 2, -1 },
1645 -3, 2, -1, 1, -1, 10, 5, -5,
1659 { 4, -5, -5, -2, 4, -2 },
1660 -5, -5, 6, -1, -1, 8, 20, 0,
1674 { 0, 1, -2, 0, 1, -2 },
1675 -5, 0, 3, -1, -1, 8, 10, 0,
1689 { 2, -6, -6, 1, 4, -3 },
1690 -5, -5, 5, -1, -1, 5, 15, 0,
1704 { 3, 3, -1, -1, 1, 2 },
1705 4, 8, 6, 4, 1, 8, 5, 0,
1719 { -5, 4, -1, 2, 0, -3 },
1720 10, 15, 12, 5, 5, 14, -15, -5,
1734 { -4, 3, 3, 3, -2, 2 },
1735 10, 8, 6, 4, 10, 10, -12, 0,
1749 { 2, -2, -1, -1, 2, -2 },
1750 -5, -2, -1, -1, -1, 5, 12, 5,
1763 { 2, 0, 2, -3, 2, 0 },
1764 -5, 2, 5, -1, 0, 9, 15, -5,
1778 { 2, 0, 4, 1, 2, 3 },
1779 0, 12, 8, 2, 2, 11, 10, 10,
1795 { 4, 2, -10, 2, 3, -5 },
1796 -3, 12, 15, -2, 1, 8, 20, 0,
1810 { 1, 2, 2, 2, 3, 2 },
1811 4, 5, 3, 2, 3, 13, 15, 10,
1824 {-2, 2, 2, 1, -1, 0 },
1825 7, 8, 0, 6, 12, 15, -10, -5,
1839 { 0, -1, -1, 1, 2, 3 },
1840 -2, 5, 5, 5, -2, 6, 0, -5,
1854 { 4, -5, -5, 0, 4, -2 },
1855 0, -5, 0, -2, 3, 14, 20, 10,
1869 { -1, 0, 2, 1, -1, 1},
1870 2, 3, 2, 1, 6, 11, -1, 5,
1888 * {STR,INT,WIS,DEX,CON,CHR},
1889 * c_dis, c_dev, c_sav, c_stl, c_srh, c_fos, c_thn, c_thb,
1890 * x_dis, x_dev, x_sav, x_stl, x_srh, x_fos, x_thn, x_thb,
1891 * HD, Exp, pet_upkeep_div
1894 const player_class class_info[MAX_CLASS] =
1902 { 4, -2, -2, 2, 2, -1},
1903 25, 18, 31, 1, 14, 2, 70, 55,
1904 12, 7, 10, 0, 0, 0, 30, 30,
1914 {-4, 3, 0, 1, -2, 1},
1915 30, 40, 38, 3, 16, 20, 34, 20,
1916 7, 15, 11, 0, 0, 0, 6, 7,
1926 {-1, -3, 3, -1, 0, 2},
1927 25, 35, 40, 2, 16, 8, 48, 35,
1928 7, 11, 12, 0, 0, 0, 13, 11,
1938 { 2, 1, -2, 3, 1, -1},
1939 45, 37, 36, 5, 32, 24, 60, 66,
1940 15, 12, 10, 0, 0, 0, 21, 18,
1950 { 2, 2, 0, 1, 1, 1},
1951 30, 37, 36, 3, 24, 16, 56, 72,
1952 8, 11, 10, 0, 0, 0, 18, 28,
1962 { 3, -3, 1, 0, 2, 2},
1963 20, 24, 34, 1, 12, 2, 68, 40,
1964 7, 10, 11, 0, 0, 0, 21, 18,
1974 { 2, 2, 0, 1, 0, 1},
1975 30, 35, 36, 2, 18, 16, 50, 25,
1976 7, 10, 10, 0, 0, 0, 15, 11,
1986 { 2, 1, -1, 0, 2, -2},
1987 20, 25, 34, 1, 14, 12, 65, 40,
1988 7, 11, 10, 0, 0, 0, 20, 17,
1998 { 2, -1, 1, 3, 2, 1},
1999 45, 34, 36, 5, 32, 24, 64, 60,
2000 15, 11, 10, 0, 0, 0, 18, 18,
2010 {-1, 0, 3, -1, -1, 2}, /* note: spell stat is Wis */
2011 30, 33, 38, 3, 22, 16, 50, 40,
2012 10, 11, 10, 0, 0, 0, 14, 18,
2022 {-4, 4, 0, 0, -2, 1},
2023 30, 40, 38, 3, 16, 20, 34, 20,
2024 7, 15, 11, 0, 0, 0, 6, 7,
2033 { -1, -1, -1, -1, -1, -1},
2034 15, 18, 28, 1, 12, 2, 40, 20,
2035 5, 7, 9, 0, 0, 0, 11, 11,
2044 { 0, 1, -1, 2, 0, 1},
2045 25, 30, 36, 2, 18, 16, 60, 50,
2046 7, 10, 10, 0, 0, 0, 18, 20,
2055 { 1, -1, -1, 1, 0, 2},
2056 20, 25, 32, 2, 18, 16, 52, 63,
2057 7, 10, 10, 0, 0, 0, 14, 25,
2067 {-5, 6, -2, 2, 0, -2},
2068 30, 48, 75, 2, 12, 22, 0, 0,
2069 7, 18, 13, 0, 0, 0, 0, 0,
2079 { 2, -1, -1, 2, 1, 0},
2080 38, 24, 35, 4, 24, 16, 56, 82,
2081 12, 10, 10, 0, 0, 0, 18, 36,
2091 {-1, 2, 1, 2, -2, 1},
2092 25, 42, 36, 2, 20, 16, 48, 35,
2093 7, 16, 10, 0, 0, 0, 13, 11,
2101 "Bard", /* Note : spell stat is Charisma */
2102 {-2, 1, 2, -1, -2, 4},
2103 20, 33, 34, -5, 16, 20, 34, 20,
2104 8, 13, 11, 0, 0, 0, 10, 8,
2114 { 2, 2, -1, 1, 0, -1},
2115 20, 34, 34, 1, 16, 10, 56, 25,
2116 7, 11, 11, 0, 0, 0, 18, 11,
2126 { 3, -2, 1, 2, 1, 0},
2127 25, 18, 32, 2, 16, 6, 70, 40,
2128 12, 7, 10, 0, 0, 0, 23, 18,
2138 { 0, -1, 3, 2, 1, 1},
2139 30, 34, 38, 4, 32, 24, 50, 40,
2140 10, 11, 11, 0, 0, 0, 14, 15,
2150 {-4, 4, -1, 1, -2, -1},
2151 30, 40, 36, 3, 20, 16, 40, 25,
2152 7, 16, 11, 0, 0, 0, 6, 7,
2161 { 2, -2, -2, 2, 2, 0},
2162 20, 18, 32, 1, 16, 10, 60, 66,
2163 10, 7, 10, 0, 0, 0, 22, 26,
2173 { 8, -20, -20, 4, 4, -5},
2174 -100, -1000, -200, -100, -100, -100, 120, -2000,
2175 0, 0, 0, 0, 0, 0, 50, 0,
2185 { 3, -1, -1, 1, 0, -1},
2186 30, 28, 28, 1, 20, 10, 60, 45,
2187 10, 10, 10, 0, 0, 0, 21, 15,
2196 { -2, 3, 1, -1, -2, 1},
2197 30, 33, 40, 3, 14, 16, 34,30,
2198 10, 11, 12, 0, 0, 0, 6,10,
2207 { 0, -1, -1, 3, 2, -1},
2208 45, 24, 36, 8, 48, 32, 70,66,
2209 15, 10, 10, 0, 0, 0, 25,18,
2219 { 2, -1, -1, 2, 1, 0},
2220 25, 24, 28, 5, 32, 18, 56, 72,
2221 12, 10, 10, 0, 0, 0, 18, 28,
2230 const player_seikaku seikaku_info[MAX_SEIKAKU] =
2237 { 0, 0, 0, 0, 0, 0 },
2238 0, 0, 0, 0, 0, 0, 0, 0,
2247 { 2, -2, -1, 0, 1, 0 },
2248 -5, -5, -3, -1, -2, -2, 10, 0,
2257 { -2, 2, 0, 1, -1, -1 },
2258 3, 8, 2, 0, -2, 5, -8, -5,
2267 { 0, -1, 2, -1, 0, 1 },
2268 -5, 2, 4, -1, 3, -2, -3, -6,
2277 { -1, 1, -1, 2, -1, -1 },
2278 7, 2, -1, 1, 5, 5, 0, 10,
2287 { 2, 1, 1, -1, -1, 0 },
2288 -5, 5, -2, 0, 2, -2, 10, 10,
2297 { 1, -1, -2, 2, 0, 1 },
2298 -2, -3, -3, 0, -1, 2, 5, 5,
2307 { -2, -2, -2, -2, -2, -2 },
2308 -5, -5, -3, -1, -4, -2, -8, -8,
2317 { 1, 1, 1, 1, 1, 3 },
2318 10, 5, 3, 0, 4, 2, 10, 10,
2327 { -2, -2, -2, -2, -2, 2 },
2328 10, 7, 3, 2, 10, 8, 15, 15,
2337 { -1, -1, 1, -2, 2, 0 },
2338 -5, -3, 3, 1, 0, -3, -6, -6,
2347 { 10, 10, 10, 10, 10, 10 },
2348 20, 40, 30, 10, 40, 40, 80, 80,
2357 { 2, -2, -2, 0, 1, -2 },
2358 -7, 7, -5, -1, -2, -4, 15, 20,
2368 const player_race mimic_info[] =
2376 { 0, 0, 0, 0, 0, 0 },
2377 0, 0, 0, 0, 0, 10, 0, 0,
2391 { 5, 3, 2, 3, 4, -6 },
2392 -5, 18, 20, -2, 3, 10, 40, 20,
2406 { 20, 20, 20, 20, 20, 20 },
2407 20, 20, 25, -2, 3, 10, 70, 40,
2421 { 4, 4, 1, 1, 2, 3 },
2422 6, 12, 8, 6, 2, 12, 30, 20,
2434 * @brief 歌、剣術、呪術領域情報テーブル
2436 const magic_type technic_info[NUM_TECHNIC][32] =
2559 * Zangband uses this array instead of the spell flags table, as there
2560 * are 5 realms of magic, each with 4 spellbooks and 8 spells per book -- TY
2562 const u32b fake_spell_flags[4]=
2571 * 職業毎に選択可能な第一領域魔法テーブル
2573 const s32b realm_choices1[MAX_CLASS] =
2575 (CH_NONE), /* Warrior */
2576 (CH_LIFE | CH_SORCERY | CH_NATURE |
2577 CH_CHAOS | CH_DEATH | CH_TRUMP |
2578 CH_ARCANE | CH_ENCHANT | CH_DAEMON |
2579 CH_CRUSADE), /* Mage */
2580 (CH_LIFE | CH_DEATH | CH_DAEMON |
2581 CH_CRUSADE), /* Priest */
2582 (CH_SORCERY | CH_DEATH | CH_TRUMP |
2583 CH_ARCANE | CH_ENCHANT), /* Rogue */
2584 (CH_NATURE), /* Ranger */
2585 (CH_CRUSADE | CH_DEATH), /* Paladin */
2586 (CH_ARCANE), /* Warrior-Mage */
2587 (CH_CHAOS | CH_DAEMON), /* Chaos-Warrior */
2588 (CH_LIFE | CH_NATURE | CH_DEATH |
2589 CH_ENCHANT), /* Monk */
2590 (CH_NONE), /* Mindcrafter */
2591 (CH_LIFE | CH_SORCERY | CH_NATURE |
2592 CH_CHAOS | CH_DEATH | CH_TRUMP |
2593 CH_ARCANE | CH_ENCHANT | CH_DAEMON |
2594 CH_CRUSADE | CH_HEX), /* High-Mage */
2595 (CH_ARCANE), /* Tourist */
2596 (CH_NONE), /* Imitator */
2597 (CH_TRUMP), /* Beastmaster */
2598 (CH_NONE), /* Sorcerer */
2599 (CH_NONE), /* Archer */
2600 (CH_NONE), /* Magic eater */
2601 (CH_MUSIC), /* Bard */
2602 (CH_NONE), /* Red Mage */
2603 (CH_HISSATSU), /* Samurai */
2604 (CH_LIFE | CH_NATURE | CH_DEATH |
2605 CH_ENCHANT | CH_CRUSADE), /* ForceTrainer */
2606 (CH_NONE), /* Blue Mage */
2607 (CH_NONE), /* Cavalry */
2608 (CH_NONE), /* Berserker */
2609 (CH_NONE), /* Weaponsmith */
2610 (CH_NONE), /* Mirror-master */
2611 (CH_NONE), /* Ninja */
2612 (CH_NONE), /* Sniper */
2616 * 職業毎に選択可能な第二領域魔法テーブル
2618 const s32b realm_choices2[MAX_CLASS] =
2620 (CH_NONE), /* Warrior */
2621 (CH_LIFE | CH_SORCERY | CH_NATURE |
2622 CH_CHAOS | CH_DEATH | CH_TRUMP |
2623 CH_ARCANE | CH_ENCHANT | CH_DAEMON |
2624 CH_CRUSADE), /* Mage */
2625 (CH_LIFE | CH_SORCERY | CH_NATURE |
2626 CH_CHAOS | CH_DEATH | CH_TRUMP |
2627 CH_ARCANE | CH_ENCHANT | CH_DAEMON |
2628 CH_CRUSADE), /* Priest */
2629 (CH_NONE), /* Rogue */
2630 (CH_SORCERY | CH_CHAOS | CH_DEATH |
2631 CH_TRUMP | CH_ARCANE | CH_DAEMON), /* Ranger */
2632 (CH_NONE), /* Paladin */
2633 (CH_LIFE | CH_NATURE | CH_CHAOS |
2634 CH_DEATH | CH_TRUMP | CH_ARCANE |
2635 CH_SORCERY | CH_ENCHANT | CH_DAEMON |
2636 CH_CRUSADE), /* Warrior-Mage */
2637 (CH_NONE), /* Chaos-Warrior */
2638 (CH_NONE), /* Monk */
2639 (CH_NONE), /* Mindcrafter */
2640 (CH_NONE), /* High-Mage */
2641 (CH_NONE), /* Tourist */
2642 (CH_NONE), /* Imitator */
2643 (CH_NONE), /* Beastmanster */
2644 (CH_NONE), /* Sorcerer */
2645 (CH_NONE), /* Archer */
2646 (CH_NONE), /* Magic eater */
2647 (CH_NONE), /* Bard */
2648 (CH_NONE), /* Red Mage */
2649 (CH_NONE), /* Samurai */
2650 (CH_NONE), /* ForceTrainer */
2651 (CH_NONE), /* Blue Mage */
2652 (CH_NONE), /* Cavalry */
2653 (CH_NONE), /* Berserker */
2654 (CH_NONE), /* Weaponsmith */
2655 (CH_NONE), /* Mirror-master */
2656 (CH_NONE), /* Ninja */
2657 (CH_NONE), /* Sniper */
2665 const concptr realm_names[] =
2691 const concptr E_realm_names[]
2693 const concptr realm_names[]
2720 * @brief 職業とレベル毎のプレイヤー称号テーブル / Class titles for the player.
2722 * The player gets a new title every five levels, so each class
2723 * needs only ten titles total.
2727 const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
2747 "奇術師", /*詐欺師、ペテン師 */
2761 "侍僧", /*教会奉仕者、見習い僧、伴僧、従者 */
2764 "伝道師", /*司祭評議員、修道会会員 */
2766 "聖人", /*大司教、総主教、総大司教 */
2774 /* "ごろつき",*/ /*ごろつき、風来坊、浮浪者 */
2776 "追いはぎ", /*追い剥ぎ、強盗、泥棒 */
2779 "ペテン師", /*博徒、ペテン師、詐欺師 */
2782 "マスター", /* "マスターシーフ", */
2784 "頭領", /*"ギルドマスター",*/
2791 "斥候", /*斥候、見張り、偵察兵 */
2803 "勇士", /*色男、愛人、しゃれ者、勇敢な人 */
2823 "魔術の英雄", /* Mage-Hero */
2827 "知識の守護者", /* "ウィザードロード", */
2869 "精神の支配者", /* "マインドマスター", */
2872 /* High Mage; same as Mage */
2876 "奇術師", /*詐欺師、ペテン師 */
2929 /* Sorcerer; same as Mage */
2933 "奇術師", /*詐欺師、ペテン師 */
2974 "見習い", /*"Apprentice"*/
2975 "作曲家", /*"Songsmith"*/
2977 "コンパニオン", /*"Companion"*/
2978 "心の癒し手", /*"Minstrel"*/
2980 "伝承の紡ぎ手", /*"Loreweaver"*/
2981 "詩神の申し子", /*"Muse"*/
2982 "夢紡ぎ", /*"Dreamweaver"*/
2983 "マスター", /*"Master Harper"*/
2986 /* Red Mage; same as Warrior-Mage */
2994 "魔術の英雄", /* Mage-Hero */
2998 "知識の守護者", /* "ウィザードロード", */
3015 /* ForceTrainer; same as Monk(?) */
3029 /* Blue Mage; same as Mage */
3033 "奇術師", /*詐欺師、ペテン師 */
3129 const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
3271 /* High Mage; same as Mage */
3371 "Apprentice", /*"Apprentice"*/
3372 "Songsmith", /*"Songsmith"*/
3374 "Companion", /*"Companion"*/
3375 "Minstrel", /*"Minstrel"*/
3376 "Harper", /*"Harper"*/
3377 "Loreweaver", /*"Loreweaver"*/
3379 "Dreamweaver", /*"Dreamweaver"*/
3380 "Master Harper", /*"Master Harper"*/
3526 * @brief 色名称テーブル / Hack -- the "basic" color names (see "TERM_xxx")
3528 const concptr color_names[16] =
3570 * @brief 能力値テーブル / Abbreviations of healthy stats
3572 const concptr stat_names[6] =
3575 "腕力 :", "知能 :", "賢さ :", "器用 :", "耐久 :", "魅力 :"
3577 "STR : ", "INT : ", "WIS : ", "DEX : ", "CON : ", "CHR : "
3583 * @brief 能力値テーブル(能力低下時) / Abbreviations of damaged stats
3585 const concptr stat_names_reduced[6] =
3588 "腕力x:", "知能x:", "賢さx:", "器用x:", "耐久x:", "魅力x:"
3590 "Str : ", "Int : ", "Wis : ", "Dex : ", "Con : ", "Chr : "
3597 * @brief サブウィンドウ名称テーブル
3600 * Certain "screens" always use the main screen, including News, Birth,
3601 * Dungeon, Tomb-stone, High-scores, Macros, Colors, Visuals, Options.
3603 * Later, special flags may allow sub-windows to "steal" stuff from the
3604 * main window, including File dump (help), File dump (artifacts, uniques),
3605 * Character screen, Small scale map, Previous Messages, Store screen, etc.
3607 * The "ctrl-i" (tab) command flips the "Display inven/equip" and "Display
3608 * equip/inven" flags for all windows.
3610 * The "ctrl-g" command (or pseudo-command) should perhaps grab a snapshot
3611 * of the main screen into any interested windows.
3614 const concptr window_flag_desc[32] =
3616 _("持ち物/装備一覧", "Display inven/equip"),
3617 _("装備/持ち物一覧", "Display equip/inven"),
3618 _("呪文一覧", "Display spell list"),
3619 _("キャラクタ情報", "Display character"),
3620 _("視界内のモンスター表示", "Display monsters in sight"),
3622 _("メッセージ", "Display messages"),
3623 _("ダンジョン全体図", "Display overhead view"),
3624 _("モンスターの思い出", "Display monster recall"),
3625 _("アイテムの詳細", "Display object recall"),
3626 _("自分の周囲を表示", "Display dungeon view"),
3627 _("記念撮影", "Display snap-shot"),
3630 _("ボーグ・メッセージ", "Display borg messages"),
3631 _("ボーグ・ステータス", "Display borg status"),
3652 * @brief アイテムの価値記述テーブル /
3653 * Table of game-generated inscriptions (indexed by the defines in defines.h). -- RG
3655 const concptr game_inscriptions[] =
3657 NULL, /* FEEL_NONE */
3659 "壊れている", /* FEEL_BROKEN */
3660 "恐ろしい", /* FEEL_TERRIBLE */
3661 "無価値", /* FEEL_WORTHLESS */
3662 "呪われている", /* FEEL_CURSED */
3663 "上質以上", /* FEEL_UNCURSED */
3664 "並", /* FEEL_AVERAGE */
3665 "上質", /* FEEL_GOOD */
3666 "高級品", /* FEEL_EXCELLENT */
3667 "特別製", /* FEEL_SPECIAL */
3669 "broken", /* FEEL_BROKEN */
3670 "terrible", /* FEEL_TERRIBLE */
3671 "worthless", /* FEEL_WORTHLESS */
3672 "cursed", /* FEEL_CURSED */
3673 "uncursed", /* FEEL_UNCURSED */
3674 "average", /* FEEL_AVERAGE */
3675 "good", /* FEEL_GOOD */
3676 "excellent", /* FEEL_EXCELLENT */
3677 "special", /* FEEL_SPECIAL */
3683 * @brief 修行僧の構え能力テーブル
3685 const kamae kamae_shurui[MAX_KAMAE] =
3693 {"Genbu", 25, "(Black Tortoise) "},
3694 {"Byakko", 30, "(White Tiger) "},
3695 {"Seiryuu", 35, "(Blue Dragon) "},
3696 {"Suzaku", 40, "(Red Phoenix) "},
3701 * @brief 剣術家の構え能力テーブル
3703 const kamae kata_shurui[MAX_KATA] =
3720 * @brief シンボル解説テーブル /
3721 * 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".
3723 const concptr ident_info[] =
3736 "*:財宝を含んだ鉱脈または球形の怪物",
3741 "/:竿状武器(アックス/パイク/等)",
3819 "}:飛び道具(弓/クロスボウ/スリング)",
3823 "!:A potion (or oil)",
3824 "\":An amulet (or necklace)",
3825 "#:A wall (or secret door) / a plant / a gas",
3826 "$:Treasure (gold or gems)",
3827 "%:A vein (magma or quartz)",
3832 "*:A vein with treasure or a ball monster",
3834 ",:Food (or mushroom patch)",
3835 "-:A wand (or rod)",
3837 "/:A polearm (Axe/Pike/etc)",
3838 "0:Entrance to Museum",
3839 "1:Entrance to General Store",
3840 "2:Entrance to Armory",
3841 "3:Entrance to Weaponsmith",
3842 "4:Entrance to Temple",
3843 "5:Entrance to Alchemy shop",
3844 "6:Entrance to Magic store",
3845 "7:Entrance to Black Market",
3846 "8:Entrance to your home",
3847 "9:Entrance to the bookstore",
3849 ";:A glyph of warding / an explosive rune",
3850 "<:An up staircase",
3852 ">:A down staircase",
3858 "D:Ancient Dragon/Wyrm",
3867 "M:Multi-Headed Reptile",
3871 "Q:Quylthulg (Pulsing Flesh Mound)",
3872 "R:Reptile/Amphibian",
3873 "S:Spider/Scorpion/Tick",
3877 "W:Wight/Wraith/etc",
3882 "\\:A hafted weapon (mace/whip/etc)",
3886 "`:A figurine or statue",
3894 "h:Hobbit/Elf/Dwarf",
3898 "l:Aquatic monster",
3913 "{:A missile (arrow/bolt/shot)",
3914 "|:An edged weapon (sword/dagger/etc)",
3915 "}:A launcher (bow/crossbow/sling)",
3916 "~:Fluid terrain (or miscellaneous item)",
3923 * @brief モンスターの打撃効力テーブル /
3924 * The table of monsters' blow effects
3926 const mbe_info_type mbe_info[] =
3928 { 0, 0, }, /* None */
3929 { 60, GF_MISSILE, }, /* HURT */
3930 { 5, GF_POIS, }, /* POISON */
3931 { 20, GF_DISENCHANT, }, /* UN_BONUS */
3932 { 15, GF_MISSILE, }, /* UN_POWER */ /* ToDo: Apply the correct effects */
3933 { 5, GF_MISSILE, }, /* EAT_GOLD */
3934 { 5, GF_MISSILE, }, /* EAT_ITEM */
3935 { 5, GF_MISSILE, }, /* EAT_FOOD */
3936 { 5, GF_MISSILE, }, /* EAT_LITE */
3937 { 0, GF_ACID, }, /* ACID */
3938 { 10, GF_ELEC, }, /* ELEC */
3939 { 10, GF_FIRE, }, /* FIRE */
3940 { 10, GF_COLD, }, /* COLD */
3941 { 2, GF_MISSILE, }, /* BLIND */
3942 { 10, GF_CONFUSION, }, /* CONFUSE */
3943 { 10, GF_MISSILE, }, /* TERRIFY */
3944 { 2, GF_MISSILE, }, /* PARALYZE */
3945 { 0, GF_MISSILE, }, /* LOSE_STR */
3946 { 0, GF_MISSILE, }, /* LOSE_INT */
3947 { 0, GF_MISSILE, }, /* LOSE_WIS */
3948 { 0, GF_MISSILE, }, /* LOSE_DEX */
3949 { 0, GF_MISSILE, }, /* LOSE_CON */
3950 { 0, GF_MISSILE, }, /* LOSE_CHR */
3951 { 2, GF_MISSILE, }, /* LOSE_ALL */
3952 { 60, GF_ROCKET, }, /* SHATTER */
3953 { 5, GF_MISSILE, }, /* EXP_10 */
3954 { 5, GF_MISSILE, }, /* EXP_20 */
3955 { 5, GF_MISSILE, }, /* EXP_40 */
3956 { 5, GF_MISSILE, }, /* EXP_80 */
3957 { 5, GF_POIS, }, /* DISEASE */
3958 { 5, GF_TIME, }, /* TIME */
3959 { 5, GF_MISSILE, }, /* EXP_VAMP */
3960 { 5, GF_MANA, }, /* DR_MANA */
3961 { 60, GF_MISSILE, }, /* SUPERHURT */
3966 * @brief 地形状態フラグテーブル /
3967 * The table of features' actions
3969 const byte feature_action_flags[FF_FLAG_MAX] =
3981 FAF_CRASH_GLASS, /* BASH */
3983 FAF_DESTROY, /* DISARM */
3985 FAF_DESTROY | FAF_CRASH_GLASS, /* TUNNEL */
3986 0, /* MAY_HAVE_GOLD */
4016 FAF_DESTROY | FAF_CRASH_GLASS, /* HURT_ROCK */
4048 0, /* HURT_BWATER */
4071 FAF_DESTROY | FAF_NO_DROP | FAF_CRASH_GLASS, /* HURT_DISI */
4072 0, /* QUEST_ENTER */
4078 0, /* MINOR_GLYPH */
4084 0, /* TELEPORTABLE */
4091 * @brief 装備耐性に準じたブレス効果の選択テーブル /
4092 * Define flags, effect type, name for dragon breath activation
4094 const dragonbreath_type dragonbreath_info[] = {
4095 { TR_RES_ACID, GF_ACID, _("酸", "acid") },
4096 { TR_RES_ELEC, GF_ELEC, _("電撃", "lightning") },
4097 { TR_RES_FIRE, GF_FIRE, _("火炎", "fire") },
4098 { TR_RES_COLD, GF_COLD, _("冷気", "cold") },
4099 { TR_RES_POIS, GF_POIS, _("毒", "poison") },
4100 { TR_RES_LITE, GF_LITE, _("閃光", "light") },
4101 { TR_RES_DARK, GF_DARK, _("暗黒", "dark") },
4102 { TR_RES_SHARDS, GF_SHARDS, _("破片", "shard") },
4103 { TR_RES_CONF, GF_CONFUSION, _("混乱", "confusion") },
4104 { TR_RES_SOUND, GF_SOUND, _("轟音", "sound") },
4105 { TR_RES_NEXUS, GF_NEXUS, _("因果混乱", "nexus") },
4106 { TR_RES_NETHER, GF_NETHER, _("地獄", "nether") },
4107 { TR_RES_CHAOS, GF_CHAOS, _("カオス", "chaos") },
4108 { TR_RES_DISEN, GF_DISENCHANT, _("劣化", "disenchant") },