OSDN Git Service

Merge pull request #917 from Hourier/feature/Separate-Player-Type-Definition
[hengbandforosx/hengbandosx.git] / src / player-info / class-ability-info.cpp
1 #include "player-info/class-ability-info.h"
2 #include "player-info/self-info-util.h"
3 #include "realm/realm-names-table.h"
4 #include "realm/realm-types.h"
5 #include "system/player-type-definition.h"
6
7 void set_class_ability_info(player_type *creature_ptr, self_info_type *self_ptr)
8 {
9     switch (creature_ptr->pclass) {
10     case CLASS_WARRIOR:
11         if (creature_ptr->lev > 39)
12             self_ptr->info[self_ptr->line++]
13                 = _("あなたはランダムな方向に対して数回攻撃することができる。(75 HP)", "You can attack some random directions simultaneously (cost 75).");
14
15         break;
16     case CLASS_HIGH_MAGE:
17         if (creature_ptr->realm1 == REALM_HEX)
18             break;
19         /* Fall through */
20     case CLASS_MAGE:
21     case CLASS_SORCERER:
22         if (creature_ptr->lev > 24)
23             self_ptr->info[self_ptr->line++] = _("あなたはアイテムの魔力を吸収することができる。(1 MP)", "You can absorb charges from an item (cost 1).");
24
25         break;
26     case CLASS_PRIEST:
27         if (is_good_realm(creature_ptr->realm1)) {
28             if (creature_ptr->lev > 34)
29                 self_ptr->info[self_ptr->line++] = _("あなたは武器を祝福することができる。(70 MP)", "You can bless a weapon (cost 70).");
30
31             break;
32         }
33
34         if (creature_ptr->lev > 41)
35             self_ptr->info[self_ptr->line++]
36                 = _("あなたは周りのすべてのモンスターを攻撃することができる。(40 MP)", "You can damage all monsters in sight (cost 40).");
37
38         break;
39     case CLASS_ROGUE:
40         if (creature_ptr->lev > 7)
41             self_ptr->info[self_ptr->line++]
42                 = _("あなたは攻撃して即座に逃げることができる。(12 MP)", "You can hit a monster and teleport away simultaneously (cost 12).");
43
44         break;
45     case CLASS_RANGER:
46         if (creature_ptr->lev > 14)
47             self_ptr->info[self_ptr->line++] = _("あなたは怪物を調査することができる。(20 MP)", "You can probe monsters (cost 20).");
48
49         break;
50     case CLASS_PALADIN:
51         if (is_good_realm(creature_ptr->realm1)) {
52             if (creature_ptr->lev > 29) {
53                 self_ptr->info[self_ptr->line++] = _("あなたは聖なる槍を放つことができる。(30 MP)", "You can fire a holy spear (cost 30).");
54             }
55
56             break;
57         }
58
59         if (creature_ptr->lev > 29)
60             self_ptr->info[self_ptr->line++]
61                 = _("あなたは生命力を減少させる槍を放つことができる。(30 MP)", "You can fire a spear which drains vitality (cost 30).");
62
63         break;
64     case CLASS_WARRIOR_MAGE:
65         if (creature_ptr->lev > 24) {
66             self_ptr->info[self_ptr->line++] = _("あなたはHPをMPに変換することができる。(消費なし)", "You can convert HP to SP (cost 0).");
67             self_ptr->info[self_ptr->line++] = _("あなたはMPをHPに変換することができる。(消費なし)", "You can convert SP to HP (cost 0).");
68         }
69
70         break;
71     case CLASS_CHAOS_WARRIOR:
72         if (creature_ptr->lev > 39) {
73             self_ptr->info[self_ptr->line++]
74                 = _("あなたは周囲に怪物を惑わす光を発生させることができる。(50 MP)", "You can radiate light which confuses nearby monsters (cost 50).");
75         }
76
77         break;
78     case CLASS_MONK:
79         if (creature_ptr->lev > 24)
80             self_ptr->info[self_ptr->line++] = _("あなたは構えることができる。(消費なし)", "You can assume a special stance (cost 0).");
81
82         if (creature_ptr->lev > 29)
83             self_ptr->info[self_ptr->line++]
84                 = _("あなたは通常の2倍の攻撃を行うことができる。(30 MP)", "You can perform two attacks at the same time (cost 30).");
85
86         break;
87     case CLASS_MINDCRAFTER:
88     case CLASS_FORCETRAINER:
89     case CLASS_ELEMENTALIST:
90         if (creature_ptr->lev > 14)
91             self_ptr->info[self_ptr->line++]
92                 = _("あなたは精神を集中してMPを回復させることができる。(消費なし)", "You can concentrate to regenerate your mana (cost 0).");
93
94         break;
95     case CLASS_TOURIST:
96         self_ptr->info[self_ptr->line++] = _("あなたは写真を撮影することができる。(消費なし)", "You can take a photograph (cost 0).");
97
98         if (creature_ptr->lev > 24)
99             self_ptr->info[self_ptr->line++] = _("あなたはアイテムを完全に鑑定することができる。(20 MP)", "You can *identify* items (cost 20).");
100
101         break;
102     case CLASS_IMITATOR:
103         if (creature_ptr->lev > 29)
104             self_ptr->info[self_ptr->line++] = _("あなたは怪物の特殊攻撃をダメージ2倍でまねることができる。(100 MP)",
105                 "You can imitate monster's special attacks with double damage (cost 100).");
106
107         break;
108     case CLASS_BEASTMASTER:
109         self_ptr->info[self_ptr->line++]
110             = _("あなたは1体の生命のあるモンスターを支配することができる。((レベル+3)/4 MP)", "You can dominate a monster (cost (level+3)/4).");
111
112         if (creature_ptr->lev > 29)
113             self_ptr->info[self_ptr->line++] = _("あなたは視界内の生命のあるモンスターを支配することができる。((レベル+20)/2 MP)",
114                 "You can dominate living monsters in sight (cost (level+20)/2).");
115
116         break;
117     case CLASS_MAGIC_EATER:
118         self_ptr->info[self_ptr->line++]
119             = _("あなたは杖/魔法棒/ロッドの魔力を自分のものにすることができる。(消費なし)", "You can absorb a staff, wand or rod itself (cost 0).");
120
121         if (creature_ptr->lev > 9)
122             self_ptr->info[self_ptr->line++] = _("あなたは杖/魔法棒/ロッドの魔力を強力に発動することができる。(10+(レベル-10)/2 HP)",
123                 "You can powerfully activate a staff, wand or rod (cost 10+(level-10)/2).");
124
125         break;
126     case CLASS_RED_MAGE:
127         if (creature_ptr->lev > 47)
128             self_ptr->info[self_ptr->line++] = _("あなたは1ターンに2回魔法を唱えることができる。(20 MP)", "You can cast two spells simultaneously (cost 20).");
129
130         break;
131     case CLASS_SAMURAI:
132         self_ptr->info[self_ptr->line++]
133             = _("あなたは精神を集中して気合いを溜めることができる。(消費なし)", "You can concentrate to regenerate your mana (cost 0).");
134
135         if (creature_ptr->lev > 24)
136             self_ptr->info[self_ptr->line++] = _("あなたは特殊な型で構えることができる。(消費なし)", "You can assume a special stance (cost 0).");
137
138         break;
139     case CLASS_BLUE_MAGE:
140         self_ptr->info[self_ptr->line++]
141             = _("あなたは相手に使われた魔法を学ぶことができる。(消費なし)", "You can study spells which your enemy casts on you (cost 0).");
142         break;
143     case CLASS_CAVALRY:
144         if (creature_ptr->lev > 9)
145             self_ptr->info[self_ptr->line++] = _("あなたはモンスターに乗って無理矢理ペットにすることができる。(消費なし)",
146                 "You can ride on a hostile monster to forcibly turn it into a pet  (cost 0).");
147
148         break;
149     case CLASS_BERSERKER:
150         if (creature_ptr->lev > 9)
151             self_ptr->info[self_ptr->line++]
152                 = _("あなたは街とダンジョンの間を行き来することができる。(10 HP)", "You can travel between town and the depths (cost 10).");
153
154         break;
155     case CLASS_SMITH:
156         if (creature_ptr->lev > 4)
157             self_ptr->info[self_ptr->line++] = _("あなたは武器や防具を鑑定することができる。(15 HP)", "You can identify weapons or armours (cost 15).");
158
159         break;
160     case CLASS_MIRROR_MASTER:
161         self_ptr->info[self_ptr->line++] = _("あなたは鏡を作り出すことができる。(2 MP)", "You can create a Mirror (cost 2).");
162         self_ptr->info[self_ptr->line++] = _("あなたは鏡を割ることができる。(消費なし)", "You can break distant Mirrors (cost 0).");
163         break;
164     case CLASS_NINJA:
165         if (creature_ptr->lev > 19)
166             self_ptr->info[self_ptr->line++] = _("あなたは素早く移動することができる。(消費なし)", "You can walk extremely fast (cost 0).");
167
168         break;
169
170     case CLASS_ARCHER:
171     case CLASS_BARD:
172     case CLASS_SNIPER:
173     case MAX_CLASS:
174         break;
175     }
176 }