OSDN Git Service

[Refactor] #37353 賭け闘技場に関する定義を bldg.c/h へ移動.
[hengband/hengband.git] / src / bldg.h
1 #pragma once
2
3 /*
4  * A structure to describe a building.
5  * From Kamband
6  */
7 typedef struct building_type building_type;
8
9 struct building_type
10 {
11         GAME_TEXT name[20];                  /* proprietor name */
12         GAME_TEXT owner_name[20];            /* proprietor name */
13         GAME_TEXT owner_race[20];            /* proprietor race */
14
15         GAME_TEXT act_names[8][30];          /* action names */
16         PRICE member_costs[8];           /* Costs for class members of building */
17         PRICE other_costs[8];               /* Costs for nonguild members */
18         char letters[8];                /* action letters */
19         BACT_IDX actions[8];                /* action codes */
20         BACT_RESTRICT_IDX action_restr[8];           /* action restrictions */
21
22         CLASS_IDX member_class[MAX_CLASS];   /* which classes are part of guild */
23         RACE_IDX member_race[MAX_RACES];    /* which classes are part of guild */
24         REALM_IDX member_realm[MAX_MAGIC + 1]; /* which realms are part of guild */
25 };
26
27 extern building_type building[MAX_BLDG];
28
29 /*
30  * Buildings actions
31  */
32 #define BACT_NOTHING                 0
33 #define BACT_RESEARCH_ITEM           1
34 #define BACT_TOWN_HISTORY            2
35 #define BACT_RACE_LEGENDS            3
36 #define BACT_GREET_KING              4
37 #define BACT_KING_LEGENDS            5
38 #define BACT_QUEST                   6
39 #define BACT_XXX_UNUSED              7
40 #define BACT_POSTER                  8
41 #define BACT_ARENA_RULES             9
42 #define BACT_ARENA                  10
43 #define BACT_ARENA_LEGENDS          11
44 #define BACT_IN_BETWEEN             12
45 #define BACT_GAMBLE_RULES           13
46 #define BACT_CRAPS                  14
47 #define BACT_SPIN_WHEEL             15
48 #define BACT_DICE_SLOTS             16
49 #define BACT_REST                   17
50 #define BACT_FOOD                   18
51 #define BACT_RUMORS                 19
52 #define BACT_RESEARCH_MONSTER       20
53 #define BACT_COMPARE_WEAPONS        21
54 #define BACT_LEGENDS                22
55 #define BACT_ENCHANT_WEAPON         23
56 #define BACT_ENCHANT_ARMOR          24
57 #define BACT_RECHARGE               25
58 #define BACT_IDENTS                 26
59 #define BACT_LEARN                  27
60 #define BACT_HEALING                28
61 #define BACT_RESTORE                29
62 #define BACT_ENCHANT_ARROWS         30
63 #define BACT_ENCHANT_BOW            31
64 #define BACT_GREET                  32
65 #define BACT_RECALL                 33
66 #define BACT_TELEPORT_LEVEL         34
67 #define BACT_LOSE_MUTATION          35
68 #define BACT_BATTLE                 36
69 #define BACT_TSUCHINOKO             37
70 #define BACT_TARGET                 38
71 #define BACT_KUBI                   39
72 #define BACT_KANKIN                 40
73 #define BACT_HEIKOUKA               41
74 #define BACT_TELE_TOWN              42
75 #define BACT_POKER                  43
76 #define BACT_IDENT_ONE              44
77 #define BACT_RECHARGE_ALL           45
78 #define BACT_EVAL_AC                    46
79 #define BACT_BROKEN_WEAPON          47
80 #define MAX_BACT                    48
81
82  /*!
83   * @struct arena_type
84   * @brief 闘技場のモンスターエントリー構造体 / A structure type for arena entry
85   */
86 typedef struct
87 {
88         MONRACE_IDX r_idx; /*!< 闘技場のモンスター種族ID(0ならば表彰式) / Monster (0 means victory prizing) */
89         OBJECT_TYPE_VALUE tval;  /*!< モンスター打倒後に得られるアイテムの大カテゴリID / tval of prize (0 means no prize) */
90         OBJECT_SUBTYPE_VALUE sval;  /*!< モンスター打倒後に得られるアイテムの小カテゴリID / sval of prize */
91 } arena_type;
92
93 extern MONRACE_IDX battle_mon[4];
94 extern u32b mon_odds[4];
95 extern int battle_odds;
96 extern PRICE kakekin;
97 extern int sel_monster;
98
99 extern const arena_type arena_info[MAX_ARENA_MONS + 2];
100 extern void update_gambling_monsters(void);
101 extern void do_cmd_bldg(void);
102
103 extern void clear_bldg(int min_row, int max_row);
104 extern void determine_today_mon(bool conv_old);
105 extern void determine_bounty_uniques(void);