OSDN Git Service

[Refactor] #37353 'kubi'/'shoukinkubi'を'bounty'に変更 / Changed 'kubi' and 'shoukinkubi...
[hengband/hengband.git] / src / bldg.h
index 9503c70..8178ab9 100644 (file)
@@ -1,5 +1,23 @@
 #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)) /*<! 旧バージョンの闘技場敗北定義 */
+
+#define MAX_BOUNTY 20
+
 /*
  * A structure to describe a building.
  * From Kamband
@@ -25,6 +43,8 @@ struct building_type
 };
 
 extern building_type building[MAX_BLDG];
+extern bool reinit_wilderness;
+extern MONRACE_IDX today_mon;
 
 /*
  * Buildings actions
@@ -68,7 +88,7 @@ extern building_type building[MAX_BLDG];
 #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
@@ -79,8 +99,27 @@ extern building_type building[MAX_BLDG];
 #define BACT_BROKEN_WEAPON          47
 #define MAX_BACT                    48
 
+ /*!
+  * @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 MONRACE_IDX battle_mon[4];
+extern u32b mon_odds[4];
+extern int battle_odds;
+extern PRICE kakekin;
+extern int sel_monster;
+
 extern const arena_type arena_info[MAX_ARENA_MONS + 2];
 extern void update_gambling_monsters(void);
-extern void do_cmd_bldg(void);
+extern void do_cmd_bldg(player_type *player_ptr);
 
 extern void clear_bldg(int min_row, int max_row);
+extern void determine_today_mon(bool conv_old);
+extern void determine_bounty_uniques(void);