OSDN Git Service

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