6 * 職業ごとの選択可能な魔法領域現在の所 bitrh.cとtables.cでのみ使用。
7 * Possible realms that can be chosen currently used only by birth.c and tables.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
59 #define IS_WIZARD_CLASS() \
60 (p_ptr->pclass == CLASS_MAGE || p_ptr->pclass == CLASS_HIGH_MAGE || p_ptr->pclass == CLASS_SORCERER || p_ptr->pclass == CLASS_MAGIC_EATER || p_ptr->pclass == CLASS_BLUE_MAGE)
63 * Information about the player's "magic"
65 * Note that a player with a "spell_book" of "zero" is illiterate.
68 typedef struct player_magic player_magic;
72 OBJECT_TYPE_VALUE spell_book; /* Tval of spell books (if any) */
73 int spell_xtra; /* Something for later */
75 int spell_stat; /* Stat for spells (if any) */
76 int spell_type; /* Spell type (mage/priest) */
78 int spell_first; /* Level of first spell */
79 int spell_weight; /* Weight that hurts spells */
81 magic_type info[MAX_MAGIC][32]; /* The available spells */
84 extern player_magic *m_info;
85 extern const player_magic *mp_ptr;
91 typedef struct player_class player_class;
95 concptr title; /* Type of class */
98 concptr E_title; /* 英語職業 */
100 s16b c_adj[6]; /* Class stat modifier */
102 s16b c_dis; /* class disarming */
103 s16b c_dev; /* class magic devices */
104 s16b c_sav; /* class saving throws */
105 s16b c_stl; /* class stealth */
106 s16b c_srh; /* class searching ability */
107 s16b c_fos; /* class searching frequency */
108 s16b c_thn; /* class to hit (normal) */
109 s16b c_thb; /* class to hit (bows) */
111 s16b x_dis; /* extra disarming */
112 s16b x_dev; /* extra magic devices */
113 s16b x_sav; /* extra saving throws */
114 s16b x_stl; /* extra stealth */
115 s16b x_srh; /* extra searching ability */
116 s16b x_fos; /* extra searching frequency */
117 s16b x_thn; /* extra to hit (normal) */
118 s16b x_thb; /* extra to hit (bows) */
120 s16b c_mhp; /* Class hit-dice adjustment */
121 s16b c_exp; /* Class experience factor */
123 byte pet_upkeep_div; /* Pet upkeep divider */
126 extern const player_class *cp_ptr;
127 extern const player_class class_info[MAX_CLASS];
129 extern const s32b realm_choices1[];
130 extern const s32b realm_choices2[];
131 extern const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5];