OSDN Git Service

[Refactor] #37353 autopick.h を作成して関連構造体と変数を移動.
[hengband/hengband.git] / src / player-class.c
1 
2 #include "angband.h"
3 #include "player-class.h"
4
5 /*
6  * The magic info
7  */
8 const player_magic *mp_ptr;
9 player_magic *m_info;
10
11
12 const player_class *cp_ptr;
13
14 /*!
15  * @brief 職業情報 /
16  * Player Classes
17  * @details
18  * <pre>
19  *      Title,
20  *      {STR,INT,WIS,DEX,CON,CHR},
21  *      c_dis, c_dev, c_sav, c_stl, c_srh, c_fos, c_thn, c_thb,
22  *      x_dis, x_dev, x_sav, x_stl, x_srh, x_fos, x_thn, x_thb,
23  *      HD, Exp, pet_upkeep_div
24  * </pre>
25  */
26 const player_class class_info[MAX_CLASS] =
27 {
28         {
29 #ifdef JP
30                 "戦士",
31 #endif
32                 "Warrior",
33
34                 { 4, -2, -2, 2, 2, -1},
35                 25, 18, 31, 1,  14, 2, 70, 55,
36                 12, 7,  10, 0,  0,  0,  30, 30,
37                 9,  0, 40
38         },
39
40         {
41 #ifdef JP
42                 "メイジ",
43 #endif
44                 "Mage",
45
46                 {-4, 3, 0, 1, -2, 1},
47                 30, 40, 38, 3,  16, 20, 34, 20,
48                 7,  15, 11,  0,  0,  0,  6, 7,
49                 0, 30, 30
50         },
51
52         {
53 #ifdef JP
54                 "プリースト",
55 #endif
56                 "Priest",
57
58                 {-1, -3, 3, -1, 0, 2},
59                 25, 35, 40, 2,  16, 8, 48, 35,
60                 7,  11, 12, 0,  0,  0, 13, 11,
61                 2, 20, 35
62         },
63
64         {
65 #ifdef JP
66                 "盗賊",
67 #endif
68                 "Rogue",
69
70                 { 2, 1, -2, 3, 1, -1},
71                 45, 37, 36, 5, 32, 24, 60, 66,
72                 15, 12, 10, 0,  0,  0, 21, 18,
73                 6, 25, 40
74         },
75
76         {
77 #ifdef JP
78                 "レンジャー",
79 #endif
80                 "Ranger",
81
82                 { 2, 2, 0, 1, 1, 1},
83                 30, 37, 36, 3,  24, 16, 56, 72,
84                 8,  11, 10, 0,  0,  0,  18, 28,
85                 4, 40, 35
86         },
87
88         {
89 #ifdef JP
90                 "パラディン",
91 #endif
92                 "Paladin",
93
94                 { 3, -3, 1, 0, 2, 2},
95                 20, 24, 34, 1,  12, 2, 68, 40,
96                 7,  10, 11, 0,  0,  0,  21, 18,
97                 6, 35, 40
98         },
99
100         {
101 #ifdef JP
102                 "魔法戦士",
103 #endif
104                 "Warrior-Mage",
105
106                 { 2, 2, 0, 1, 0, 1},
107                 30, 35, 36, 2,  18, 16, 50, 25,
108                 7,  10, 10, 0,  0,  0,  15, 11,
109                 4, 40, 35
110         },
111
112         {
113 #ifdef JP
114                 "混沌の戦士",
115 #endif
116                 "Chaos-Warrior",
117
118                 { 2, 1, -1, 0, 2, -2},
119                 20, 25, 34, 1,  14, 12, 65, 40,
120                 7,  11, 10, 0,  0,  0,  20, 17,
121                 6, 25, 40
122         },
123
124         {
125 #ifdef JP
126                 "修行僧",
127 #endif
128                 "Monk",
129
130                 { 2, -1, 1, 3, 2, 1},
131                 45, 34, 36, 5, 32, 24, 64, 60,
132                 15, 11, 10, 0,  0,  0, 18, 18,
133                 6, 30, 35
134         },
135
136         {
137 #ifdef JP
138                 "超能力者",
139 #endif
140                 "Mindcrafter",
141
142                 {-1, 0, 3, -1, -1, 2},   /* note: spell stat is Wis */
143                 30, 33, 38, 3,  22, 16, 50, 40,
144                 10, 11, 10, 0,   0,  0, 14, 18,
145                 2, 25, 35
146         },
147
148         {
149 #ifdef JP
150                 "ハイ=メイジ",
151 #endif
152                 "High-Mage",
153
154                 {-4, 4, 0, 0, -2, 1},
155                 30, 40, 38, 3,  16, 20, 34, 20,
156                 7,  15, 11,  0,  0,  0,  6, 7,
157                 0, 30, 25
158         },
159
160         {
161 #ifdef JP
162                 "観光客",
163 #endif
164                 "Tourist",
165                 { -1, -1, -1, -1, -1, -1},
166                 15, 18, 28, 1, 12, 2, 40, 20,
167                 5, 7, 9, 0,  0,  0,  11, 11,
168                 0, -30, 40
169         },
170
171         {
172 #ifdef JP
173                 "ものまね師",
174 #endif
175                 "Imitator",
176                 { 0, 1, -1, 2, 0, 1},
177                 25, 30, 36, 2,  18, 16, 60, 50,
178                 7,  10,  10, 0,  0,  0,  18, 20,
179                 5, 10, 20
180         },
181
182         {
183 #ifdef JP
184                 "魔獣使い",
185 #endif
186                 "BeastMaster",
187                 { 1, -1, -1, 1, 0, 2},
188                 20, 25, 32, 2,  18, 16, 52, 63,
189                 7,  10, 10, 0,  0,  0,  14, 25,
190                 3, 20, 10
191         },
192
193         {
194 #ifdef JP
195                 "スペルマスター",
196 #endif
197                 "Sorcerer",
198
199                 {-5, 6, -2, 2, 0, -2},
200                 30, 48, 75, 2,  12, 22,  0, 0,
201                  7, 18, 13, 0,  0,  0,  0, 0,
202                 4, 60, 25
203         },
204
205         {
206 #ifdef JP
207                 "アーチャー",
208 #endif
209                 "Archer",
210
211                 { 2, -1, -1, 2, 1, 0},
212                 38, 24, 35, 4,  24, 16, 56, 82,
213                 12, 10, 10, 0,  0,  0,  18, 36,
214                 6, 10, 40
215         },
216
217         {
218 #ifdef JP
219                 "魔道具術師",
220 #endif
221                 "Magic-Eater",
222
223                 {-1, 2, 1, 2, -2, 1},
224                 25, 42, 36, 2,  20, 16, 48, 35,
225                 7,  16, 10,  0,  0,  0, 13, 11,
226                 3, 30, 30
227         },
228
229         {
230 #ifdef JP
231                 "吟遊詩人",
232 #endif
233                 "Bard",              /* Note : spell stat is Charisma */
234                 {-2, 1, 2, -1, -2, 4},
235                 20, 33, 34, -5, 16, 20, 34, 20,
236                 8,  13, 11, 0,  0,  0,  10, 8,
237                 2, 40, 25
238         },
239
240         {
241 #ifdef JP
242                 "赤魔道師",
243 #endif
244                 "Red-Mage",
245
246                 { 2, 2, -1, 1, 0, -1},
247                 20, 34, 34, 1,  16, 10, 56, 25,
248                 7,  11, 11, 0,  0,  0,  18, 11,
249                 4, 40, 40
250         },
251
252         {
253 #ifdef JP
254                 "剣術家",
255 #endif
256                 "Samurai",
257
258                 { 3, -2, 1, 2, 1, 0},
259                 25, 18, 32, 2,  16, 6, 70, 40,
260                 12, 7,  10, 0,  0,  0,  23, 18,
261                 6,  30, 40
262         },
263
264         {
265 #ifdef JP
266                 "練気術師",
267 #endif
268                 "ForceTrainer",
269
270                 { 0, -1, 3, 2, 1, 1},
271                 30, 34, 38, 4, 32, 24, 50, 40,
272                 10, 11, 11, 0,  0,  0, 14, 15,
273                 2, 35, 40
274         },
275
276         {
277 #ifdef JP
278                 "青魔道師",
279 #endif
280                 "Blue-Mage",
281
282                 {-4, 4, -1, 1, -2, -1},
283                 30, 40, 36, 3,  20, 16, 40, 25,
284                 7,  16, 11,  0,  0,  0,  6, 7,
285                 2, 30, 35
286         },
287
288         {
289 #ifdef JP
290                 "騎兵",
291 #endif
292                 "Cavalry",
293                 { 2, -2, -2, 2, 2, 0},
294                 20, 18, 32, 1,  16, 10, 60, 66,
295                 10,  7, 10, 0,  0,  0,  22, 26,
296                 5, 20, 35
297         },
298
299         {
300 #ifdef JP
301                 "狂戦士",
302 #endif
303                 "Berserker",
304
305                 { 8, -20, -20, 4, 4, -5},
306                 -100, -1000, -200, -100,  -100, -100, 120, -2000,
307                 0, 0,  0, 0,  0,  0,  50, 0,
308                 11,  60, 255
309         },
310
311         {
312 #ifdef JP
313                 "鍛冶師",
314 #endif
315                 "Weaponsmith",
316
317                 { 3, -1, -1, 1, 0, -1},
318                 30, 28, 28, 1,  20, 10, 60, 45,
319                 10, 10,  10, 0,  0,  0,  21, 15,
320                 6,  30, 40
321         },
322         {
323 #ifdef JP
324                 "鏡使い",
325 #endif
326                 "Mirror-Master",
327
328                 { -2,  3, 1, -1, -2, 1},
329                 30, 33, 40, 3, 14, 16, 34,30,
330                 10, 11, 12, 0,  0,  0,  6,10,
331                 2,  30, 30
332         },
333         {
334 #ifdef JP
335                 "忍者",
336 #endif
337                 "Ninja",
338
339                 { 0,  -1, -1, 3, 2, -1},
340                 45, 24, 36, 8, 48, 32, 70,66,
341                 15, 10, 10, 0,  0,  0, 25,18,
342                 2,  20, 40
343         },
344
345         {
346 #ifdef JP
347                 "スナイパー",
348 #endif
349                 "Sniper",
350
351                 { 2, -1, -1, 2, 1, 0},
352                 25, 24, 28, 5, 32, 18, 56,  72,
353                 12, 10, 10, 0,  0,  0, 18,  28,
354                 2, 20, 40,
355         },
356 };
357
358 /*!
359  * 職業毎に選択可能な第一領域魔法テーブル
360  */
361 const s32b realm_choices1[MAX_CLASS] =
362 {
363         (CH_NONE),                              /* Warrior */
364         (CH_LIFE | CH_SORCERY | CH_NATURE |
365          CH_CHAOS | CH_DEATH | CH_TRUMP |
366          CH_ARCANE | CH_ENCHANT | CH_DAEMON |
367          CH_CRUSADE),                              /* Mage */
368         (CH_LIFE | CH_DEATH | CH_DAEMON |
369          CH_CRUSADE),                              /* Priest */
370         (CH_SORCERY | CH_DEATH | CH_TRUMP |
371          CH_ARCANE | CH_ENCHANT),               /* Rogue */
372         (CH_NATURE),                            /* Ranger */
373         (CH_CRUSADE | CH_DEATH),                   /* Paladin */
374         (CH_ARCANE),                            /* Warrior-Mage */
375         (CH_CHAOS | CH_DAEMON),                 /* Chaos-Warrior */
376         (CH_LIFE | CH_NATURE | CH_DEATH |
377          CH_ENCHANT),                           /* Monk */
378         (CH_NONE),                              /* Mindcrafter */
379         (CH_LIFE | CH_SORCERY | CH_NATURE |
380          CH_CHAOS | CH_DEATH | CH_TRUMP |
381          CH_ARCANE | CH_ENCHANT | CH_DAEMON |
382          CH_CRUSADE | CH_HEX),                  /* High-Mage */
383         (CH_ARCANE),                            /* Tourist */
384         (CH_NONE),                              /* Imitator */
385         (CH_TRUMP),                             /* Beastmaster */
386         (CH_NONE),                              /* Sorcerer */
387         (CH_NONE),                              /* Archer */
388         (CH_NONE),                              /* Magic eater */
389         (CH_MUSIC),                             /* Bard */
390         (CH_NONE),                              /* Red Mage */
391         (CH_HISSATSU),                          /* Samurai */
392         (CH_LIFE | CH_NATURE | CH_DEATH |
393          CH_ENCHANT | CH_CRUSADE),                 /* ForceTrainer */
394         (CH_NONE),                              /* Blue Mage */
395         (CH_NONE),                              /* Cavalry */
396         (CH_NONE),                              /* Berserker */
397         (CH_NONE),                              /* Weaponsmith */
398         (CH_NONE),                              /* Mirror-master */
399         (CH_NONE),                              /* Ninja */
400         (CH_NONE),                              /* Sniper */
401 };
402
403 /*!
404  * 職業毎に選択可能な第二領域魔法テーブル
405  */
406 const s32b realm_choices2[MAX_CLASS] =
407 {
408         (CH_NONE),                              /* Warrior */
409         (CH_LIFE | CH_SORCERY | CH_NATURE |
410          CH_CHAOS | CH_DEATH | CH_TRUMP |
411          CH_ARCANE | CH_ENCHANT | CH_DAEMON |
412          CH_CRUSADE),                              /* Mage */
413         (CH_LIFE | CH_SORCERY | CH_NATURE |
414          CH_CHAOS | CH_DEATH | CH_TRUMP |
415          CH_ARCANE | CH_ENCHANT | CH_DAEMON |
416          CH_CRUSADE),                              /* Priest */
417         (CH_NONE),                              /* Rogue */
418         (CH_SORCERY | CH_CHAOS | CH_DEATH |
419          CH_TRUMP | CH_ARCANE | CH_DAEMON),     /* Ranger */
420         (CH_NONE),                              /* Paladin */
421         (CH_LIFE | CH_NATURE | CH_CHAOS |
422          CH_DEATH | CH_TRUMP | CH_ARCANE |
423          CH_SORCERY | CH_ENCHANT | CH_DAEMON |
424          CH_CRUSADE),                              /* Warrior-Mage */
425         (CH_NONE),                              /* Chaos-Warrior */
426         (CH_NONE),                              /* Monk */
427         (CH_NONE),                              /* Mindcrafter */
428         (CH_NONE),                              /* High-Mage */
429         (CH_NONE),                              /* Tourist */
430         (CH_NONE),                              /* Imitator */
431         (CH_NONE),                              /* Beastmanster */
432         (CH_NONE),                              /* Sorcerer */
433         (CH_NONE),                              /* Archer */
434         (CH_NONE),                              /* Magic eater */
435         (CH_NONE),                              /* Bard */
436         (CH_NONE),                              /* Red Mage */
437         (CH_NONE),                              /* Samurai */
438         (CH_NONE),                              /* ForceTrainer */
439         (CH_NONE),                              /* Blue Mage */
440         (CH_NONE),                              /* Cavalry */
441         (CH_NONE),                              /* Berserker */
442         (CH_NONE),                              /* Weaponsmith */
443         (CH_NONE),                              /* Mirror-master */
444         (CH_NONE),                              /* Ninja */
445         (CH_NONE),                              /* Sniper */
446 };
447