OSDN Git Service

[Refactor] #40414 range-calc.h によるコンパイル範囲が異常に広かったのを修正 / Adjusted inclusion relationsh...
[hengbandforosx/hengbandosx.git] / src / cmd-building / cmd-building.h
1 #pragma once
2
3 #include "object/tval-types.h"
4 #include "realm/realm-names-table.h"
5 #include "player/player-race.h"
6 #include "player/race-info-table.h"
7 #include "player/player-class.h"
8 #include "player/player-races-table.h"
9 #include "player/player-classes-table.h"
10
11 #define MAX_BLDG 32 /*!< 施設の種類最大数 / Number of buildings */
12
13 #define BUILDING_NON_MEMBER 0 /*!< 不明(現在未使用) */
14 #define BUILDING_MEMBER     1 /*!< 不明(現在未使用) */
15 #define BUILDING_OWNER      2 /*!< 施設の種族/職業条件が一致している状態値 */
16
17 /*
18  * Arena constants
19  */
20 #define ARENA_DEFEATED_OLD_VER (-(MAX_SHORT)) /*<! 旧バージョンの闘技場敗北定義 */
21
22 /*
23  * A structure to describe a building.
24  * From Kamband
25  */
26 typedef struct building_type building_type;
27
28 struct building_type
29 {
30         GAME_TEXT name[20];                  /* proprietor name */
31         GAME_TEXT owner_name[20];            /* proprietor name */
32         GAME_TEXT owner_race[20];            /* proprietor race */
33
34         GAME_TEXT act_names[8][30];          /* action names */
35         PRICE member_costs[8];           /* Costs for class members of building */
36         PRICE other_costs[8];               /* Costs for nonguild members */
37         char letters[8];                /* action letters */
38         BACT_IDX actions[8];                /* action codes */
39         BACT_RESTRICT_IDX action_restr[8];           /* action restrictions */
40
41         player_class_type member_class[MAX_CLASS];   /* which classes are part of guild */
42         player_race_type member_race[MAX_RACES];    /* which classes are part of guild */
43         REALM_IDX member_realm[MAX_MAGIC + 1]; /* which realms are part of guild */
44 };
45
46 extern building_type building[MAX_BLDG];
47 extern bool reinit_wilderness;
48 extern MONRACE_IDX today_mon;
49
50 extern MONRACE_IDX battle_mon[4];
51 extern u32b mon_odds[4];
52 extern int battle_odds;
53 extern PRICE kakekin;
54 extern int sel_monster;
55
56 /*!
57  * @struct arena_type
58  * @brief 闘技場のモンスターエントリー構造体 / A structure type for arena entry
59  */
60 typedef struct
61 {
62         MONRACE_IDX r_idx; /*!< 闘技場のモンスター種族ID(0ならば表彰式) / Monster (0 means victory prizing) */
63         tval_type tval;  /*!< モンスター打倒後に得られるアイテムの大カテゴリID / tval of prize (0 means no prize) */
64         OBJECT_SUBTYPE_VALUE sval;  /*!< モンスター打倒後に得られるアイテムの小カテゴリID / sval of prize */
65 } arena_type;
66
67 extern void do_cmd_building(player_type *player_ptr);