6 * 職業ごとの選択可能な魔法領域現在の所 bitrh.c でのみ使用。
7 * Possible realms that can be chosen currently used only by birth.c.
11 #define CH_SORCERY 0x02
12 #define CH_NATURE 0x04
16 #define CH_ARCANE 0x40
17 #define CH_ENCHANT 0x80
18 #define CH_DAEMON 0x100
19 #define CH_CRUSADE 0x200
21 #define CH_MUSIC 0x08000 /* This is 16th bit */
22 #define CH_HISSATSU 0x10000
23 #define CH_HEX 0x20000
28 * Player class constants (hard-coded by save-files, arrays, etc)
30 #define CLASS_WARRIOR 0
32 #define CLASS_PRIEST 2
34 #define CLASS_RANGER 4
35 #define CLASS_PALADIN 5
36 #define CLASS_WARRIOR_MAGE 6
37 #define CLASS_CHAOS_WARRIOR 7
39 #define CLASS_MINDCRAFTER 9
40 #define CLASS_HIGH_MAGE 10
41 #define CLASS_TOURIST 11
42 #define CLASS_IMITATOR 12
43 #define CLASS_BEASTMASTER 13
44 #define CLASS_SORCERER 14
45 #define CLASS_ARCHER 15
46 #define CLASS_MAGIC_EATER 16
48 #define CLASS_RED_MAGE 18
49 #define CLASS_SAMURAI 19
50 #define CLASS_FORCETRAINER 20
51 #define CLASS_BLUE_MAGE 21
52 #define CLASS_CAVALRY 22
53 #define CLASS_BERSERKER 23
54 #define CLASS_SMITH 24
55 #define CLASS_MIRROR_MASTER 25
56 #define CLASS_NINJA 26
57 #define CLASS_SNIPER 27
58 #define MAX_CLASS 28 /*!< 職業の最大定義数 Maximum number of player "class" types (see "table.c", etc) */
60 #define IS_WIZARD_CLASS(C) \
61 ((C)->pclass == CLASS_MAGE || (C)->pclass == CLASS_HIGH_MAGE || (C)->pclass == CLASS_SORCERER || \
62 (C)->pclass == CLASS_MAGIC_EATER || (C)->pclass == CLASS_BLUE_MAGE)
65 * Information about the player's "magic"
67 * Note that a player with a "spell_book" of "zero" is illiterate.
70 typedef struct player_magic player_magic;
74 OBJECT_TYPE_VALUE spell_book; /* Tval of spell books (if any) */
75 int spell_xtra; /* Something for later */
77 int spell_stat; /* Stat for spells (if any) */
78 int spell_type; /* Spell type (mage/priest) */
80 int spell_first; /* Level of first spell */
81 int spell_weight; /* Weight that hurts spells */
83 magic_type info[MAX_MAGIC][32]; /* The available spells */
86 extern player_magic *m_info;
87 extern const player_magic *mp_ptr;
93 typedef struct player_class player_class;
97 concptr title; /* Type of class */
100 concptr E_title; /* 英語職業 */
102 s16b c_adj[6]; /* Class stat modifier */
104 s16b c_dis; /* class disarming */
105 s16b c_dev; /* class magic devices */
106 s16b c_sav; /* class saving throws */
107 s16b c_stl; /* class stealth */
108 s16b c_srh; /* class searching ability */
109 s16b c_fos; /* class searching frequency */
110 s16b c_thn; /* class to hit (normal) */
111 s16b c_thb; /* class to hit (bows) */
113 s16b x_dis; /* extra disarming */
114 s16b x_dev; /* extra magic devices */
115 s16b x_sav; /* extra saving throws */
116 s16b x_stl; /* extra stealth */
117 s16b x_srh; /* extra searching ability */
118 s16b x_fos; /* extra searching frequency */
119 s16b x_thn; /* extra to hit (normal) */
120 s16b x_thb; /* extra to hit (bows) */
122 s16b c_mhp; /* Class hit-dice adjustment */
123 s16b c_exp; /* Class experience factor */
125 byte pet_upkeep_div; /* Pet upkeep divider */
128 extern const player_class *cp_ptr;
129 extern const player_class class_info[MAX_CLASS];
131 extern const s32b realm_choices1[];
132 extern const s32b realm_choices2[];
133 extern const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5];