OSDN Git Service

Merge branch 'develop' into macos-develop
[hengbandforosx/hengbandosx.git] / src / flavor / flag-inscriptions-table.cpp
1 #include "flavor/flag-inscriptions-table.h"
2 #include "object-enchant/tr-types.h"
3
4 #ifdef JP
5 #define N(JAPANESE, ENGLISH) JAPANESE, ENGLISH
6 #else
7 #define N(JAPANESE, ENGLISH) ENGLISH
8 #endif
9
10 /*! @brief アイテムの価値記述テーブル */
11 const concptr game_inscriptions[MAX_GAME_INSCRIPTIONS] = {
12     nullptr, /* FEEL_NONE */
13     _("壊れている", "broken"), /* FEEL_BROKEN */
14     _("恐ろしい", "terrible"), /* FEEL_TERRIBLE */
15     _("無価値", "worthless"), /* FEEL_WORTHLESS */
16     _("呪われている", "cursed"), /* FEEL_CURSED */
17     _("上質以上", "uncursed"), /* FEEL_UNCURSED */
18     _("並", "average"), /* FEEL_AVERAGE */
19     _("上質", "good"), /* FEEL_GOOD */
20     _("高級品", "excellent"), /* FEEL_EXCELLENT */
21     _("特別製", "special"), /* FEEL_SPECIAL */
22 };
23
24 /*! オブジェクトの特性表示記号テーブルの定義(pval要素) */
25 const std::vector<flag_insc_table> flag_insc_plus = {
26     { N("攻", "At"), TR_BLOWS },
27     { N("速", "Sp"), TR_SPEED },
28     { N("腕", "St"), TR_STR },
29     { N("知", "In"), TR_INT },
30     { N("賢", "Wi"), TR_WIS },
31     { N("器", "Dx"), TR_DEX },
32     { N("耐", "Cn"), TR_CON },
33     { N("魅", "Ch"), TR_CHR },
34     { N("道", "Md"), TR_MAGIC_MASTERY },
35     { N("隠", "Sl"), TR_STEALTH },
36     { N("探", "Sr"), TR_SEARCH },
37     { N("赤", "If"), TR_INFRA },
38     { N("掘", "Dg"), TR_TUNNEL },
39 };
40
41 /*! オブジェクトの特性表示記号テーブルの定義(免疫) */
42 const std::vector<flag_insc_table> flag_insc_immune = {
43     { N("酸", "Ac"), TR_IM_ACID },
44     { N("電", "El"), TR_IM_ELEC },
45     { N("火", "Fi"), TR_IM_FIRE },
46     { N("冷", "Co"), TR_IM_COLD },
47     { N("暗", "Dk"), TR_IM_DARK }
48 };
49
50 /*! オブジェクトの特性表示記号テーブルの定義(弱点) */
51 const std::vector<flag_insc_table> flag_insc_vuln = {
52     { N("酸", "Ac"), TR_VUL_ACID, TR_IM_ACID },
53     { N("電", "El"), TR_VUL_ELEC, TR_IM_ELEC },
54     { N("火", "Fi"), TR_VUL_FIRE, TR_IM_FIRE },
55     { N("冷", "Co"), TR_VUL_COLD, TR_IM_COLD },
56     { N("閃", "Li"), TR_VUL_LITE },
57     { N("呪", "Cu"), TR_VUL_CURSE }
58 };
59
60 /*! オブジェクトの特性表示記号テーブルの定義(耐性) */
61 const std::vector<flag_insc_table> flag_insc_resistance = {
62     { N("酸", "Ac"), TR_RES_ACID, TR_IM_ACID },
63     { N("電", "El"), TR_RES_ELEC, TR_IM_ELEC },
64     { N("火", "Fi"), TR_RES_FIRE, TR_IM_FIRE },
65     { N("冷", "Co"), TR_RES_COLD, TR_IM_COLD },
66     { N("毒", "Po"), TR_RES_POIS },
67     { N("閃", "Li"), TR_RES_LITE },
68     { N("暗", "Dk"), TR_RES_DARK },
69     { N("破", "Sh"), TR_RES_SHARDS },
70     { N("盲", "Bl"), TR_RES_BLIND },
71     { N("乱", "Cf"), TR_RES_CONF },
72     { N("轟", "So"), TR_RES_SOUND },
73     { N("獄", "Nt"), TR_RES_NETHER },
74     { N("因", "Nx"), TR_RES_NEXUS },
75     { N("沌", "Ca"), TR_RES_CHAOS },
76     { N("劣", "Di"), TR_RES_DISEN },
77     { N("時", "Tm"), TR_RES_TIME },
78     { N("水", "Wt"), TR_RES_WATER },
79     { N("恐", "Fe"), TR_RES_FEAR },
80     { N("呪", "Cu"), TR_RES_CURSE },
81 };
82
83 /*! オブジェクトの特性表示記号テーブルの定義(その他特性) */
84 const std::vector<flag_insc_table> flag_insc_misc = {
85     { N("易", "Es"), TR_EASY_SPELL },
86     { N("減", "Dm"), TR_DEC_MANA },
87     { N("投", "Th"), TR_THROW },
88     { N("反", "Rf"), TR_REFLECT },
89     { N("麻", "Fa"), TR_FREE_ACT },
90     { N("視", "Si"), TR_SEE_INVIS },
91     { N("経", "Hl"), TR_HOLD_EXP },
92     { N("遅", "Sd"), TR_SLOW_DIGEST },
93     { N("活", "Rg"), TR_REGEN },
94     { N("浮", "Lv"), TR_LEVITATION },
95     { N("明", "Lu"), TR_LITE_1 },
96     { N("明", "Lu"), TR_LITE_2 },
97     { N("明", "Lu"), TR_LITE_3 },
98     { N("闇", "Dl"), TR_LITE_M1 },
99     { N("闇", "Dl"), TR_LITE_M2 },
100     { N("闇", "Dl"), TR_LITE_M3 },
101     { N("警", "Wr"), TR_WARNING },
102     { N("倍", "Xm"), TR_XTRA_MIGHT },
103     { N("射", "Xs"), TR_XTRA_SHOTS },
104     { N("瞬", "Te"), TR_TELEPORT },
105     { N("怒", "Ag"), TR_AGGRAVATE },
106     { N("祝", "Bs"), TR_BLESSED },
107     { N("忌", "Ty"), TR_TY_CURSE },
108     { N("呪", "C-"), TR_ADD_L_CURSE },
109     { N("詛", "C+"), TR_ADD_H_CURSE },
110     { N("焼", "F"), TR_SELF_FIRE },
111     { N("凍", "Co"), TR_SELF_COLD },
112     { N("電", "E"), TR_SELF_ELEC },
113 };
114
115 /*! オブジェクトの特性表示記号テーブルの定義(オーラ) */
116 const std::vector<flag_insc_table> flag_insc_aura = {
117     { N("炎", "F"), TR_SH_FIRE },
118     { N("電", "E"), TR_SH_ELEC },
119     { N("冷", "C"), TR_SH_COLD },
120     { N("魔", "M"), TR_NO_MAGIC },
121     { N("瞬", "T"), TR_NO_TELE },
122 };
123
124 /*! オブジェクトの特性表示記号テーブルの定義(属性スレイ) */
125 const std::vector<flag_insc_table> flag_insc_brand = {
126     { N("酸", "A"), TR_BRAND_ACID },
127     { N("電", "E"), TR_BRAND_ELEC },
128     { N("焼", "F"), TR_BRAND_FIRE },
129     { N("凍", "Co"), TR_BRAND_COLD },
130     { N("毒", "P"), TR_BRAND_POIS },
131     { N("沌", "Ca"), TR_CHAOTIC },
132     { N("魔", "Ma"), TR_BRAND_MAGIC },
133     { N("吸", "V"), TR_VAMPIRIC },
134     { N("震", "Q"), TR_EARTHQUAKE },
135     { N("切", "Sl"), TR_VORPAL },
136     { N("強", "Sm"), TR_IMPACT },
137     { N("理", "Mf"), TR_FORCE_WEAPON }
138 };
139
140 /*! オブジェクトの特性表示記号テーブルの定義(種族スレイ) */
141 const std::vector<flag_insc_table> flag_insc_kill = {
142     { N("邪", "*"), TR_KILL_EVIL },
143     { N("善", "A"), TR_KILL_GOOD },
144     { N("人", "p"), TR_KILL_HUMAN },
145     { N("龍", "D"), TR_KILL_DRAGON },
146     { N("オ", "o"), TR_KILL_ORC },
147     { N("ト", "T"), TR_KILL_TROLL },
148     { N("巨", "P"), TR_KILL_GIANT },
149     { N("デ", "U"), TR_KILL_DEMON },
150     { N("死", "L"), TR_KILL_UNDEAD },
151     { N("動", "Z"), TR_KILL_ANIMAL },
152 };
153
154 /*! オブジェクトの特性表示記号テーブルの定義(種族*スレイ*) */
155 const std::vector<flag_insc_table> flag_insc_slay = {
156     { N("邪", "*"), TR_SLAY_EVIL, TR_KILL_EVIL },
157     { N("善", "A"), TR_SLAY_GOOD, TR_KILL_GOOD },
158     { N("人", "p"), TR_SLAY_HUMAN, TR_KILL_HUMAN },
159     { N("竜", "D"), TR_SLAY_DRAGON, TR_KILL_DRAGON },
160     { N("オ", "o"), TR_SLAY_ORC, TR_KILL_ORC },
161     { N("ト", "T"), TR_SLAY_TROLL, TR_KILL_TROLL },
162     { N("巨", "P"), TR_SLAY_GIANT, TR_KILL_GIANT },
163     { N("デ", "U"), TR_SLAY_DEMON, TR_KILL_DEMON },
164     { N("死", "L"), TR_SLAY_UNDEAD, TR_KILL_UNDEAD },
165     { N("動", "Z"), TR_SLAY_ANIMAL, TR_KILL_ANIMAL },
166 };
167
168 /*! オブジェクトの特性表示記号テーブルの定義(ESP1) */
169 const std::vector<flag_insc_table> flag_insc_esp1 = {
170     { N("感", "Tele"), TR_TELEPATHY },
171     { N("邪", "Evil"), TR_ESP_EVIL },
172     { N("善", "Good"), TR_ESP_GOOD },
173     { N("無", "Nolv"), TR_ESP_NONLIVING },
174     { N("個", "Uniq"), TR_ESP_UNIQUE },
175 };
176
177 /*! オブジェクトの特性表示記号テーブルの定義(ESP2) */
178 const std::vector<flag_insc_table> flag_insc_esp2 = {
179     { N("人", "p"), TR_ESP_HUMAN },
180     { N("竜", "D"), TR_ESP_DRAGON },
181     { N("オ", "o"), TR_ESP_ORC },
182     { N("ト", "T"), TR_ESP_TROLL },
183     { N("巨", "P"), TR_ESP_GIANT },
184     { N("デ", "U"), TR_ESP_DEMON },
185     { N("死", "L"), TR_ESP_UNDEAD },
186     { N("動", "Z"), TR_ESP_ANIMAL },
187 };
188
189 /*! オブジェクトの特性表示記号テーブルの定義(能力維持) */
190 const std::vector<flag_insc_table> flag_insc_sust = {
191     { N("腕", "St"), TR_SUST_STR },
192     { N("知", "In"), TR_SUST_INT },
193     { N("賢", "Wi"), TR_SUST_WIS },
194     { N("器", "Dx"), TR_SUST_DEX },
195     { N("耐", "Cn"), TR_SUST_CON },
196     { N("魅", "Ch"), TR_SUST_CHR },
197 };