OSDN Git Service

In English description of "Boomerang", kept the separate sentences and dropped the...
[hengband/hengband.git] / src / player-race.c
1 #include "angband.h"
2 #include "player-race.h"
3
4 /*!
5  * @brief 種族情報 /
6  * Player Races
7  * @details
8  * <pre>
9  *      Title,
10  *      {STR,INT,WIS,DEX,CON,CHR},
11  *      r_dis, r_dev, r_sav, r_stl, r_srh, r_fos, r_thn, r_thb,
12  *      hitdie, exp base,
13  *      Age (Base, Mod),
14  *      Male (Hgt, Wgt),
15  *      Female (Hgt, Wgt)
16  *      infra,
17  *      class-choices
18  * </pre>
19  */
20 const player_race race_info[MAX_RACES] =
21 {
22         {
23 #ifdef JP
24                 "人間",
25 #endif
26                 "Human",
27
28                 {  0,  0,  0,  0,  0,  0 },
29                 0,  0,  0,  0,  0,  10,  0,  0,
30                 10,  100,
31                 14,  6,
32                 72,  6, 180, 25,
33                 66,  4, 150, 20,
34                 0,
35                 0xFFFFFFF,
36         },
37         {
38 #ifdef JP
39                 "ハーフエルフ",
40 #endif
41                 "Half-Elf",
42
43                 { -1,  1,  1,  1, -1,  1 },
44                 2,  3,  2,  1, 6,  11, -1,  5,
45                 9,  110,
46                 24, 16,
47                 66,  6, 130, 15,
48                 62,  6, 100, 10,
49                 2,
50                 0xE77E7FF,
51         },
52         {
53 #ifdef JP
54                 "エルフ",
55 #endif
56                 "Elf",
57
58                 { -1,  2,  0,  1, -2,  2 },
59                 5,  6,  4,  2, 8,  12, -5, 15,
60                 8,  120,
61                 75, 75,
62                 60,  4, 100,  6,
63                 54,  4, 80,  6,
64                 3,
65                 0xE77E75B,
66
67         },
68         {
69 #ifdef JP
70                 "ホビット",
71 #endif
72                 "Hobbit",
73
74                 { -2,  1,  1,  3,  2,  1 },
75                 15, 12, 10, 5, 12,  15, -10, 20,
76                 7,  110,
77                 21, 12,
78                 36,  3, 60,  3,
79                 33,  3, 50,  3,
80                 4,
81                 0xF6FFC0B,
82         },
83         {
84 #ifdef JP
85                 "ノーム",
86 #endif
87                 "Gnome",
88
89                 { -1,  2,  0,  2,  1, -1 },
90                 10, 8, 7,  3, 6,  13, -8, 12,
91                 8,  120,
92                 50, 40,
93                 42,  3, 90,  6,
94                 39,  3, 75,  3,
95                 4,
96                 0xF67D60F,
97         },
98         {
99 #ifdef JP
100                 "ドワーフ",
101 #endif
102                 "Dwarf",
103
104                 {  2, -2,  2, -2,  2, -1 },
105                 2,  7,  6,  -1,  7,  10, 15,  0,
106                 11,  125,
107                 35, 15,
108                 48,  3, 150, 10,
109                 46,  3, 120, 10,
110                 5,
111                 0x1890005,
112         },
113         {
114 #ifdef JP
115                 "ハーフオーク",
116 #endif
117                 "Half-Orc",
118
119                 {  2, -1,  0,  0,  1, -2 },
120                 -3, -3, -2,  -1,  0, 7, 12, -5,
121                 10,  110,
122                 11,  4,
123                 66,  1, 150,  5,
124                 62,  1, 120,  5,
125                 3,
126                 0xDD8818D,
127         },
128         {
129 #ifdef JP
130                 "ハーフトロル",
131 #endif
132                 "Half-Troll",
133
134                 { 4, -4, -1, -3,  3, -3 },
135                 -5, -8, -5, -2,  -1, 5, 20, -10,
136                 12,  125,
137                 20, 10,
138                 96, 10, 250, 50,
139                 84,  8, 225, 40,
140                 3,
141                 0x0880005,
142         },
143         {
144 #ifdef JP
145                 "アンバライト",
146 #endif
147                 "Amberite",
148
149                 {  1,  2,  2,  2,  3,  2 },
150                 4,  5,  3,  2, 3, 13, 15, 10,
151                 10,  225,
152                 50, 50,
153                 82, 5, 190, 20,
154                 78,  6, 180, 15,
155                 0,
156                 0xFFFF7FF,
157         },
158         {
159 #ifdef JP
160                 "ハイエルフ",
161 #endif
162                 "High-Elf",
163
164                 {  1,  3,  -1,  3,  1,  3 },
165                 4,  13, 12,  4,  3, 14, 10, 25,
166                 10,  200,
167                 100, 30,
168                 90, 10, 190, 20,
169                 82, 10, 180, 15,
170                 4,
171                 0xF77E75B,
172         },
173         {
174 #ifdef JP
175                 "野蛮人",
176 #endif
177                 "Barbarian",
178
179                 { 3, -2,  -1,  1,  2, 0 },
180                 -2, -10, 2,  -1,  1, 7, 12, 10,
181                 11, 120,
182                 14, 8,
183                 82, 5, 200, 20,
184                 78,  6, 190, 15,
185                 0,
186                 0x5C0A09D,
187         },
188         {
189 #ifdef JP
190                 "ハーフオーガ",
191 #endif
192                 "Half-Ogre",
193
194                 { 3, -2, 0, -1, 3, -2 },
195                 -3, -5, -3, -2, -1, 5, 20, 0,
196                 12,  145,
197                 40, 10,
198                 92, 10, 255, 60,
199                 80,  8, 235, 60,
200                 3,
201                 0x0A80407,
202         },
203         {
204 #ifdef JP
205                 "半巨人",
206 #endif
207                 "Half-Giant",
208
209                 { 4, -2, -2, -2, 3, -2 },
210                 -6, -8, -3, -2, -1, 5, 25, 5,
211                 13, 160,
212                 40, 10,
213                 100,10, 255, 65,
214                 80, 10, 240, 64,
215                 3,
216                 0x8880011,
217         },
218         {
219 #ifdef JP
220                 "半タイタン",
221 #endif
222                 "Half-Titan",
223
224                 { 5, 1, 2, -2, 3, 1 },
225                 -5, 5, 1, -2, 1, 8, 25, 0,
226                 14, 255,
227                 100,30,
228                 111, 11, 255, 86,
229                 99, 11, 250, 86,
230                 0,
231                 0x23D4727,
232         },
233         {
234 #ifdef JP
235                 "サイクロプス",
236 #endif
237                 "Cyclops",
238
239                 { 4, -3, -2, -3, 4, -3 },
240                 -4, -5, -3, -2, -2, 5, 20, 12,
241                 13, 150,
242                 50, 24,
243                 92, 10, 255, 60,
244                 80,  8, 235, 60,
245                 1,
246                 0x0888005,
247         },
248         {
249 #ifdef JP
250                 "イーク",
251 #endif
252                 "Yeek",
253
254                 { -2, 1, 1, 1, -2, -4 },
255                 2, 4, 6, 3, 5, 15, -5, -5,
256                 7, 100,
257                 14, 3,
258                 50,  3, 90,  6,
259                 50,  3, 75,  3,
260                 2,
261                 0x667360F,
262         },
263         {
264 #ifdef JP
265                 "クラッコン",
266 #endif
267                 "Klackon",
268
269                 { 2, -1, -1, 1, 2, -1 },
270                 10, 5, 3, 0, -1, 10, 5, 5,
271                 12, 190,
272                 20, 3,
273                 60,  3, 80,  4,
274                 54,  3, 70,  4,
275                 2,
276                 0x04D8011,
277         },
278         {
279 #ifdef JP
280                 "コボルド",
281 #endif
282                 "Kobold",
283
284                 { 1, -1, 0, 1, 0, -2 },
285                 -2, -3, -1, -1, 1, 8, 10, -8,
286                 9, 125,
287                 11,  3,
288                 60,  1, 130,  5,
289                 55,  1, 100,  5,
290                 3,
291                 0x444A009,
292         },
293         {
294 #ifdef JP
295                 "ニーベルング",
296 #endif
297                 "Nibelung",
298
299                 { 1, -1, 2, 0, 2, -2 },
300                 3, 5, 6, 1, 5, 10, 9, 0,
301                 11, 170,
302                 40, 12,
303                 43,  3, 92,  6,
304                 40,  3, 78,  3,
305                 5,
306                 0x569040F,
307         },
308         {
309 #ifdef JP
310                 "ダークエルフ",
311 #endif
312                 "Dark-Elf",
313
314                 { -1, 3, 2, 2, -2, 1 },
315                 5, 10, 12, 3, 8, 12, -5, 10,
316                 9, 150,
317                 75, 75,
318                 60,  4, 100,  6,
319                 54,  4, 80,  6,
320                 5,
321                 0xE77C7DF,
322         },
323         {
324 #ifdef JP
325                 "ドラコニアン",
326 #endif
327                 "Draconian",
328
329                 { 2, 1, 1, 1, 2, -1 },
330                 -2, 5, 2, 0, 1, 10, 5, 5,
331                 11, 220,
332                 75, 33,
333                 76,  1, 160,  5,
334                 72,  1, 130,  5,
335                 2,
336                 0x7FFE757,
337         },
338         {
339 #ifdef JP
340                 "マインドフレア",
341 #endif
342                 "Mindflayer",
343
344                 { -3, 4, 4, 0, -2, -3 },
345                 10, 15, 9, 2, 5, 12, -10, -5,
346                 9, 140,
347                 100, 25,
348                 68,  6, 142, 15,
349                 63,  6, 112, 10,
350                 4,
351                 0x2334746,
352         },
353         {
354 #ifdef JP
355                 "インプ",
356 #endif
357                 "Imp",
358
359                 { 0, -1, -1, 1, 2, -1 },
360                 -3, 2, -1, 1, -1, 10, 5, -5,
361                 10, 115,
362                 13,  4,
363                 68,  1, 150,  5,
364                 64,  1, 120,  5,
365                 3,
366                 0xDB537CB,
367         },
368         {
369 #ifdef JP
370                 "ゴーレム",
371 #endif
372                 "Golem",
373
374                 { 4, -5, -5, -2, 4, -2 },
375                 -5, -5, 6, -1, -1, 8, 20, 0,
376                 12, 200,
377                 1, 100,
378                 66,  1, 200,  6,
379                 62,  1, 180,  6,
380                 4,
381                 0x0800001,
382         },
383         {
384 #ifdef JP
385                 "骸骨",
386 #endif
387                 "Skeleton",
388
389                 { 0, 1, -2, 0, 1, -2 },
390                 -5, 0, 3, -1, -1, 8, 10, 0,
391                 10, 145,
392                 100, 35,
393                 72,  6, 50, 5,
394                 66,  4, 50, 5,
395                 2,
396                 0x234070F,
397         },
398         {
399 #ifdef JP
400                 "ゾンビ",
401 #endif
402                 "Zombie",
403
404                 { 2, -6, -6, 1, 4, -3 },
405                 -5, -5, 5, -1, -1, 5, 15, 0,
406                 13, 150,
407                 100, 30,
408                 72, 6, 100, 25,
409                 66, 4, 100, 20,
410                 2,
411                 0x0800001,
412         },
413         {
414 #ifdef JP
415                 "吸血鬼",
416 #endif
417                 "Vampire",
418
419                 { 3, 3, -1, -1, 1, 2 },
420                 4, 8, 6, 4, 1, 8, 5, 0,
421                 11, 200,
422                 100, 30,
423                 72,  6, 180, 25,
424                 66,  4, 150, 20,
425                 5,
426                 0x67DC7FF,
427         },
428         {
429 #ifdef JP
430                 "幽霊",
431 #endif
432                 "Spectre",
433
434                 { -5, 4, -1, 2, 0, -3 },
435                 10, 15, 12, 5, 5, 14, -15, -5,
436                 7, 210,
437                 100, 30,
438                 72, 6, 100, 25,
439                 66, 4, 100, 20,
440                 5,
441                 0x631474A,
442         },
443         {
444 #ifdef JP
445                 "妖精",
446 #endif
447                 "Sprite",
448
449                 { -4, 3, 3, 3, -2, 2 },
450                 10, 8, 6, 4, 10, 10, -12, 0,
451                 7, 145,
452                 50, 25,
453                 32,  2, 75,  2,
454                 29,  2, 65,  2,
455                 4,
456                 0x623F65E,
457         },
458         {
459 #ifdef JP
460                 "獣人",
461 #endif
462                 "Beastman",
463
464                 { 2, -2, -1, -1, 2, -2 },
465                 -5, -2, -1, -1, -1, 5, 12, 5,
466                 11, 140,
467                 14, 6,
468                 65,  6, 150, 20,
469                 61,  6, 120, 15,
470                 0,
471                 0x57887CF,
472         },
473         {
474 #ifdef JP
475                 "エント",
476 #endif
477                 "Ent",
478                 { 2,  0,  2, -3,  2,  0 },
479                  -5,  2,  5,  -1, 0, 9,  15, -5,
480                  12, 140,
481                 120,  60,
482                 111, 11, 255, 50,
483                 99, 11, 250, 45,
484                   0,
485                 0x0010005,
486         },
487         {
488 #ifdef JP
489                 "アルコン",
490 #endif
491                 "Archon",
492
493                 {  2,  0,  4,  1,  2,  3 },
494                 0,  12,  8,  2, 2, 11, 10, 10,
495                 11,  235,
496                 150, 150,
497                 82, 5, 190, 20,
498                 78,  6, 180, 15,
499                 3,
500                 0x779F777,
501         },
502         {
503 #ifdef JP
504                 "バルログ",
505                 "Balrog",
506 #else
507                 "Balrog",
508 #endif
509
510                 {  4,  2,  -10,  2,  3,  -5 },
511                 -3,  12, 15,  -2,  1, 8, 20, 0,
512                 12,  250,
513                 255, 255,
514                 100,10, 255, 65,
515                 80, 10, 240, 64,
516                 5,
517                 0x7EDC4DB,
518         },
519         {
520 #ifdef JP
521                 "ドゥナダン",
522 #endif
523                 "Dunadan",
524
525                 {  1,  2,  2,  2,  3,  2 },
526                 4,  5,  3,  2, 3, 13, 15, 10,
527                 10,  180,
528                 50, 20,
529                 82, 5, 190, 20,
530                 78,  6, 180, 15,
531                 0,
532                 0xFFFF7FF,
533         },
534         {
535 #ifdef JP
536                 "影フェアリー",
537 #endif
538                 "Shadow-Fairy",
539                 {-2,  2,  2,  1, -1,  0 },
540                   7,  8,  0,  6, 12, 15, -10, -5,
541                   7, 120,
542                 200, 100,
543                  80,  8, 90, 20,
544                  73,  8, 80, 15,
545                   4,
546                 0xE33C7DF,
547         },
548         {
549 #ifdef JP
550                 "クター",
551 #endif
552                 "Kutar",
553
554                 {  0,  -1,  -1,  1,  2,  3 },
555                 -2,  5,  5,  5,  -2,  6,  0,  -5,
556                 11,  140,
557                 14,  6,
558                 48,  6, 150, 25,
559                 44,  4, 130, 20,
560                 0,
561                 0xC18B7AD,
562         },
563         {
564 #ifdef JP
565                 "アンドロイド",
566 #endif
567                 "Android",
568
569                 { 4, -5, -5, 0, 4, -2 },
570                 0, -5, 0, -2, 3, 14, 20, 10,
571                 13, 200,
572                 1, 100,
573                 72, 12, 240, 64,
574                 66, 12, 220, 64,
575                 0,
576                 0x0800001,
577         },
578         {
579 #ifdef JP
580                 "マーフォーク",
581 #endif
582                 "Merfolk",
583
584                 { -1,  0,  2,  1,  -1,  1},
585                         2,  3,  2,  1, 6,  11, -1,  5,
586                         10,  130,
587                         24, 16,
588                         66,  6, 130, 15,
589                         62,  6, 100, 10,
590                         2,
591                         0xE77E7FF,
592         },
593
594 };
595
596 /*!
597  * @brief 変身種族情報
598  */
599 const player_race mimic_info[] =
600 {
601         {
602 #ifdef JP
603                 "[標準形態]",
604 #endif
605                 "Default",
606
607                 {  0,  0,  0,  0,  0,  0 },
608                 0,  0,  0,  0,  0,  10,  0,  0,
609                 10,  100,
610                 0,  0,
611                 0,  0, 0, 0,
612                 0,  0, 0, 0,
613                 0,
614                 0x000000,
615         },
616         {
617 #ifdef JP
618                 "[悪魔]",
619 #endif
620                 "[Demon]",
621
622                 {  5,  3,  2,  3,  4,  -6 },
623                 -5,  18, 20, -2,  3,  10, 40, 20,
624                 12,  0,
625                 0,  0,
626                 0,  0, 0, 0,
627                 0,  0, 0, 0,
628                 5,
629                 0x000003,
630         },
631         {
632 #ifdef JP
633                 "[魔王]",
634 #endif
635                 "[Demon lord]",
636
637                 {  20,  20,  20,  20,  20,  20 },
638                 20,  20, 25, -2,  3,  10, 70, 40,
639                 14,  0,
640                 0,  0,
641                 0,  0, 0, 0,
642                 0,  0, 0, 0,
643                 20,
644                 0x000003,
645         },
646         {
647 #ifdef JP
648                 "[吸血鬼]",
649 #endif
650                 "[Vampire]",
651
652                 { 4, 4, 1, 1, 2, 3 },
653                 6, 12, 8, 6, 2, 12, 30, 20,
654                 11,  0,
655                 0,  0,
656                 0,  0, 0, 0,
657                 0,  0, 0, 0,
658                 5,
659                 0x000005,
660         },
661 };
662
663 const player_race *rp_ptr;
664
665 SYMBOL_CODE get_summon_symbol_from_player(player_type *creature_ptr)
666 {
667         SYMBOL_CODE symbol = 'N';
668         switch (creature_ptr->mimic_form)
669         {
670         case MIMIC_NONE:
671                 switch (creature_ptr->prace)
672                 {
673                 case RACE_HUMAN:
674                 case RACE_AMBERITE:
675                 case RACE_BARBARIAN:
676                 case RACE_BEASTMAN:
677                 case RACE_DUNADAN:
678                         symbol = 'p';
679                         break;
680                 case RACE_HALF_ELF:
681                 case RACE_ELF:
682                 case RACE_HOBBIT:
683                 case RACE_GNOME:
684                 case RACE_DWARF:
685                 case RACE_HIGH_ELF:
686                 case RACE_NIBELUNG:
687                 case RACE_DARK_ELF:
688                 case RACE_MIND_FLAYER:
689                 case RACE_KUTAR:
690                 case RACE_S_FAIRY:
691                         symbol = 'h';
692                         break;
693                 case RACE_HALF_ORC:
694                         symbol = 'o';
695                         break;
696                 case RACE_HALF_TROLL:
697                         symbol = 'T';
698                         break;
699                 case RACE_HALF_OGRE:
700                         symbol = 'O';
701                         break;
702                 case RACE_HALF_GIANT:
703                 case RACE_HALF_TITAN:
704                 case RACE_CYCLOPS:
705                         symbol = 'P';
706                         break;
707                 case RACE_YEEK:
708                         symbol = 'y';
709                         break;
710                 case RACE_KLACKON:
711                         symbol = 'K';
712                         break;
713                 case RACE_KOBOLD:
714                         symbol = 'k';
715                         break;
716                 case RACE_IMP:
717                         if (one_in_(13)) symbol = 'U';
718                         else symbol = 'u';
719                         break;
720                 case RACE_DRACONIAN:
721                         symbol = 'd';
722                         break;
723                 case RACE_GOLEM:
724                 case RACE_ANDROID:
725                         symbol = 'g';
726                         break;
727                 case RACE_SKELETON:
728                         if (one_in_(13)) symbol = 'L';
729                         else symbol = 's';
730                         break;
731                 case RACE_ZOMBIE:
732                         symbol = 'z';
733                         break;
734                 case RACE_VAMPIRE:
735                         symbol = 'V';
736                         break;
737                 case RACE_SPECTRE:
738                         symbol = 'G';
739                         break;
740                 case RACE_SPRITE:
741                         symbol = 'I';
742                         break;
743                 case RACE_ENT:
744                         symbol = '#';
745                         break;
746                 case RACE_ANGEL:
747                         symbol = 'A';
748                         break;
749                 case RACE_DEMON:
750                         symbol = 'U';
751                         break;
752                 default:
753                         symbol = 'p';
754                         break;
755                 }
756                 break;
757         case MIMIC_DEMON:
758                 if (one_in_(13)) symbol = 'U';
759                 else symbol = 'u';
760                 break;
761         case MIMIC_DEMON_LORD:
762                 symbol = 'U';
763                 break;
764         case MIMIC_VAMPIRE:
765                 symbol = 'V';
766                 break;
767         }
768         return symbol;
769 }