OSDN Git Service

[Refactor] #39912 不要インクルードファイル整理中. / Refactoring unused include files.
[hengband/hengband.git] / src / bldg.h
index d89dbd6..b91f47f 100644 (file)
@@ -1,5 +1,49 @@
 #pragma once
 
+#include "realm.h"
+#include "player-race.h"
+#include "player-class.h"
+
+#define MAX_BLDG 32 /*!< 施設の種類最大数 / Number of buildings */
+#define MAX_ARENA_MONS 41 /*<! 闘技場のイベント件数 -KMW- */
+
+#define BUILDING_NON_MEMBER 0 /*!< 不明(現在未使用) */
+#define BUILDING_MEMBER     1 /*!< 不明(現在未使用) */
+#define BUILDING_OWNER      2 /*!< 施設の種族/職業条件が一致している状態値 */
+
+/*
+ * Arena constants
+ */
+#define ARENA_DEFEATED_OLD_VER (-(MAX_SHORT)) /*<! 旧バージョンの闘技場敗北定義 */
+
+/*
+ * A structure to describe a building.
+ * From Kamband
+ */
+typedef struct building_type building_type;
+
+struct building_type
+{
+       GAME_TEXT name[20];                  /* proprietor name */
+       GAME_TEXT owner_name[20];            /* proprietor name */
+       GAME_TEXT owner_race[20];            /* proprietor race */
+
+       GAME_TEXT act_names[8][30];          /* action names */
+       PRICE member_costs[8];           /* Costs for class members of building */
+       PRICE other_costs[8];               /* Costs for nonguild members */
+       char letters[8];                /* action letters */
+       BACT_IDX actions[8];                /* action codes */
+       BACT_RESTRICT_IDX action_restr[8];           /* action restrictions */
+
+       CLASS_IDX member_class[MAX_CLASS];   /* which classes are part of guild */
+       RACE_IDX member_race[MAX_RACES];    /* which classes are part of guild */
+       REALM_IDX member_realm[MAX_MAGIC + 1]; /* which realms are part of guild */
+};
+
+extern building_type building[MAX_BLDG];
+extern bool reinit_wilderness;
+extern MONRACE_IDX today_mon;
+
 /*
  * Buildings actions
  */
@@ -42,7 +86,7 @@
 #define BACT_BATTLE                 36
 #define BACT_TSUCHINOKO             37
 #define BACT_TARGET                 38
-#define BACT_KUBI                   39
+#define BACT_BOUNTY                 39
 #define BACT_KANKIN                 40
 #define BACT_HEIKOUKA               41
 #define BACT_TELE_TOWN              42
 #define BACT_BROKEN_WEAPON          47
 #define MAX_BACT                    48
 
+extern MONRACE_IDX battle_mon[4];
+extern u32b mon_odds[4];
+extern int battle_odds;
+extern PRICE kakekin;
+extern int sel_monster;
+
+/*!
+ * @struct arena_type
+ * @brief 闘技場のモンスターエントリー構造体 / A structure type for arena entry
+ */
+typedef struct
+{
+       MONRACE_IDX r_idx; /*!< 闘技場のモンスター種族ID(0ならば表彰式) / Monster (0 means victory prizing) */
+       OBJECT_TYPE_VALUE tval;  /*!< モンスター打倒後に得られるアイテムの大カテゴリID / tval of prize (0 means no prize) */
+       OBJECT_SUBTYPE_VALUE sval;  /*!< モンスター打倒後に得られるアイテムの小カテゴリID / sval of prize */
+} arena_type;
+
+extern const arena_type arena_info[MAX_ARENA_MONS + 2];
+extern void update_gambling_monsters(player_type *player_ptr);
+extern void do_cmd_bldg(player_type *player_ptr);
+
+extern void clear_bldg(int min_row, int max_row);
+extern void determine_daily_bounty(player_type *player_ptr, bool conv_old);
+extern void determine_bounty_uniques(player_type *player_ptr);