OSDN Git Service

[Refactor] #3264 BASE_STATUS 型エイリアスを削除した
[hengbandforosx/hengbandosx.git] / src / birth / quick-start.h
1 #pragma once
2
3 #include "player-info/class-types.h"
4 #include "player-info/race-types.h"
5 #include "player/player-personality-types.h"
6 #include "player/player-sex.h"
7 #include "system/angband.h"
8 #include "system/system-variables.h"
9
10 /*
11  * A structure to hold "rolled" information
12  */
13 enum class Virtue : short;
14 struct birther {
15     player_sex psex{}; /* Sex index */
16     PlayerRaceType prace{}; /* Race index */
17     PlayerClassType pclass{}; /* Class index */
18     player_personality_type ppersonality{}; /* Seikaku index */
19     int16_t realm1{}; /* First magic realm */
20     int16_t realm2{}; /* Second magic realm */
21
22     int16_t age{};
23     int16_t ht{};
24     int16_t wt{};
25     int16_t sc{};
26
27     PRICE au{}; /*!< 初期の所持金 */
28
29     short stat_max[6]{}; /* Current "maximal" stat values */
30     short stat_max_max[6]{}; /* Maximal "maximal" stat values */
31     int player_hp[PY_MAX_LEVEL]{};
32
33     int16_t chaos_patron{}; /*! カオスパトロンのID */
34
35     Virtue vir_types[8]{};
36
37     char history[4][60]{};
38
39     bool quick_ok{};
40 };
41
42 extern birther previous_char;
43
44 class PlayerType;
45 bool ask_quick_start(PlayerType *player_ptr);
46 void save_prev_data(PlayerType *player_ptr, birther *birther_ptr);
47 void load_prev_data(PlayerType *player_ptr, bool swap);