OSDN Git Service

Merge pull request #3569 from sikabane-works/release/3.0.0.88-alpha
[hengbandforosx/hengbandosx.git] / src / flavor / flag-inscriptions-table.h
1 #pragma once
2
3 #include <optional>
4 #include <vector>
5
6 #include "system/angband.h"
7
8 #define MAX_GAME_INSCRIPTIONS 10
9
10 enum tr_type : int32_t;
11
12 /*! オブジェクトの特性表示記号テーブルの構造体 / Structs and tables for Auto Inscription for flags */
13 struct flag_insc_table {
14 #ifdef JP
15     flag_insc_table(concptr japanese, concptr english, tr_type flag, const std::optional<tr_type> &except_flag = std::nullopt)
16         : japanese(japanese)
17         , english(english)
18         , flag(flag)
19         , except_flag(except_flag)
20     {
21     }
22 #else
23     flag_insc_table(concptr english, tr_type flag, const std::optional<tr_type> &except_flag = std::nullopt)
24         : english(english)
25         , flag(flag)
26         , except_flag(except_flag)
27     {
28     }
29 #endif
30
31 #ifdef JP
32     concptr japanese;
33 #endif
34     concptr english;
35     tr_type flag;
36     std::optional<tr_type> except_flag;
37 };
38
39 extern const concptr game_inscriptions[MAX_GAME_INSCRIPTIONS];
40
41 extern const std::vector<flag_insc_table> flag_insc_plus;
42 extern const std::vector<flag_insc_table> flag_insc_immune;
43 extern const std::vector<flag_insc_table> flag_insc_vuln;
44 extern const std::vector<flag_insc_table> flag_insc_resistance;
45 extern const std::vector<flag_insc_table> flag_insc_misc;
46 extern const std::vector<flag_insc_table> flag_insc_aura;
47 extern const std::vector<flag_insc_table> flag_insc_brand;
48 extern const std::vector<flag_insc_table> flag_insc_kill;
49 extern const std::vector<flag_insc_table> flag_insc_slay;
50 extern const std::vector<flag_insc_table> flag_insc_esp1;
51 extern const std::vector<flag_insc_table> flag_insc_esp2;
52 extern const std::vector<flag_insc_table> flag_insc_sust;