OSDN Git Service

[Refactor] #37353 GRID, GRID_X, GRID_Y を floor.h へ移動.
[hengband/hengband.git] / src / player-class.h
1 #pragma once
2 #include "spells.h"
3 /*
4  * Information about the player's "magic"
5  *
6  * Note that a player with a "spell_book" of "zero" is illiterate.
7  */
8
9 typedef struct player_magic player_magic;
10
11 struct player_magic
12 {
13         OBJECT_TYPE_VALUE spell_book; /* Tval of spell books (if any) */
14         int spell_xtra;         /* Something for later */
15
16         int spell_stat;         /* Stat for spells (if any)  */
17         int spell_type;         /* Spell type (mage/priest) */
18
19         int spell_first;                /* Level of first spell */
20         int spell_weight;               /* Weight that hurts spells */
21
22         magic_type info[MAX_MAGIC][32];    /* The available spells */
23 };
24
25 extern player_magic *m_info;
26 extern const player_magic *mp_ptr;
27
28 /*
29  * Player class info
30  */
31
32 typedef struct player_class player_class;
33
34 struct player_class
35 {
36         concptr title;                  /* Type of class */
37
38 #ifdef JP
39         concptr E_title;                /* 英語職業 */
40 #endif
41         s16b c_adj[6];          /* Class stat modifier */
42
43         s16b c_dis;                     /* class disarming */
44         s16b c_dev;                     /* class magic devices */
45         s16b c_sav;                     /* class saving throws */
46         s16b c_stl;                     /* class stealth */
47         s16b c_srh;                     /* class searching ability */
48         s16b c_fos;                     /* class searching frequency */
49         s16b c_thn;                     /* class to hit (normal) */
50         s16b c_thb;                     /* class to hit (bows) */
51
52         s16b x_dis;                     /* extra disarming */
53         s16b x_dev;                     /* extra magic devices */
54         s16b x_sav;                     /* extra saving throws */
55         s16b x_stl;                     /* extra stealth */
56         s16b x_srh;                     /* extra searching ability */
57         s16b x_fos;                     /* extra searching frequency */
58         s16b x_thn;                     /* extra to hit (normal) */
59         s16b x_thb;                     /* extra to hit (bows) */
60
61         s16b c_mhp;                     /* Class hit-dice adjustment */
62         s16b c_exp;                     /* Class experience factor */
63
64         byte pet_upkeep_div; /* Pet upkeep divider */
65 };
66
67 extern const player_class *cp_ptr;
68 extern const player_class class_info[MAX_CLASS];
69
70 extern const s32b realm_choices1[];
71 extern const s32b realm_choices2[];
72 extern const concptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5];