2 * @brief プレーヤーの職業に関する諸テーブル定義
7 #include "player/player-race.h"
8 #include "player/player-class.h"
9 #include "core/player-redraw-types.h"
10 #include "inventory/inventory-slot-types.h"
11 #include "player/player-race.h"
12 #include "system/object-type-definition.h"
17 const player_magic *mp_ptr;
21 const player_class *cp_ptr;
29 * {STR,INT,WIS,DEX,CON,CHR},
30 * c_dis, c_dev, c_sav, c_stl, c_srh, c_fos, c_thn, c_thb,
31 * x_dis, x_dev, x_sav, x_stl, x_srh, x_fos, x_thn, x_thb,
32 * HD, Exp, pet_upkeep_div
35 const player_class class_info[MAX_CLASS] =
43 { 4, -2, -2, 2, 2, -1},
44 25, 18, 31, 1, 14, 2, 70, 55,
45 12, 7, 10, 0, 0, 0, 30, 30,
57 30, 40, 38, 3, 16, 20, 34, 20,
58 7, 15, 11, 0, 0, 0, 6, 7,
69 {-1, -3, 3, -1, 0, 2},
70 25, 35, 40, 2, 16, 8, 48, 35,
71 7, 11, 12, 0, 0, 0, 13, 11,
82 { 2, 1, -2, 3, 1, -1},
83 45, 37, 36, 5, 32, 24, 60, 66,
84 15, 12, 10, 0, 0, 0, 21, 18,
96 30, 37, 36, 3, 24, 16, 56, 72,
97 8, 11, 10, 0, 0, 0, 18, 28,
108 { 3, -3, 1, 0, 2, 2},
109 20, 24, 34, 1, 12, 2, 68, 40,
110 7, 10, 11, 0, 0, 0, 21, 18,
122 30, 35, 36, 2, 18, 16, 50, 25,
123 7, 10, 10, 0, 0, 0, 15, 11,
134 { 2, 1, -1, 0, 2, -2},
135 20, 25, 34, 1, 14, 12, 65, 40,
136 7, 11, 10, 0, 0, 0, 20, 17,
147 { 2, -1, 1, 3, 2, 1},
148 45, 34, 36, 5, 32, 24, 64, 60,
149 15, 11, 10, 0, 0, 0, 18, 18,
160 {-1, 0, 3, -1, -1, 2}, /* note: spell stat is Wis */
161 30, 33, 38, 3, 22, 16, 50, 40,
162 10, 11, 10, 0, 0, 0, 14, 18,
173 {-4, 4, 0, 0, -2, 1},
174 30, 40, 38, 3, 16, 20, 34, 20,
175 7, 15, 11, 0, 0, 0, 6, 7,
185 { -1, -1, -1, -1, -1, -1},
186 15, 18, 28, 1, 12, 2, 40, 20,
187 5, 7, 9, 0, 0, 0, 11, 11,
197 { 0, 1, -1, 2, 0, 1},
198 25, 30, 36, 2, 18, 16, 60, 50,
199 7, 10, 10, 0, 0, 0, 18, 20,
209 { 1, -1, -1, 1, 0, 2},
210 20, 25, 32, 2, 18, 16, 52, 63,
211 7, 10, 10, 0, 0, 0, 14, 25,
222 {-5, 6, -2, 2, 0, -2},
223 30, 48, 75, 2, 12, 22, 0, 0,
224 7, 18, 13, 0, 0, 0, 0, 0,
235 { 2, -1, -1, 2, 1, 0},
236 38, 24, 35, 4, 24, 16, 56, 82,
237 12, 10, 10, 0, 0, 0, 18, 36,
248 {-1, 2, 1, 2, -2, 1},
249 25, 42, 36, 2, 20, 16, 48, 35,
250 7, 16, 10, 0, 0, 0, 13, 11,
259 "Bard", /* Note : spell stat is Charisma */
260 {-2, 1, 2, -1, -2, 4},
261 20, 33, 34, -5, 16, 20, 34, 20,
262 8, 13, 11, 0, 0, 0, 10, 8,
273 { 2, 2, -1, 1, 0, -1},
274 20, 34, 34, 1, 16, 10, 56, 25,
275 7, 11, 11, 0, 0, 0, 18, 11,
286 { 3, -2, 1, 2, 1, 0},
287 25, 18, 32, 2, 16, 6, 70, 40,
288 12, 7, 10, 0, 0, 0, 23, 18,
299 { 0, -1, 3, 2, 1, 1},
300 30, 34, 38, 4, 32, 24, 50, 40,
301 10, 11, 11, 0, 0, 0, 14, 15,
312 {-4, 4, -1, 1, -2, -1},
313 30, 40, 36, 3, 20, 16, 40, 25,
314 7, 16, 11, 0, 0, 0, 6, 7,
324 { 2, -2, -2, 2, 2, 0},
325 20, 18, 32, 1, 16, 10, 60, 66,
326 10, 7, 10, 0, 0, 0, 22, 26,
337 { 8, -20, -20, 4, 4, -5},
338 -100, -1000, -200, -100, -100, -100, 120, -2000,
339 0, 0, 0, 0, 0, 0, 50, 0,
350 { 3, -1, -1, 1, 0, -1},
351 30, 28, 28, 1, 20, 10, 60, 45,
352 10, 10, 10, 0, 0, 0, 21, 15,
362 { -2, 3, 1, -1, -2, 1},
363 30, 33, 40, 3, 14, 16, 34,30,
364 10, 11, 12, 0, 0, 0, 6,10,
374 { 0, -1, -1, 3, 2, -1},
375 45, 24, 36, 8, 48, 32, 70,66,
376 15, 10, 10, 0, 0, 0, 25,18,
387 { 2, -1, -1, 2, 1, 0},
388 25, 24, 28, 5, 32, 18, 56, 72,
389 12, 10, 10, 0, 0, 0, 18, 28,
396 * @brief 職業とレベル毎のプレイヤー称号テーブル / Class titles for the player.
398 * The player gets a new title every five levels, so each class
399 * needs only ten titles total.
403 const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
437 "侍僧", /*教会奉仕者、見習い僧、伴僧、従者 */
440 "伝道師", /*司祭評議員、修道会会員 */
442 "聖人", /*大司教、総主教、総大司教 */
450 /* "ごろつき",*/ /*ごろつき、風来坊、浮浪者 */
452 "追いはぎ", /*追い剥ぎ、強盗、泥棒 */
455 "ペテン師", /*博徒、ペテン師、詐欺師 */
458 "マスター", /* "マスターシーフ", */
467 "斥候", /*斥候、見張り、偵察兵 */
479 "勇士", /*色男、愛人、しゃれ者、勇敢な人 */
499 "魔術の英雄", /* Mage-Hero */
503 "知識の守護者", /* "ウィザードロード", */
545 "精神の支配者", /* "マインドマスター", */
548 /* High Mage; same as Mage */
605 /* Sorcerer; same as Mage */
650 "見習い", /*"Apprentice"*/
651 "作曲家", /*"Songsmith"*/
653 "コンパニオン", /*"Companion"*/
654 "心の癒し手", /*"Minstrel"*/
656 "伝承の紡ぎ手", /*"Loreweaver"*/
658 "夢紡ぎ", /*"Dreamweaver"*/
659 "マスター", /*"Master Harper"*/
662 /* Red Mage; same as Warrior-Mage */
670 "魔術の英雄", /* Mage-Hero */
674 "知識の守護者", /* "ウィザードロード", */
691 /* ForceTrainer; same as Monk(?) */
705 /* Blue Mage; same as Mage */
805 const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] =
947 /* High Mage; same as Mage */
1047 "Apprentice", /*"Apprentice"*/
1048 "Songsmith", /*"Songsmith"*/
1050 "Companion", /*"Companion"*/
1051 "Minstrel", /*"Minstrel"*/
1052 "Harper", /*"Harper"*/
1053 "Loreweaver", /*"Loreweaver"*/
1055 "Dreamweaver", /*"Dreamweaver"*/
1056 "Master Harper", /*"Master Harper"*/
1201 void calc_class_status(player_type *creature_ptr)
1203 switch (creature_ptr->pclass) {
1205 if (creature_ptr->lev > 29)
1206 creature_ptr->resist_fear = TRUE;
1209 if (creature_ptr->lev > 39)
1210 creature_ptr->resist_fear = TRUE;
1212 case CLASS_CHAOS_WARRIOR:
1213 if (creature_ptr->lev > 29)
1214 creature_ptr->resist_chaos = TRUE;
1215 if (creature_ptr->lev > 39)
1216 creature_ptr->resist_fear = TRUE;
1218 case CLASS_MINDCRAFTER:
1219 if (creature_ptr->lev > 9)
1220 creature_ptr->resist_fear = TRUE;
1223 if (creature_ptr->lev > 29)
1224 creature_ptr->resist_fear = TRUE;
1226 case CLASS_BERSERKER:
1227 creature_ptr->shero = 1;
1228 creature_ptr->redraw |= PR_STATUS;
1231 if (heavy_armor(creature_ptr)) {
1232 creature_ptr->skill_stl -= (creature_ptr->lev) / 10;
1233 } else if ((!creature_ptr->inventory_list[INVEN_RARM].k_idx || creature_ptr->right_hand_weapon)
1234 && (!creature_ptr->inventory_list[INVEN_LARM].k_idx || creature_ptr->left_hand_weapon)) {
1235 creature_ptr->skill_stl += (creature_ptr->lev) / 10;
1238 if ((!creature_ptr->inventory_list[INVEN_RARM].k_idx || creature_ptr->right_hand_weapon)
1239 && (!creature_ptr->inventory_list[INVEN_LARM].k_idx || creature_ptr->left_hand_weapon)) {
1240 creature_ptr->to_a += creature_ptr->lev / 2 + 5;
1241 creature_ptr->dis_to_a += creature_ptr->lev / 2 + 5;
1244 creature_ptr->resist_fear = TRUE;
1245 if (creature_ptr->lev > 44) {
1246 creature_ptr->oppose_pois = 1;
1247 creature_ptr->redraw |= PR_STATUS;