OSDN Git Service

[Fix] 攻撃回数の上限がおかしい
[hengband/hengband.git] / src / player / player-class.c
index b10c8a0..2fc3d42 100644 (file)
@@ -4,7 +4,11 @@
  * @author deskull
  */
 
+#include "player/player-race.h"
 #include "player/player-class.h"
+#include "core/player-redraw-types.h"
+#include "inventory/inventory-slot-types.h"
+#include "player/player-race.h"
 #include "system/object-type-definition.h"
 
 /*
@@ -39,7 +43,8 @@ const player_class class_info[MAX_CLASS] =
                { 4, -2, -2, 2, 2, -1},
                25, 18, 31, 1,  14, 2, 70, 55,
                12, 7,  10, 0,  0,  0,  30, 30,
-               9,  0, 40
+               9,  0, 40,
+               6, 70, 5
        },
 
        {
@@ -51,7 +56,8 @@ const player_class class_info[MAX_CLASS] =
                {-4, 3, 0, 1, -2, 1},
                30, 40, 38, 3,  16, 20, 34, 20,
                7,  15, 11,  0,  0,  0,  6, 7,
-               0, 30, 30
+               0, 30, 30,
+               3, 100, 2
        },
 
        {
@@ -63,7 +69,8 @@ const player_class class_info[MAX_CLASS] =
                {-1, -3, 3, -1, 0, 2},
                25, 35, 40, 2,  16, 8, 48, 35,
                7,  11, 12, 0,  0,  0, 13, 11,
-               2, 20, 35
+               2, 20, 35,
+               5, 100, 3
        },
 
        {
@@ -75,7 +82,8 @@ const player_class class_info[MAX_CLASS] =
                { 2, 1, -2, 3, 1, -1},
                45, 37, 36, 5, 32, 24, 60, 66,
                15, 12, 10, 0,  0,  0, 21, 18,
-               6, 25, 40
+               6, 25, 40,
+               5, 40, 3
        },
 
        {
@@ -87,7 +95,8 @@ const player_class class_info[MAX_CLASS] =
                { 2, 2, 0, 1, 1, 1},
                30, 37, 36, 3,  24, 16, 56, 72,
                8,  11, 10, 0,  0,  0,  18, 28,
-               4, 40, 35
+               4, 40, 35,
+               5, 70, 4
        },
 
        {
@@ -99,7 +108,8 @@ const player_class class_info[MAX_CLASS] =
                { 3, -3, 1, 0, 2, 2},
                20, 24, 34, 1,  12, 2, 68, 40,
                7,  10, 11, 0,  0,  0,  21, 18,
-               6, 35, 40
+               6, 35, 40,
+               5, 70, 4
        },
 
        {
@@ -111,7 +121,8 @@ const player_class class_info[MAX_CLASS] =
                { 2, 2, 0, 1, 0, 1},
                30, 35, 36, 2,  18, 16, 50, 25,
                7,  10, 10, 0,  0,  0,  15, 11,
-               4, 40, 35
+               4, 40, 35,
+               5, 70, 3
        },
 
        {
@@ -123,7 +134,8 @@ const player_class class_info[MAX_CLASS] =
                { 2, 1, -1, 0, 2, -2},
                20, 25, 34, 1,  14, 12, 65, 40,
                7,  11, 10, 0,  0,  0,  20, 17,
-               6, 25, 40
+               6, 25, 40,
+               5, 70, 4
        },
 
        {
@@ -135,7 +147,8 @@ const player_class class_info[MAX_CLASS] =
                { 2, -1, 1, 3, 2, 1},
                45, 34, 36, 5, 32, 24, 64, 60,
                15, 11, 10, 0,  0,  0, 18, 18,
-               6, 30, 35
+               6, 30, 35,
+               5, 60, 3
        },
 
        {
@@ -147,7 +160,8 @@ const player_class class_info[MAX_CLASS] =
                {-1, 0, 3, -1, -1, 2},   /* note: spell stat is Wis */
                30, 33, 38, 3,  22, 16, 50, 40,
                10, 11, 10, 0,   0,  0, 14, 18,
