OSDN Git Service

7b40b815ba7b833e159edc4186f80da6aa919f60
[hengbandforosx/hengbandosx.git] / src / lore / magic-types-setter.cpp
1 #include "lore/magic-types-setter.h"
2 #include "lore/lore-calculator.h"
3 #include "lore/lore-util.h"
4 #include "monster-race/race-flags3.h"
5 #include "monster-race/race-flags7.h"
6 #include "system/monster-race-definition.h"
7 #include "system/player-type-definition.h"
8 #include "term/term-color-types.h"
9
10 void set_breath_types(player_type *player_ptr, lore_type *lore_ptr)
11 {
12     lore_ptr->vn = 0;
13     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_ACID)) {
14         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_ACID, _("酸%s", "acid%s"));
15         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
16         lore_ptr->color[lore_ptr->vn++] = TERM_GREEN;
17     }
18
19     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_ELEC)) {
20         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_ELEC, _("稲妻%s", "lightning%s"));
21         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
22         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
23     }
24
25     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_FIRE)) {
26         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_FIRE, _("火炎%s", "fire%s"));
27         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
28         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
29     }
30
31     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_COLD)) {
32         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_COLD, _("冷気%s", "frost%s"));
33         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
34         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
35     }
36
37     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_POIS)) {
38         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_POIS, _("毒%s", "poison%s"));
39         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
40         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
41     }
42
43     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_NETH)) {
44         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_NETH, _("地獄%s", "nether%s"));
45         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
46         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
47     }
48
49     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_LITE)) {
50         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_LITE, _("閃光%s", "light%s"));
51         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
52         lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
53     }
54
55     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_DARK)) {
56         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_DARK, _("暗黒%s", "darkness%s"));
57         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
58         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
59     }
60
61     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_CONF)) {
62         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_CONF, _("混乱%s", "confusion%s"));
63         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
64         lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
65     }
66
67     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_SOUN)) {
68         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_SOUN, _("轟音%s", "sound%s"));
69         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
70         lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
71     }
72
73     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_CHAO)) {
74         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_CHAO, _("カオス%s", "chaos%s"));
75         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
76         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
77     }
78
79     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_DISE)) {
80         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_DISE, _("劣化%s", "disenchantment%s"));
81         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
82         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
83     }
84
85     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_NEXU)) {
86         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_NEXU, _("因果混乱%s", "nexus%s"));
87         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
88         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
89     }
90
91     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_TIME)) {
92         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_TIME, _("時間逆転%s", "time%s"));
93         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
94         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
95     }
96
97     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_INER)) {
98         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_INER, _("遅鈍%s", "inertia%s"));
99         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
100         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
101     }
102
103     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_GRAV)) {
104         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_GRAV, _("重力%s", "gravity%s"));
105         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
106         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
107     }
108
109     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_SHAR)) {
110         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_SHAR, _("破片%s", "shards%s"));
111         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
112         lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
113     }
114
115     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_PLAS)) {
116         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_PLAS, _("プラズマ%s", "plasma%s"));
117         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
118         lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
119     }
120
121     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_FORC)) {
122         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_FORC, _("フォース%s", "force%s"));
123         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
124         lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
125     }
126
127     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_MANA)) {
128         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_MANA, _("魔力%s", "mana%s"));
129         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
130         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
131     }
132
133     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_NUKE)) {
134         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_NUKE, _("放射性廃棄物%s", "toxic waste%s"));
135         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
136         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
137     }
138
139     if (lore_ptr->ability_flags.has(RF_ABILITY::BR_DISI)) {
140         set_damage(player_ptr, lore_ptr, RF_ABILITY::BR_DISI, _("分解%s", "disintegration%s"));
141         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
142         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
143     }
144 }
145
146 void set_ball_types(player_type *player_ptr, lore_type *lore_ptr)
147 {
148     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_ACID)) {
149         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_ACID, _("アシッド・ボール%s", "produce acid balls%s"));
150         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
151         lore_ptr->color[lore_ptr->vn++] = TERM_GREEN;
152     }
153
154     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_ELEC)) {
155         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_ELEC, _("サンダー・ボール%s", "produce lightning balls%s"));
156         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
157         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
158     }
159
160     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_FIRE)) {
161         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_FIRE, _("ファイア・ボール%s", "produce fire balls%s"));
162         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
163         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
164     }
165
166     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_COLD)) {
167         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_COLD, _("アイス・ボール%s", "produce frost balls%s"));
168         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
169         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
170     }
171
172     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_POIS)) {
173         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_POIS, _("悪臭雲%s", "produce poison balls%s"));
174         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
175         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
176     }
177
178     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_NETH)) {
179         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_NETH, _("地獄球%s", "produce nether balls%s"));
180         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
181         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
182     }
183
184     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_WATE)) {
185         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_WATE, _("ウォーター・ボール%s", "produce water balls%s"));
186         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
187         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
188     }
189
190     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_NUKE)) {
191         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_NUKE, _("放射能球%s", "produce balls of radiation%s"));
192         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
193         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
194     }
195
196     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_MANA)) {
197         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_MANA, _("魔力の嵐%s", "invoke mana storms%s"));
198         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
199         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
200     }
201
202     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_DARK)) {
203         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_DARK, _("暗黒の嵐%s", "invoke darkness storms%s"));
204         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
205         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
206     }
207
208     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_LITE)) {
209         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_LITE, _("スターバースト%s", "invoke starburst%s"));
210         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
211         lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
212     }
213
214     if (lore_ptr->ability_flags.has(RF_ABILITY::BA_CHAO)) {
215         set_damage(player_ptr, lore_ptr, RF_ABILITY::BA_CHAO, _("純ログルス%s", "invoke raw Logrus%s"));
216         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
217         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
218     }
219 }
220
221 void set_particular_types(player_type *player_ptr, lore_type *lore_ptr)
222 {
223     if (lore_ptr->ability_flags.has(RF_ABILITY::HAND_DOOM)) {
224         lore_ptr->vp[lore_ptr->vn] = _("破滅の手(40%-60%)", "invoke the Hand of Doom(40%-60%)");
225         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
226     }
227
228     if (lore_ptr->ability_flags.has(RF_ABILITY::PSY_SPEAR)) {
229         set_damage(player_ptr, lore_ptr, RF_ABILITY::PSY_SPEAR, _("光の剣%s", "psycho-spear%s"));
230         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
231         lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
232     }
233
234     if (lore_ptr->ability_flags.has(RF_ABILITY::DRAIN_MANA)) {
235         set_damage(player_ptr, lore_ptr, RF_ABILITY::DRAIN_MANA, _("魔力吸収%s", "drain mana%s"));
236         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
237         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
238     }
239
240     if (lore_ptr->ability_flags.has(RF_ABILITY::MIND_BLAST)) {
241         set_damage(player_ptr, lore_ptr, RF_ABILITY::MIND_BLAST, _("精神攻撃%s", "cause mind blasting%s"));
242         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
243         lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
244     }
245
246     if (lore_ptr->ability_flags.has(RF_ABILITY::BRAIN_SMASH)) {
247         set_damage(player_ptr, lore_ptr, RF_ABILITY::BRAIN_SMASH, _("脳攻撃%s", "cause brain smashing%s"));
248         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
249         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
250     }
251
252     if (lore_ptr->ability_flags.has(RF_ABILITY::CAUSE_1)) {
253         set_damage(player_ptr, lore_ptr, RF_ABILITY::CAUSE_1, _("軽傷+呪い%s", "cause light wounds and cursing%s"));
254         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
255         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
256     }
257
258     if (lore_ptr->ability_flags.has(RF_ABILITY::CAUSE_2)) {
259         set_damage(player_ptr, lore_ptr, RF_ABILITY::CAUSE_2, _("重傷+呪い%s", "cause serious wounds and cursing%s"));
260         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
261         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
262     }
263
264     if (lore_ptr->ability_flags.has(RF_ABILITY::CAUSE_3)) {
265         set_damage(player_ptr, lore_ptr, RF_ABILITY::CAUSE_3, _("致命傷+呪い%s", "cause critical wounds and cursing%s"));
266         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
267         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
268     }
269
270     if (lore_ptr->ability_flags.has(RF_ABILITY::CAUSE_4)) {
271         set_damage(player_ptr, lore_ptr, RF_ABILITY::CAUSE_4, _("秘孔を突く%s", "cause mortal wounds%s"));
272         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
273         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
274     }
275 }
276
277 void set_bolt_types(player_type *player_ptr, lore_type *lore_ptr)
278 {
279     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_ACID)) {
280         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_ACID, _("アシッド・ボルト%s", "produce acid bolts%s"));
281         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
282         lore_ptr->color[lore_ptr->vn++] = TERM_GREEN;
283     }
284
285     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_ELEC)) {
286         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_ELEC, _("サンダー・ボルト%s", "produce lightning bolts%s"));
287         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
288         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
289     }
290
291     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_FIRE)) {
292         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_FIRE, _("ファイア・ボルト%s", "produce fire bolts%s"));
293         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
294         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
295     }
296
297     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_COLD)) {
298         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_COLD, _("アイス・ボルト%s", "produce frost bolts%s"));
299         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
300         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
301     }
302
303     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_NETH)) {
304         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_NETH, _("地獄の矢%s", "produce nether bolts%s"));
305         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
306         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
307     }
308
309     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_WATE)) {
310         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_WATE, _("ウォーター・ボルト%s", "produce water bolts%s"));
311         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
312         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
313     }
314
315     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_MANA)) {
316         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_MANA, _("魔力の矢%s", "produce mana bolts%s"));
317         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
318         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
319     }
320
321     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_PLAS)) {
322         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_PLAS, _("プラズマ・ボルト%s", "produce plasma bolts%s"));
323         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
324         lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
325     }
326
327     if (lore_ptr->ability_flags.has(RF_ABILITY::BO_ICEE)) {
328         set_damage(player_ptr, lore_ptr, RF_ABILITY::BO_ICEE, _("極寒の矢%s", "produce ice bolts%s"));
329         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
330         lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
331     }
332
333     if (lore_ptr->ability_flags.has(RF_ABILITY::MISSILE)) {
334         set_damage(player_ptr, lore_ptr, RF_ABILITY::MISSILE, _("マジックミサイル%s", "produce magic missiles%s"));
335         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
336         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
337     }
338 }
339
340 void set_status_types(lore_type *lore_ptr)
341 {
342     if (lore_ptr->ability_flags.has(RF_ABILITY::SCARE)) {
343         lore_ptr->vp[lore_ptr->vn] = _("恐怖", "terrify");
344         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
345     }
346
347     if (lore_ptr->ability_flags.has(RF_ABILITY::BLIND)) {
348         lore_ptr->vp[lore_ptr->vn] = _("目くらまし", "blind");
349         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
350     }
351
352     if (lore_ptr->ability_flags.has(RF_ABILITY::CONF)) {
353         lore_ptr->vp[lore_ptr->vn] = _("混乱", "confuse");
354         lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
355     }
356
357     if (lore_ptr->ability_flags.has(RF_ABILITY::SLOW)) {
358         lore_ptr->vp[lore_ptr->vn] = _("減速", "slow");
359         lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
360     }
361
362     if (lore_ptr->ability_flags.has(RF_ABILITY::HOLD)) {
363         lore_ptr->vp[lore_ptr->vn] = _("麻痺", "paralyze");
364         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
365     }
366
367     if (lore_ptr->ability_flags.has(RF_ABILITY::HASTE)) {
368         lore_ptr->vp[lore_ptr->vn] = _("加速", "haste-self");
369         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
370     }
371
372     if (lore_ptr->ability_flags.has(RF_ABILITY::HEAL)) {
373         lore_ptr->vp[lore_ptr->vn] = _("治癒", "heal-self");
374         lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
375     }
376
377     if (lore_ptr->ability_flags.has(RF_ABILITY::INVULNER)) {
378         lore_ptr->vp[lore_ptr->vn] = _("無敵化", "make invulnerable");
379         lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
380     }
381
382     if (lore_ptr->ability_flags.has(RF_ABILITY::DISPEL)) {
383         lore_ptr->vp[lore_ptr->vn] = _("魔力消去", "dispel-magic");
384         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
385     }
386 }
387
388 /*!
389  * @details 間にザ・ワールドが入っているが、元々こうなので敢えて修正はしない
390  */
391 void set_teleport_types(lore_type *lore_ptr)
392 {
393     if (lore_ptr->ability_flags.has(RF_ABILITY::BLINK)) {
394         lore_ptr->vp[lore_ptr->vn] = _("ショートテレポート", "blink-self");
395         lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
396     }
397
398     if (lore_ptr->ability_flags.has(RF_ABILITY::TPORT)) {
399         lore_ptr->vp[lore_ptr->vn] = _("テレポート", "teleport-self");
400         lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
401     }
402
403     if (lore_ptr->ability_flags.has(RF_ABILITY::WORLD)) {
404         lore_ptr->vp[lore_ptr->vn] = _("時を止める", "stop time");
405         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
406     }
407
408     if (lore_ptr->ability_flags.has(RF_ABILITY::TELE_TO)) {
409         lore_ptr->vp[lore_ptr->vn] = _("テレポートバック", "teleport to");
410         lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
411     }
412
413     if (lore_ptr->ability_flags.has(RF_ABILITY::TELE_AWAY)) {
414         lore_ptr->vp[lore_ptr->vn] = _("テレポートアウェイ", "teleport away");
415         lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
416     }
417
418     if (lore_ptr->ability_flags.has(RF_ABILITY::TELE_LEVEL)) {
419         lore_ptr->vp[lore_ptr->vn] = _("テレポート・レベル", "teleport level");
420         lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
421     }
422 }
423
424 void set_floor_types(player_type *player_ptr, lore_type *lore_ptr)
425 {
426     if (lore_ptr->ability_flags.has(RF_ABILITY::DARKNESS)) {
427         if ((player_ptr->pclass != CLASS_NINJA) || (lore_ptr->r_ptr->flags3 & (RF3_UNDEAD | RF3_HURT_LITE)) || (lore_ptr->r_ptr->flags7 & RF7_DARK_MASK)) {
428             lore_ptr->vp[lore_ptr->vn] = _("暗闇", "create darkness");
429             lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
430         } else {
431             lore_ptr->vp[lore_ptr->vn] = _("閃光", "create light");
432             lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
433         }
434     }
435
436     if (lore_ptr->ability_flags.has(RF_ABILITY::TRAPS)) {
437         lore_ptr->vp[lore_ptr->vn] = _("トラップ", "create traps");
438         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
439     }
440
441     if (lore_ptr->ability_flags.has(RF_ABILITY::FORGET)) {
442         lore_ptr->vp[lore_ptr->vn] = _("記憶消去", "cause amnesia");
443         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
444     }
445
446     if (lore_ptr->ability_flags.has(RF_ABILITY::RAISE_DEAD)) {
447         lore_ptr->vp[lore_ptr->vn] = _("死者復活", "raise dead");
448         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
449     }
450 }
451
452 void set_summon_types(lore_type *lore_ptr)
453 {
454     if (lore_ptr->ability_flags.has(RF_ABILITY::S_MONSTER)) {
455         lore_ptr->vp[lore_ptr->vn] = _("モンスター一体召喚", "summon a monster");
456         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
457     }
458
459     if (lore_ptr->ability_flags.has(RF_ABILITY::S_MONSTERS)) {
460         lore_ptr->vp[lore_ptr->vn] = _("モンスター複数召喚", "summon monsters");
461         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
462     }
463
464     if (lore_ptr->ability_flags.has(RF_ABILITY::S_KIN)) {
465         lore_ptr->vp[lore_ptr->vn] = _("救援召喚", "summon aid");
466         lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
467     }
468
469     if (lore_ptr->ability_flags.has(RF_ABILITY::S_ANT)) {
470         lore_ptr->vp[lore_ptr->vn] = _("アリ召喚", "summon ants");
471         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
472     }
473
474     if (lore_ptr->ability_flags.has(RF_ABILITY::S_SPIDER)) {
475         lore_ptr->vp[lore_ptr->vn] = _("クモ召喚", "summon spiders");
476         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
477     }
478
479     if (lore_ptr->ability_flags.has(RF_ABILITY::S_HOUND)) {
480         lore_ptr->vp[lore_ptr->vn] = _("ハウンド召喚", "summon hounds");
481         lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
482     }
483
484     if (lore_ptr->ability_flags.has(RF_ABILITY::S_HYDRA)) {
485         lore_ptr->vp[lore_ptr->vn] = _("ヒドラ召喚", "summon hydras");
486         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
487     }
488
489     if (lore_ptr->ability_flags.has(RF_ABILITY::S_ANGEL)) {
490         lore_ptr->vp[lore_ptr->vn] = _("天使一体召喚", "summon an angel");
491         lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
492     }
493
494     if (lore_ptr->ability_flags.has(RF_ABILITY::S_DEMON)) {
495         lore_ptr->vp[lore_ptr->vn] = _("デーモン一体召喚", "summon a demon");
496         lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
497     }
498
499     if (lore_ptr->ability_flags.has(RF_ABILITY::S_UNDEAD)) {
500         lore_ptr->vp[lore_ptr->vn] = _("アンデッド一体召喚", "summon an undead");
501         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
502     }
503
504     if (lore_ptr->ability_flags.has(RF_ABILITY::S_DRAGON)) {
505         lore_ptr->vp[lore_ptr->vn] = _("ドラゴン一体召喚", "summon a dragon");
506         lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
507     }
508
509     if (lore_ptr->ability_flags.has(RF_ABILITY::S_HI_UNDEAD)) {
510         lore_ptr->vp[lore_ptr->vn] = _("強力なアンデッド召喚", "summon Greater Undead");
511         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
512     }
513
514     if (lore_ptr->ability_flags.has(RF_ABILITY::S_HI_DRAGON)) {
515         lore_ptr->vp[lore_ptr->vn] = _("古代ドラゴン召喚", "summon Ancient Dragons");
516         lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
517     }
518
519     if (lore_ptr->ability_flags.has(RF_ABILITY::S_CYBER)) {
520         lore_ptr->vp[lore_ptr->vn] = _("サイバーデーモン召喚", "summon Cyberdemons");
521         lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
522     }
523
524     if (lore_ptr->ability_flags.has(RF_ABILITY::S_AMBERITES)) {
525         lore_ptr->vp[lore_ptr->vn] = _("アンバーの王族召喚", "summon Lords of Amber");
526         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
527     }
528
529     if (lore_ptr->ability_flags.has(RF_ABILITY::S_UNIQUE)) {
530         lore_ptr->vp[lore_ptr->vn] = _("ユニーク・モンスター召喚", "summon Unique Monsters");
531         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
532     }
533 }