OSDN Git Service

Merge branch 'Feature/Fix/Free-Action-Error' into develop/3.0.0.1Alpha
[hengband/hengband.git] / src / player / player-race.h
1 #pragma once
2
3 #include "system/angband.h"
4
5 /*
6  * Constant for kinds of mimic
7  */
8 #define MIMIC_NONE       0
9 #define MIMIC_DEMON      1
10 #define MIMIC_DEMON_LORD 2
11 #define MIMIC_VAMPIRE    3
12
13 #define MIMIC_FLAGS choice
14 #define MIMIC_IS_NONLIVING 0x00000001
15 #define MIMIC_IS_DEMON     0x00000002
16 #define MIMIC_IS_UNDEAD    0x00000004
17
18 /*
19  * Player racial info
20  */
21
22 typedef struct player_race player_race;
23
24 struct player_race
25 {
26         concptr title;                  /* Type of race */
27
28 #ifdef JP
29         concptr E_title;                /* 英語種族 */
30 #endif
31         s16b r_adj[6];          /* Racial stat bonuses */
32
33         s16b r_dis;                     /* disarming */
34         s16b r_dev;                     /* magic devices */
35         s16b r_sav;                     /* saving throw */
36         s16b r_stl;                     /* stealth */
37         s16b r_srh;                     /* search ability */
38         s16b r_fos;                     /* search frequency */
39         s16b r_thn;                     /* combat (normal) */
40         s16b r_thb;                     /* combat (shooting) */
41
42         byte r_mhp;                     /* Race hit-dice modifier */
43         byte r_exp;                     /* Race experience factor */
44
45         byte b_age;                     /* base age */
46         byte m_age;                     /* mod age */
47
48         byte m_b_ht;            /* base height (males) */
49         byte m_m_ht;            /* mod height (males) */
50         byte m_b_wt;            /* base weight (males) */
51         byte m_m_wt;            /* mod weight (males) */
52
53         byte f_b_ht;            /* base height (females) */
54         byte f_m_ht;            /* mod height (females)   */
55         byte f_b_wt;            /* base weight (females) */
56         byte f_m_wt;            /* mod weight (females) */
57
58         byte infra;                     /* Infra-vision range */
59
60         u32b choice;        /* Legal class choices */
61 /*    byte choice_xtra;   */
62 };
63
64 extern const player_race *rp_ptr;
65
66 typedef struct player_type player_type;
67 SYMBOL_CODE get_summon_symbol_from_player(player_type *creature_ptr);
68 bool is_specific_player_race(player_type *creature_ptr, player_race_type prace);