OSDN Git Service

Merge pull request #3569 from sikabane-works/release/3.0.0.88-alpha
[hengbandforosx/hengbandosx.git] / src / system / building-type-definition.h
1 #pragma once
2
3 #include "player-info/class-types.h"
4 #include "player-info/race-types.h"
5 #include "realm/realm-types.h"
6 #include <array>
7 #include <vector>
8
9 constexpr auto MAX_BUILDINGS = 32; /*!< 施設の種類最大数 / Number of buildings */
10
11 enum class MonsterRaceId : short;
12
13 struct building_type {
14     char name[20]{}; /* proprietor name */
15     char owner_name[20]{}; /* proprietor name */
16     char owner_race[20]{}; /* proprietor race */
17
18     char act_names[8][30]{}; /* action names */
19     int member_costs[8]{}; /* Costs for class members of building */
20     int other_costs[8]{}; /* Costs for nonguild members */
21     char letters[8]{}; /* action letters */
22     short actions[8]{}; /*!< 町の施設処理における行動ID */
23     short action_restr[8]{}; /*!< 町の施設処理の規制処理ID */
24
25     std::vector<short> member_class{}; /* which classes are part of guild */
26     std::vector<short> member_race{}; /* which races are part of guild */
27     std::vector<short> member_realm{}; /* 店主ごとの魔法領域 / which realms are part of guild */
28 };
29
30 extern std::array<building_type, MAX_BUILDINGS> buildings;
31 extern MonsterRaceId battle_mon_list[4];