-               2, 25, 35
+               2, 25, 35,
+               5, 100, 3
        },
 
        {
@@ -159,7 +173,8 @@ const player_class class_info[MAX_CLASS] =
                {-4, 4, 0, 0, -2, 1},
                30, 40, 38, 3,  16, 20, 34, 20,
                7,  15, 11,  0,  0,  0,  6, 7,
-               0, 30, 25
+               0, 30, 25,
+               3, 100, 2
        },
 
        {
@@ -170,7 +185,8 @@ const player_class class_info[MAX_CLASS] =
                { -1, -1, -1, -1, -1, -1},
                15, 18, 28, 1, 12, 2, 40, 20,
                5, 7, 9, 0,  0,  0,  11, 11,
-               0, -30, 40
+               0, -30, 40,
+               4, 100, 3
        },
 
        {
@@ -181,7 +197,8 @@ const player_class class_info[MAX_CLASS] =
                { 0, 1, -1, 2, 0, 1},
                25, 30, 36, 2,  18, 16, 60, 50,
                7,  10,  10, 0,  0,  0,  18, 20,
-               5, 10, 20
+               5, 10, 20,
+               5, 70, 4
        },
 
        {
@@ -192,7 +209,8 @@ const player_class class_info[MAX_CLASS] =
                { 1, -1, -1, 1, 0, 2},
                20, 25, 32, 2,  18, 16, 52, 63,
                7,  10, 10, 0,  0,  0,  14, 25,
-               3, 20, 10
+               3, 20, 10,
+               5, 70, 3
        },
 
        {
@@ -204,7 +222,8 @@ const player_class class_info[MAX_CLASS] =
                {-5, 6, -2, 2, 0, -2},
                30, 48, 75, 2,  12, 22,  0, 0,
                 7, 18, 13, 0,  0,  0,  0, 0,
-               4, 60, 25
+               4, 60, 25,
+               1, 1, 1
        },
 
        {
@@ -216,7 +235,8 @@ const player_class class_info[MAX_CLASS] =
                { 2, -1, -1, 2, 1, 0},
                38, 24, 35, 4,  24, 16, 56, 82,
                12, 10, 10, 0,  0,  0,  18, 36,
-               6, 10, 40
+               6, 10, 40,
+               4, 70, 2
        },
 
        {
@@ -228,7 +248,8 @@ const player_class class_info[MAX_CLASS] =
                {-1, 2, 1, 2, -2, 1},
                25, 42, 36, 2,  20, 16, 48, 35,
                7,  16, 10,  0,  0,  0, 13, 11,
-               3, 30, 30
+               3, 30, 30,
+               5, 100, 3
        },
 
        {
@@ -239,7 +260,8 @@ const player_class class_info[MAX_CLASS] =
                {-2, 1, 2, -1, -2, 4},
                20, 33, 34, -5, 16, 20, 34, 20,
                8,  13, 11, 0,  0,  0,  10, 8,
-               2, 40, 25
+               2, 40, 25,
+               4, 70, 2
        },
 
        {
@@ -251,7 +273,8 @@ const player_class class_info[MAX_CLASS] =
                { 2, 2, -1, 1, 0, -1},
                20, 34, 34, 1,  16, 10, 56, 25,
                7,  11, 11, 0,  0,  0,  18, 11,
-               4, 40, 40
+               4, 40, 40,
+               5, 70, 3
        },
 
        {
@@ -263,7 +286,8 @@ const player_class class_info[MAX_CLASS] =
                { 3, -2, 1, 2, 1, 0},
                25, 18, 32, 2,  16, 6, 70, 40,
                12, 7,  10, 0,  0,  0,  23, 18,
-               6,  30, 40
+               6,  30, 40,
+               5, 70, 4
        },
 
        {
@@ -275,7 +299,8 @@ const player_class class_info[MAX_CLASS] =
                { 0, -1, 3, 2, 1, 1},
                30, 34, 38, 4, 32, 24, 50, 40,
                10, 11, 11, 0,  0,  0, 14, 15,
-               2, 35, 40
+               2, 35, 40,
+               4, 60, 2
        },
 
        {
@@ -287,7 +312,8 @@ const player_class class_info[MAX_CLASS] =
                {-4, 4, -1, 1, -2, -1},
                30, 40, 36, 3,  20, 16, 40, 25,
                7,  16, 11,  0,  0,  0,  6, 7,
-               2, 30, 35
+               2, 30, 35,
+               3, 100, 2
        },
 
        {
@@ -298,7 +324,8 @@ const player_class class_info[MAX_CLASS] =
                { 2, -2, -2, 2, 2, 0},
                20, 18, 32, 1,  16, 10, 60, 66,
                10,  7, 10, 0,  0,  0,  22, 26,
-               5, 20, 35
+               5, 20, 35,
+               5, 100, 3
        },
 
        {
@@ -310,7 +337,8 @@ const player_class class_info[MAX_CLASS] =
                { 8, -20, -20, 4, 4, -5},
                -100, -1000, -200, -100,  -100, -100, 120, -2000,
                0, 0,  0, 0,  0,  0,  50, 0,
-               11,  60, 255
+               11,  60, 255,
+               6, 70, 7
        },
 
        {
@@ -322,7 +350,8 @@ const player_class class_info[MAX_CLASS] =
                { 3, -1, -1, 1, 0, -1},
                30, 28, 28, 1,  20, 10, 60, 45,
                10, 10,  10, 0,  0,  0,  21, 15,
-               6,  30, 40
+               6,  30, 40,
+               5, 150, 5
        },
        {
 #ifdef JP
@@ -333,7 +362,8 @@ const player_class class_info[MAX_CLASS] =
                { -2,  3, 1, -1, -2, 1},
                30, 33, 40, 3, 14, 16, 34,30,
                10, 11, 12, 0,  0,  0,  6,10,
-               2,  30, 30
+               2,  30, 30,
+               3, 100, 3
        },
        {
 #ifdef JP
@@ -344,7 +374,8 @@ const player_class class_info[MAX_CLASS] =
                { 0,  -1, -1, 3, 2, -1},
                45, 24, 36, 8, 48, 32, 70,66,
                15, 10, 10, 0,  0,  0, 25,18,
-               2,  20, 40
+               2,  20, 40,
+               4, 20, 1
        },
 
        {
@@ -357,101 +388,11 @@ const player_class class_info[MAX_CLASS] =
                25, 24, 28, 5, 32, 18, 56,  72,
                12, 10, 10, 0,  0,  0, 18,  28,
                2, 20, 40,
+               4, 70, 2
        },
 };
 
 /*!
- * 職業毎に選択可能な第一領域魔法テーブル
- */
-const s32b realm_choices1[MAX_CLASS] =
-{
-       (CH_NONE),                              /* Warrior */
-       (CH_LIFE | CH_SORCERY | CH_NATURE |
-        CH_CHAOS | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* Mage */
-       (CH_LIFE | CH_DEATH | CH_DAEMON |
-        CH_CRUSADE),                              /* Priest */
-       (CH_SORCERY | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT),               /* Rogue */
-       (CH_NATURE),                            /* Ranger */
-       (CH_CRUSADE | CH_DEATH),                   /* Paladin */
-       (CH_ARCANE),                            /* Warrior-Mage */
-       (CH_CHAOS | CH_DAEMON),                 /* Chaos-Warrior */
-       (CH_LIFE | CH_NATURE | CH_DEATH |
-        CH_ENCHANT),                           /* Monk */
-       (CH_NONE),                              /* Mindcrafter */
-       (CH_LIFE | CH_SORCERY | CH_NATURE |
-        CH_CHAOS | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE | CH_HEX),                  /* High-Mage */
-       (CH_ARCANE),                            /* Tourist */
-       (CH_NONE),                              /* Imitator */
-       (CH_TRUMP),                             /* Beastmaster */
-       (CH_NONE),                              /* Sorcerer */
-       (CH_NONE),                              /* Archer */
-       (CH_NONE),                              /* Magic eater */
-       (CH_MUSIC),                             /* Bard */
-       (CH_NONE),                              /* Red Mage */
-       (CH_HISSATSU),                          /* Samurai */
-       (CH_LIFE | CH_NATURE | CH_DEATH |
-        CH_ENCHANT | CH_CRUSADE),                 /* ForceTrainer */
-       (CH_NONE),                              /* Blue Mage */
-       (CH_NONE),                              /* Cavalry */
-       (CH_NONE),                              /* Berserker */
-       (CH_NONE),                              /* Weaponsmith */
-       (CH_NONE),                              /* Mirror-master */
-       (CH_NONE),                              /* Ninja */
-       (CH_NONE),                              /* Sniper */
-};
-
-/*!
- * 職業毎に選択可能な第二領域魔法テーブル
- */
-const s32b realm_choices2[MAX_CLASS] =
-{
-       (CH_NONE),                              /* Warrior */
-       (CH_LIFE | CH_SORCERY | CH_NATURE |
-        CH_CHAOS | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* Mage */
-       (CH_LIFE | CH_SORCERY | CH_NATURE |
-        CH_CHAOS | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* Priest */
-       (CH_NONE),                              /* Rogue */
-       (CH_SORCERY | CH_CHAOS | CH_DEATH |
-        CH_TRUMP | CH_ARCANE | CH_DAEMON),     /* Ranger */
-       (CH_NONE),                              /* Paladin */
-       (CH_LIFE | CH_NATURE | CH_CHAOS |
-        CH_DEATH | CH_TRUMP | CH_ARCANE |
-        CH_SORCERY | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* Warrior-Mage */
-       (CH_NONE),                              /* Chaos-Warrior */
-       (CH_NONE),                              /* Monk */
-       (CH_NONE),                              /* Mindcrafter */
-       (CH_NONE),                              /* High-Mage */
-       (CH_NONE),                              /* Tourist */
-       (CH_NONE),                              /* Imitator */
-       (CH_NONE),                              /* Beastmanster */
-       (CH_NONE),                              /* Sorcerer */
-       (CH_NONE),                              /* Archer */
-       (CH_NONE),                              /* Magic eater */
-       (CH_NONE),                              /* Bard */
-       (CH_NONE),                              /* Red Mage */
-       (CH_NONE),                              /* Samurai */
-       (CH_NONE),                              /* ForceTrainer */
-       (CH_NONE),                              /* Blue Mage */
-       (CH_NONE),                              /* Cavalry */
-       (CH_NONE),                              /* Berserker */
-       (CH_NONE),                              /* Weaponsmith */
-       (CH_NONE),                              /* Mirror-master */
-       (CH_NONE),                              /* Ninja */
-       (CH_NONE),                              /* Sniper */
-};
-
-
-/*!
  * @brief 職業とレベル毎のプレイヤー称号テーブル / Class titles for the player.
  * <pre>
  * The player gets a new title every five levels, so each class
@@ -478,386 +419,386 @@ const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
        /* Mage */
        {
                /*"見習い",*/
-"練習生",                 /*丁稚、練習生 */
-"奇術師",               /*詐欺師、ペテン師 */
-"幻術師",
-"呪術師",
-"召霊師",
-"召魔師",
-"魔術師",
-"魔道師",
-"イプシシマス",
-"大魔道師",
-},
-
-/* Priest */
-{
-       "信者",                 /*信徒 */
-       "侍僧",             /*教会奉仕者、見習い僧、伴僧、従者 */
-       "熟練僧",
-       "聖職者",                 /*聖職者 */
-       "伝道師",               /*司祭評議員、修道会会員 */
-       "牧師",               /*ラマ教の僧 */
-       "聖人",               /*大司教、総主教、総大司教 */
-       "祭司",                 /*祭司、司祭 */
-       "祭司長",               /*大祭司、祭司長 */
-       "教皇",
-},
-
-/* Rogues */
-{
-       /* "ごろつき",*/                     /*ごろつき、風来坊、浮浪者 */
-       "すり",
-       "追いはぎ",                     /*追い剥ぎ、強盗、泥棒 */
-       "夜盗",                         /*強盗、夜盗、泥棒 */
-       "こそ泥",                       /*こそ泥、小泥棒 */
-       "ペテン師",                     /*博徒、ペテン師、詐欺師 */
-       "ロウシーフ",
-       "ハイシーフ",
-       "マスター", /* "マスターシーフ", */
-       "アサシン",                                         /* 暗殺者 */
-       "頭領", /*"ギルドマスター",*/
-},
-
-/* Rangers */
-{
-       "使い走り",
-       "馳夫",
-       "斥候",                         /*斥候、見張り、偵察兵 */
-       "狩人",
-       "追跡者",
-       "先導者",
-       "探険者",                       /*開拓者、探険者 */
-       "野伏",
-       "野伏頭",
-       "野伏の総領",
-},
-
-/* Paladins */
-{
-       "勇士",                 /*色男、愛人、しゃれ者、勇敢な人 */
-       "衛士",
-       "保護者",
-       "防衛者",
-       "護衛者",
-       "騎士",
-       "重騎士",
-       "聖騎士",
-       "上級聖騎士",
-       "聖騎士団長",
-},
-
-/* Warrior-Mage */
-{
-       "見習い",
-       "徒弟",                       /*丁稚、練習生 */
-       "一人前",
-       "古参兵",
-       "魔術兵士",
-       "魔術闘士",
-       "魔術の英雄", /* Mage-Hero */
-       "魔男爵",
-       /* "魔公爵", */
-       "戦闘魔術士",
-       "知識の守護者", /* "ウィザードロード", */
-},
-
-/* Chaos Warrior */
-{
-       "新参兵",
-       "兵士",
-       "傭兵",
-       "古参兵",
-       "剣士",
-       "闘士",
-       "混沌の英雄",
-       "混沌の男爵",
-       "混沌の公爵",
-       "混沌の王者",
-},
-
-/* Monk */
-{
-       "入門者",
-       "弟子",
-       "直弟子",
-       "師範代",
-       "師範",
-       "道場主",
-       "名人",
-       "大名人",
-       "拳聖",
-       "拳神",
-},
-
-/* Mindcrafter */
-{
-       "練習生",
-       "見習い",
-       "熟練士",
-       "熟達士",
-       "黙想士",
-       "心術士",
-       "サイキック",
-       "サイオニック",
-       "超能力者",
-       "精神の支配者", /* "マインドマスター", */
-},
-
-/* High Mage; same as Mage */
-{
-       /*"見習い",*/
-"練習生",                 /*丁稚、練習生 */
-"奇術師",               /*詐欺師、ペテン師 */
-"幻術師",
-"呪術師",
-"召霊師",
-"召魔師",
-"魔術師",
-"魔道師",
-"イプシシマス",
-"大魔道師",
-},
-
-/* Tourist */
-{
-       "プー太郎",
-       "観光客",
-       "周遊旅行者",
-       "遍歴者",
-       "旅行者",
-       "放浪者", /* "旅人", */
-       "航海者",
-       "探検家",
-       "冒険家",
-       "スペランカー",
-},
-
-/* Imitator */
-{
-       "これから",
-       "いまいち",
-       "まだまだ",
-       "ぼちぼち",
-       "そこそこ",
-       "まあまあ",
-       "なかなか",
-       "いけいけ",
-       "そうとう",
-       "えらい",
-},
-
-/* Beastmaster */
-{
-       "イモリ使い",
-       "ヘビ使い",
-       "クモ使い",
-       "狼使い",
-       "トラ使い",
-       "甲虫使い",
-       "ヒドラ使い",
-       "ハウンド使い",
-       "ムーマク使い",
-       "ドラゴン使い",
-},
-
-/* Sorcerer; same as Mage */
-{
-       /*"見習い",*/
-"練習生",                 /*丁稚、練習生 */
-"奇術師",               /*詐欺師、ペテン師 */
-"幻術師",
-"呪術師",
-"召霊師",
-"召魔師",
-"魔術師",
-"魔道師",
-"イプシシマス",
-"大魔道師",
-},
-
-/* Archer */
-{
-       "新参兵",
-       "兵士",
-       "傭兵",
-       "古参兵",
-       "剣士",
-       "闘士",
-       "英雄",
-       "男爵",
-       "伯爵",
-       "領主",
-},
-
-/* Magic eater */
-{
-       "無知なる者",
-       "入門者",
-       "奇術師",
-       "秘術師",
-       "秘術師",
-       "熟練者",
-       "達人",
-       "達人",
-       "魔道師",
-       "全てを知る者",
-},
-
-/* Bard */
-{
-       "見習い",    /*"Apprentice"*/
-       "作曲家",    /*"Songsmith"*/
-       "吟遊詩人", /*"Bard"*/
-       "コンパニオン",   /*"Companion"*/
-       "心の癒し手",      /*"Minstrel"*/
-       "竪琴師",    /*"Harper"*/
-       "伝承の紡ぎ手",   /*"Loreweaver"*/
-       "詩神の申し子",   /*"Muse"*/
-       "夢紡ぎ",    /*"Dreamweaver"*/
-       "マスター", /*"Master Harper"*/
-},
-
-/* Red Mage; same as Warrior-Mage */
-{
-       "見習い",
-       "徒弟",                       /*丁稚、練習生 */
-       "一人前",
-       "古参兵",
-       "魔術兵士",
-       "魔術闘士",
-       "魔術の英雄", /* Mage-Hero */
-       "魔男爵",
-       /* "魔公爵", */
-       "戦闘魔術士",
-       "知識の守護者", /* "ウィザードロード", */
-},
-
-/* Samurai */
-{
-       "入門者",
-       "弟子",
-       "直弟子",
-       "師範代",
-       "師範",
-       "道場主",
-       "名人",
-       "大名人",
-       "剣聖",
-       "剣神",
-},
-
-/* ForceTrainer; same as Monk(?) */
-{
-       "入門者",
-       "弟子",
-       "直弟子",
-       "師範代",
-       "師範",
-       "道場主",
-       "名人",
-       "大名人",
-       "拳聖",
-       "拳神",
-},
-
-/* Blue Mage; same as Mage */
-{
-       /*"見習い",*/
-"練習生",                 /*丁稚、練習生 */
-"奇術師",               /*詐欺師、ペテン師 */
-"幻術師",
-"呪術師",
-"召霊師",
-"召魔師",
-"魔術師",
-"魔道師",
-"イプシシマス",
-"大魔道師",
-},
-
-/* Cavalry */
-{
-       "新参兵",
-       "兵士",
-       "傭兵",
-       "古参兵",
-       "剣士",
-       "闘士",
-       "英雄",
-       "男爵",
-       "伯爵",
-       "領主",
-},
-
-/* Berserker */
-{
-       "バーサーカー",
-       "バーサーカー",
-       "バーサーカー",
-       "怒りの公爵",
-       "怒りの公爵",
-       "怒りの公爵",
-       "怒りの王",
-       "怒りの王",
-       "怒りの王",
-       "怒りの化身",
-},
-
-/* Weaponsmith */
-{
-       "銅を鍛えし者",
-       "鉄を鍛えし者",
-       "鋼を鍛えし者",
-       "銀を鍛えし者",
-       "竜を鍛えし者",
-       "霊を鍛えし者",
-       "魔を鍛えし者",
-       "魂を鍛えし者",
-       "神を鍛えし者",
-       "全を鍛えし者",
-},
-
-/* Mirror Master */
-{
-       "鏡を見る人",
-       "鏡磨き",
-       "鏡職人",
-       "鏡術師",
-       "鏡導師",
-       "鏡の賢者",
-       "鏡の王",
-       "鏡の皇帝",
-       "鏡の化身",
-       "ラフノール王",
-},
-/* Ninja */
-{
-       "訓練生",
-       "仕手",
-       "熟達者",
-       "短刀使い",
-       "切り裂き",
-       "凄腕",
-       "漆黒の刃",
-       "闇の一撃",
-       "暗殺者",
-       "死の長き腕",
-},
-
-/* Sniper */
-{
-       "新参兵",
-       "兵士",
-       "傭兵",
-       "古参兵",
-       "剣士",
-       "闘士",
-       "英雄",
-       "男爵",
-       "伯爵",
-       "領主",
-},
+               "練習生",                 /*丁稚、練習生 */
+               "奇術師",               /*詐欺師、ペテン師 */
+               "幻術師",
+               "呪術師",
+               "召霊師",
+               "召魔師",
+               "魔術師",
+               "魔道師",
+               "イプシシマス",
+               "大魔道師",
+       },
+
+       /* Priest */
+       {
+               "信者",                 /*信徒 */
+               "侍僧",             /*教会奉仕者、見習い僧、伴僧、従者 */
+               "熟練僧",
+               "聖職者",                 /*聖職者 */
+               "伝道師",               /*司祭評議員、修道会会員 */
+               "牧師",               /*ラマ教の僧 */
+               "聖人",               /*大司教、総主教、総大司教 */
+               "祭司",                 /*祭司、司祭 */
+               "祭司長",               /*大祭司、祭司長 */
+               "教皇",
+       },
+
+       /* Rogues */
+       {
+               /* "ごろつき",*/                     /*ごろつき、風来坊、浮浪者 */
+               "すり",
+               "追いはぎ",                     /*追い剥ぎ、強盗、泥棒 */
+               "夜盗",                         /*強盗、夜盗、泥棒 */
+               "こそ泥",                       /*こそ泥、小泥棒 */
+               "ペテン師",                     /*博徒、ペテン師、詐欺師 */
+               "ロウシーフ",
+               "ハイシーフ",
+               "マスター", /* "マスターシーフ", */
+               "アサシン",                                         /* 暗殺者 */
+               "頭領", /*"ギルドマスター",*/
+       },
+
+       /* Rangers */
+       {
+               "使い走り",
+               "馳夫",
+               "斥候",                         /*斥候、見張り、偵察兵 */
+               "狩人",
+               "追跡者",
+               "先導者",
+               "探険者",                       /*開拓者、探険者 */
+               "野伏",
+               "野伏頭",
+               "野伏の総領",
+       },
+
+       /* Paladins */
+       {
+               "勇士",                 /*色男、愛人、しゃれ者、勇敢な人 */
+               "衛士",
+               "保護者",
+               "防衛者",
+               "護衛者",
+               "騎士",
+               "重騎士",
+               "聖騎士",
+               "上級聖騎士",
+               "聖騎士団長",
+       },
+
+       /* Warrior-Mage */
+       {
+               "見習い",
+               "徒弟",                       /*丁稚、練習生 */
+               "一人前",
+               "古参兵",
+               "魔術兵士",
+               "魔術闘士",
+               "魔術の英雄", /* Mage-Hero */
+               "魔男爵",
+               /* "魔公爵", */
+               "戦闘魔術士",
+               "知識の守護者", /* "ウィザードロード", */
+       },
+
+       /* Chaos Warrior */
+       {
+               "新参兵",
+               "兵士",
+               "傭兵",
+               "古参兵",
+               "剣士",
+               "闘士",
+               "混沌の英雄",
+               "混沌の男爵",
+               "混沌の公爵",
+               "混沌の王者",
+       },
+
+       /* Monk */
+       {
+               "入門者",
+               "弟子",
+               "直弟子",
+               "師範代",
+               "師範",
+               "道場主",
+               "名人",
+               "大名人",
+               "拳聖",
+               "拳神",
+       },
+
+       /* Mindcrafter */
+       {
+               "練習生",
+               "見習い",
+               "熟練士",
+               "熟達士",
+               "黙想士",
+               "心術士",
+               "サイキック",
+               "サイオニック",
+               "超能力者",
+               "精神の支配者", /* "マインドマスター", */
+       },
+
+       /* High Mage; same as Mage */
+       {
+               /*"見習い",*/
+               "練習生",                 /*丁稚、練習生 */
+               "奇術師",               /*詐欺師、ペテン師 */
+               "幻術師",
+               "呪術師",
+               "召霊師",
+               "召魔師",
+               "魔術師",
+               "魔道師",
+               "イプシシマス",
+               "大魔道師",
+       },
+
+       /* Tourist */
+       {
+               "プー太郎",
+               "観光客",
+               "周遊旅行者",
+               "遍歴者",
+               "旅行者",
+               "放浪者", /* "旅人", */
+               "航海者",
+               "探検家",
+               "冒険家",
+               "スペランカー",
+       },
+
+       /* Imitator */
+       {
+               "これから",
+               "いまいち",
+               "まだまだ",
+               "ぼちぼち",
+               "そこそこ",
+               "まあまあ",
+               "なかなか",
+               "いけいけ",
+               "そうとう",
+               "えらい",
+       },
+
+       /* Beastmaster */
+       {
+               "イモリ使い",
+               "ヘビ使い",
+               "クモ使い",
+               "狼使い",
+               "トラ使い",
+               "甲虫使い",
+               "ヒドラ使い",
+               "ハウンド使い",
+               "ムーマク使い",
+               "ドラゴン使い",
+       },
+
+       /* Sorcerer; same as Mage */
+       {
+               /*"見習い",*/
+               "練習生",                 /*丁稚、練習生 */
+               "奇術師",               /*詐欺師、ペテン師 */
+               "幻術師",
+               "呪術師",
+               "召霊師",
+               "召魔師",
+               "魔術師",
+               "魔道師",
+               "イプシシマス",
+               "大魔道師",
+       },
+
+       /* Archer */
+       {
+               "新参兵",
+               "兵士",
+               "傭兵",
+               "古参兵",
+               "剣士",
+               "闘士",
+               "英雄",
+               "男爵",
+               "伯爵",
+               "領主",
+       },
+
+       /* Magic eater */
+       {
+               "無知なる者",
+               "入門者",
+               "奇術師",
+               "秘術師",
+               "秘術師",
+               "熟練者",
+               "達人",
+               "達人",
+               "魔道師",
+               "全てを知る者",
+       },
+
+       /* Bard */
+       {
+               "見習い",    /*"Apprentice"*/
+               "作曲家",    /*"Songsmith"*/
+               "吟遊詩人", /*"Bard"*/
+               "コンパニオン",   /*"Companion"*/
+               "心の癒し手",      /*"Minstrel"*/
+               "竪琴師",    /*"Harper"*/
+               "伝承の紡ぎ手",   /*"Loreweaver"*/
+               "詩神の申し子",   /*"Muse"*/
+               "夢紡ぎ",    /*"Dreamweaver"*/
+               "マスター", /*"Master Harper"*/
+       },
+
+       /* Red Mage; same as Warrior-Mage */
+       {
+               "見習い",
+               "徒弟",                       /*丁稚、練習生 */
+               "一人前",
+               "古参兵",
+               "魔術兵士",
+               "魔術闘士",
+               "魔術の英雄", /* Mage-Hero */
+               "魔男爵",
+               /* "魔公爵", */
+               "戦闘魔術士",
+               "知識の守護者", /* "ウィザードロード", */
+       },
+
+       /* Samurai */
+       {
+               "入門者",
+               "弟子",
+               "直弟子",
+               "師範代",
+               "師範",
+               "道場主",
+               "名人",
+               "大名人",
+               "剣聖",
+               "剣神",
+       },
+
+       /* ForceTrainer; same as Monk(?) */
+       {
+               "入門者",
+               "弟子",
+               "直弟子",
+               "師範代",
+               "師範",
+               "道場主",
+               "名人",
+               "大名人",
+               "拳聖",
+               "拳神",
+       },
+
+       /* Blue Mage; same as Mage */
+       {
+               /*"見習い",*/
+               "練習生",                 /*丁稚、練習生 */
+               "奇術師",               /*詐欺師、ペテン師 */
+               "幻術師",
+               "呪術師",
+               "召霊師",
+               "召魔師",
+               "魔術師",
+               "魔道師",
+               "イプシシマス",
+               "大魔道師",
+       },
+
+       /* Cavalry */
+       {
+               "新参兵",
+               "兵士",
+               "傭兵",
+               "古参兵",
+               "剣士",
+               "闘士",
+               "英雄",
+               "男爵",
+               "伯爵",
+               "領主",
+       },
+
+       /* Berserker */
+       {
+               "バーサーカー",
+               "バーサーカー",
+               "バーサーカー",
+               "怒りの公爵",
+               "怒りの公爵",
+               "怒りの公爵",
+               "怒りの王",
+               "怒りの王",
+               "怒りの王",
+               "怒りの化身",
+       },
+
+       /* Weaponsmith */
+       {
+               "銅を鍛えし者",
+               "鉄を鍛えし者",
+               "鋼を鍛えし者",
+               "銀を鍛えし者",
+               "竜を鍛えし者",
+               "霊を鍛えし者",
+               "魔を鍛えし者",
+               "魂を鍛えし者",
+               "神を鍛えし者",
+               "全を鍛えし者",
+       },
+
+       /* Mirror Master */
+       {
+               "鏡を見る人",
+               "鏡磨き",
+               "鏡職人",
+               "鏡術師",
+               "鏡導師",
+               "鏡の賢者",
+               "鏡の王",
+               "鏡の皇帝",
+               "鏡の化身",
+               "ラフノール王",
+       },
+       /* Ninja */
+       {
+               "訓練生",
+               "仕手",
+               "熟達者",
+               "短刀使い",
+               "切り裂き",
+               "凄腕",
+               "漆黒の刃",
+               "闇の一撃",
+               "暗殺者",
+               "死の長き腕",
+       },
+
+       /* Sniper */
+       {
+               "新参兵",
+               "兵士",
+               "傭兵",
+               "古参兵",
+               "剣士",
+               "闘士",
+               "英雄",
+               "男爵",
+               "伯爵",
+               "領主",
+       },
 };
 
 #else
@@ -1256,121 +1197,3 @@ const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
        },
 };
 #endif
