3 /* 人畜無害なenumヘッダを先に読み込む */
4 #include "system/angband.h"
6 #include "object/tval-types.h"
7 #include "player/player-class-types.h"
8 #include "realm/realm-types.h"
9 #include "spell/technic-info-table.h"
14 /** m_info.txtでMPの無い職業に設定される */
15 #define SPELL_FIRST_NO_SPELL 99
18 * Information about the player's "magic"
20 * Note that a player with a "spell_book" of "zero" is illiterate.
23 typedef struct player_magic {
24 tval_type spell_book{}; /* Tval of spell books (if any) */
25 BIT_FLAGS8 spell_xtra{}; /* Something for later */
27 int spell_stat{}; /* Stat for spells (if any) */
28 int spell_type{}; /* Spell type (mage/priest) */
30 int spell_first{}; /* Level of first spell */
31 int spell_weight{}; /* Weight that hurts spells */
33 magic_type info[MAX_MAGIC][32]{}; /* The available spells */
36 extern std::vector<player_magic> m_info;
37 extern const player_magic *mp_ptr;
43 typedef struct player_class player_class;
47 concptr title; /* Type of class */
50 concptr E_title; /* 英語職業 */
52 int16_t c_adj[6]; /* Class stat modifier */
54 int16_t c_dis; /* class disarming */
55 int16_t c_dev; /* class magic devices */
56 int16_t c_sav; /* class saving throws */
57 int16_t c_stl; /* class stealth */
58 int16_t c_srh; /* class searching ability */
59 int16_t c_fos; /* class searching frequency */
60 int16_t c_thn; /* class to hit (normal) */
61 int16_t c_thb; /* class to hit (bows) */
63 int16_t x_dis; /* extra disarming */
64 int16_t x_dev; /* extra magic devices */
65 int16_t x_sav; /* extra saving throws */
66 int16_t x_stl; /* extra stealth */
67 int16_t x_srh; /* extra searching ability */
68 int16_t x_fos; /* extra searching frequency */
69 int16_t x_thn; /* extra to hit (normal) */
70 int16_t x_thb; /* extra to hit (bows) */
72 int16_t c_mhp; /* Class hit-dice adjustment */
73 int16_t c_exp; /* Class experience factor */
75 byte pet_upkeep_div; /* Pet upkeep divider */
82 extern const player_class *cp_ptr;
83 extern const player_class class_info[MAX_CLASS];
85 extern const concptr player_title[MAX_CLASS][10];