-
-void calc_class_status(player_type *creature_ptr)
-{
-    switch (creature_ptr->pclass) {
-    case CLASS_WARRIOR:
-        if (creature_ptr->lev > 29)
-            creature_ptr->resist_fear = TRUE;
-        if (creature_ptr->lev > 44)
-            creature_ptr->regenerate = TRUE;
-        break;
-    case CLASS_PALADIN:
-        if (creature_ptr->lev > 39)
-            creature_ptr->resist_fear = TRUE;
-        break;
-    case CLASS_CHAOS_WARRIOR:
-        if (creature_ptr->lev > 29)
-            creature_ptr->resist_chaos = TRUE;
-        if (creature_ptr->lev > 39)
-            creature_ptr->resist_fear = TRUE;
-        break;
-    case CLASS_MINDCRAFTER:
-        if (creature_ptr->lev > 9)
-            creature_ptr->resist_fear = TRUE;
-        if (creature_ptr->lev > 19)
-            creature_ptr->sustain_wis = TRUE;
-        if (creature_ptr->lev > 29)
-            creature_ptr->resist_conf = TRUE;
-        if (creature_ptr->lev > 39)
-            creature_ptr->telepathy = TRUE;
-        break;
-    case CLASS_MONK:
-    case CLASS_FORCETRAINER:
-        if (!(heavy_armor(creature_ptr))) {
-            if (!(is_specific_player_race(creature_ptr, RACE_KLACKON) || is_specific_player_race(creature_ptr, RACE_SPRITE)
-                    || (creature_ptr->pseikaku == PERSONALITY_MUNCHKIN)))
-                creature_ptr->pspeed += (creature_ptr->lev) / 10;
-
-            if (creature_ptr->lev > 24)
-                creature_ptr->free_act = TRUE;
-        }
-
-        break;
-    case CLASS_SORCERER:
-        creature_ptr->to_a -= 50;
-        creature_ptr->dis_to_a -= 50;
-        break;
-    case CLASS_BARD:
-        creature_ptr->resist_sound = TRUE;
-        break;
-    case CLASS_SAMURAI:
-        if (creature_ptr->lev > 29)
-            creature_ptr->resist_fear = TRUE;
-        break;
-    case CLASS_BERSERKER:
-        creature_ptr->shero = 1;
-        creature_ptr->sustain_str = TRUE;
-        creature_ptr->sustain_dex = TRUE;
-        creature_ptr->sustain_con = TRUE;
-        creature_ptr->regenerate = TRUE;
-        creature_ptr->free_act = TRUE;
-        creature_ptr->pspeed += 2;
-        if (creature_ptr->lev > 29)
-            creature_ptr->pspeed++;
-        if (creature_ptr->lev > 39)
-            creature_ptr->pspeed++;
-        if (creature_ptr->lev > 44)
-            creature_ptr->pspeed++;
-        if (creature_ptr->lev > 49)
-            creature_ptr->pspeed++;
-        creature_ptr->to_a += 10 + creature_ptr->lev / 2;
-        creature_ptr->dis_to_a += 10 + creature_ptr->lev / 2;
-        creature_ptr->skill_dig += (100 + creature_ptr->lev * 8);
-        if (creature_ptr->lev > 39)
-            creature_ptr->reflect = TRUE;
-        creature_ptr->redraw |= PR_STATUS;
-        break;
-    case CLASS_MIRROR_MASTER:
-        if (creature_ptr->lev > 39)
-            creature_ptr->reflect = TRUE;
-        break;
-    case CLASS_NINJA:
-        if (heavy_armor(creature_ptr)) {
-            creature_ptr->pspeed -= (creature_ptr->lev) / 10;
-            creature_ptr->skill_stl -= (creature_ptr->lev) / 10;
-        } else if ((!creature_ptr->inventory_list[INVEN_RARM].k_idx || creature_ptr->migite)
-            && (!creature_ptr->inventory_list[INVEN_LARM].k_idx || creature_ptr->hidarite)) {
-            creature_ptr->pspeed += 3;
-            if (!(is_specific_player_race(creature_ptr, RACE_KLACKON) || is_specific_player_race(creature_ptr, RACE_SPRITE)
-                    || (creature_ptr->pseikaku == PERSONALITY_MUNCHKIN)))
-                creature_ptr->pspeed += (creature_ptr->lev) / 10;
-            creature_ptr->skill_stl += (creature_ptr->lev) / 10;
-            if (creature_ptr->lev > 24)
-                creature_ptr->free_act = TRUE;
-        }
-
-        if ((!creature_ptr->inventory_list[INVEN_RARM].k_idx || creature_ptr->migite)
-            && (!creature_ptr->inventory_list[INVEN_LARM].k_idx || creature_ptr->hidarite)) {
-            creature_ptr->to_a += creature_ptr->lev / 2 + 5;
-            creature_ptr->dis_to_a += creature_ptr->lev / 2 + 5;
-        }
-
-        creature_ptr->slow_digest = TRUE;
-        creature_ptr->resist_fear = TRUE;
-        if (creature_ptr->lev > 19)
-            creature_ptr->resist_pois = TRUE;
-        if (creature_ptr->lev > 24)
-            creature_ptr->sustain_dex = TRUE;
-        if (creature_ptr->lev > 29)
-            creature_ptr->see_inv = TRUE;
-        if (creature_ptr->lev > 44) {
-            creature_ptr->oppose_pois = 1;
-            creature_ptr->redraw |= PR_STATUS;
-        }
-
-        creature_ptr->see_nocto = TRUE;
-        break;
-    }
-}