OSDN Git Service

[Refactor] #40414 Separated set_status_types() from process_monster_lore() to magic...
[hengband/hengband.git] / src / lore / magic-types-setter.c
1 #include "lore/magic-types-setter.h"
2 #include "lore/lore-calculator.h"
3 #include "monster-race/race-flags-ability1.h"
4 #include "monster-race/race-flags-ability2.h"
5 #include "monster-race/race-flags4.h"
6 #include "mspell/mspell-type.h"
7 #include "term/term-color-types.h"
8
9 void set_breath_types(player_type *player_ptr, lore_type *lore_ptr)
10 {
11     lore_ptr->vn = 0;
12     if (lore_ptr->flags4 & (RF4_BR_ACID)) {
13         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_ACID), _("酸%s", "acid%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
14         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
15         lore_ptr->color[lore_ptr->vn++] = TERM_GREEN;
16     }
17
18     if (lore_ptr->flags4 & (RF4_BR_ELEC)) {
19         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_ELEC), _("稲妻%s", "lightning%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
20         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
21         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
22     }
23
24     if (lore_ptr->flags4 & (RF4_BR_FIRE)) {
25         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_FIRE), _("火炎%s", "fire%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
26         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
27         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
28     }
29
30     if (lore_ptr->flags4 & (RF4_BR_COLD)) {
31         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_COLD), _("冷気%s", "frost%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
32         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
33         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
34     }
35
36     if (lore_ptr->flags4 & (RF4_BR_POIS)) {
37         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_POIS), _("毒%s", "poison%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
38         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
39         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
40     }
41
42     if (lore_ptr->flags4 & (RF4_BR_NETH)) {
43         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_NETHER), _("地獄%s", "nether%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
44         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
45         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
46     }
47
48     if (lore_ptr->flags4 & (RF4_BR_LITE)) {
49         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_LITE), _("閃光%s", "light%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
50         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
51         lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
52     }
53
54     if (lore_ptr->flags4 & (RF4_BR_DARK)) {
55         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_DARK), _("暗黒%s", "darkness%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
56         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
57         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
58     }
59
60     if (lore_ptr->flags4 & (RF4_BR_CONF)) {
61         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_CONF), _("混乱%s", "confusion%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
62         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
63         lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
64     }
65
66     if (lore_ptr->flags4 & (RF4_BR_SOUN)) {
67         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_SOUND), _("轟音%s", "sound%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
68         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
69         lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
70     }
71
72     if (lore_ptr->flags4 & (RF4_BR_CHAO)) {
73         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_CHAOS), _("カオス%s", "chaos%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
74         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
75         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
76     }
77
78     if (lore_ptr->flags4 & (RF4_BR_DISE)) {
79         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_DISEN), _("劣化%s", "disenchantment%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
80         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
81         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
82     }
83
84     if (lore_ptr->flags4 & (RF4_BR_NEXU)) {
85         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_NEXUS), _("因果混乱%s", "nexus%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
86         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
87         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
88     }
89
90     if (lore_ptr->flags4 & (RF4_BR_TIME)) {
91         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_TIME), _("時間逆転%s", "time%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
92         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
93         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
94     }
95
96     if (lore_ptr->flags4 & (RF4_BR_INER)) {
97         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_INERTIA), _("遅鈍%s", "inertia%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
98         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
99         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
100     }
101
102     if (lore_ptr->flags4 & (RF4_BR_GRAV)) {
103         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_GRAVITY), _("重力%s", "gravity%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
104         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
105         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
106     }
107
108     if (lore_ptr->flags4 & (RF4_BR_SHAR)) {
109         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_SHARDS), _("破片%s", "shards%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
110         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
111         lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
112     }
113
114     if (lore_ptr->flags4 & (RF4_BR_PLAS)) {
115         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_PLASMA), _("プラズマ%s", "plasma%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
116         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
117         lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
118     }
119
120     if (lore_ptr->flags4 & (RF4_BR_WALL)) {
121         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_FORCE), _("フォース%s", "force%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
122         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
123         lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
124     }
125
126     if (lore_ptr->flags4 & (RF4_BR_MANA)) {
127         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_MANA), _("魔力%s", "mana%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
128         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
129         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
130     }
131
132     if (lore_ptr->flags4 & (RF4_BR_NUKE)) {
133         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_NUKE), _("放射性廃棄物%s", "toxic waste%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
134         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
135         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
136     }
137
138     if (lore_ptr->flags4 & (RF4_BR_DISI)) {
139         set_damage(player_ptr, lore_ptr->r_idx, (MS_BR_DISI), _("分解%s", "disintegration%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
140         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
141         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
142     }
143 }
144
145 void set_ball_types(player_type *player_ptr, lore_type *lore_ptr)
146 {
147     if (lore_ptr->a_ability_flags1 & (RF5_BA_ACID)) {
148         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_ACID), _("アシッド・ボール%s", "produce acid balls%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
149         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
150         lore_ptr->color[lore_ptr->vn++] = TERM_GREEN;
151     }
152
153     if (lore_ptr->a_ability_flags1 & (RF5_BA_ELEC)) {
154         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_ELEC), _("サンダー・ボール%s", "produce lightning balls%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
155         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
156         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
157     }
158
159     if (lore_ptr->a_ability_flags1 & (RF5_BA_FIRE)) {
160         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_FIRE), _("ファイア・ボール%s", "produce fire balls%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
161         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
162         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
163     }
164
165     if (lore_ptr->a_ability_flags1 & (RF5_BA_COLD)) {
166         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_COLD), _("アイス・ボール%s", "produce frost balls%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
167         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
168         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
169     }
170
171     if (lore_ptr->a_ability_flags1 & (RF5_BA_POIS)) {
172         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_POIS), _("悪臭雲%s", "produce poison balls%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
173         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
174         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
175     }
176
177     if (lore_ptr->a_ability_flags1 & (RF5_BA_NETH)) {
178         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_NETHER), _("地獄球%s", "produce nether balls%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
179         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
180         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
181     }
182
183     if (lore_ptr->a_ability_flags1 & (RF5_BA_WATE)) {
184         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_WATER), _("ウォーター・ボール%s", "produce water balls%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
185         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
186         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
187     }
188
189     if (lore_ptr->flags4 & (RF4_BA_NUKE)) {
190         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_NUKE), _("放射能球%s", "produce balls of radiation%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
191         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
192         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
193     }
194
195     if (lore_ptr->a_ability_flags1 & (RF5_BA_MANA)) {
196         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_MANA), _("魔力の嵐%s", "invoke mana storms%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
197         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
198         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
199     }
200
201     if (lore_ptr->a_ability_flags1 & (RF5_BA_DARK)) {
202         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_DARK), _("暗黒の嵐%s", "invoke darkness storms%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
203         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
204         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
205     }
206
207     if (lore_ptr->a_ability_flags1 & (RF5_BA_LITE)) {
208         set_damage(player_ptr, lore_ptr->r_idx, (MS_STARBURST), _("スターバースト%s", "invoke starburst%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
209         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
210         lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
211     }
212
213     if (lore_ptr->flags4 & (RF4_BA_CHAO)) {
214         set_damage(player_ptr, lore_ptr->r_idx, (MS_BALL_CHAOS), _("純ログルス%s", "invoke raw Logrus%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
215         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
216         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
217     }
218 }
219
220 void set_particular_types(player_type *player_ptr, lore_type *lore_ptr)
221 {
222     if (lore_ptr->a_ability_flags2 & (RF6_HAND_DOOM)) {
223         lore_ptr->vp[lore_ptr->vn] = _("破滅の手(40%-60%)", "invoke the Hand of Doom(40%-60%)");
224         lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
225     }
226
227     if (lore_ptr->a_ability_flags2 & (RF6_PSY_SPEAR)) {
228         set_damage(player_ptr, lore_ptr->r_idx, (MS_PSY_SPEAR), _("光の剣%s", "psycho-spear%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
229         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
230         lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
231     }
232
233     if (lore_ptr->a_ability_flags1 & (RF5_DRAIN_MANA)) {
234         set_damage(player_ptr, lore_ptr->r_idx, (MS_DRAIN_MANA), _("魔力吸収%s", "drain mana%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
235         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
236         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
237     }
238
239     if (lore_ptr->a_ability_flags1 & (RF5_MIND_BLAST)) {
240         set_damage(player_ptr, lore_ptr->r_idx, (MS_MIND_BLAST), _("精神攻撃%s", "cause mind blasting%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
241         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
242         lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
243     }
244
245     if (lore_ptr->a_ability_flags1 & (RF5_BRAIN_SMASH)) {
246         set_damage(player_ptr, lore_ptr->r_idx, (MS_BRAIN_SMASH), _("脳攻撃%s", "cause brain smashing%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
247         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
248         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
249     }
250
251     if (lore_ptr->a_ability_flags1 & (RF5_CAUSE_1)) {
252         set_damage(player_ptr, lore_ptr->r_idx, (MS_CAUSE_1), _("軽傷+呪い%s", "cause light wounds and cursing%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
253         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
254         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
255     }
256
257     if (lore_ptr->a_ability_flags1 & (RF5_CAUSE_2)) {
258         set_damage(player_ptr, lore_ptr->r_idx, (MS_CAUSE_2), _("重傷+呪い%s", "cause serious wounds and cursing%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
259         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
260         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
261     }
262
263     if (lore_ptr->a_ability_flags1 & (RF5_CAUSE_3)) {
264         set_damage(player_ptr, lore_ptr->r_idx, (MS_CAUSE_3), _("致命傷+呪い%s", "cause critical wounds and cursing%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
265         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
266         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
267     }
268
269     if (lore_ptr->a_ability_flags1 & (RF5_CAUSE_4)) {
270         set_damage(player_ptr, lore_ptr->r_idx, (MS_CAUSE_4), _("秘孔を突く%s", "cause mortal wounds%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
271         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
272         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
273     }
274 }
275
276 void set_bolt_types(player_type *player_ptr, lore_type *lore_ptr)
277 {
278     if (lore_ptr->a_ability_flags1 & (RF5_BO_ACID)) {
279         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_ACID), _("アシッド・ボルト%s", "produce acid bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
280         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
281         lore_ptr->color[lore_ptr->vn++] = TERM_GREEN;
282     }
283
284     if (lore_ptr->a_ability_flags1 & (RF5_BO_ELEC)) {
285         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_ELEC), _("サンダー・ボルト%s", "produce lightning bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
286         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
287         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
288     }
289
290     if (lore_ptr->a_ability_flags1 & (RF5_BO_FIRE)) {
291         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_FIRE), _("ファイア・ボルト%s", "produce fire bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
292         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
293         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
294     }
295
296     if (lore_ptr->a_ability_flags1 & (RF5_BO_COLD)) {
297         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_COLD), _("アイス・ボルト%s", "produce frost bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
298         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
299         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
300     }
301
302     if (lore_ptr->a_ability_flags1 & (RF5_BO_NETH)) {
303         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_NETHER), _("地獄の矢%s", "produce nether bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
304         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
305         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
306     }
307
308     if (lore_ptr->a_ability_flags1 & (RF5_BO_WATE)) {
309         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_WATER), _("ウォーター・ボルト%s", "produce water bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
310         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
311         lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
312     }
313
314     if (lore_ptr->a_ability_flags1 & (RF5_BO_MANA)) {
315         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_MANA), _("魔力の矢%s", "produce mana bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
316         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
317         lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
318     }
319
320     if (lore_ptr->a_ability_flags1 & (RF5_BO_PLAS)) {
321         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_PLASMA), _("プラズマ・ボルト%s", "produce plasma bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
322         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
323         lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
324     }
325
326     if (lore_ptr->a_ability_flags1 & (RF5_BO_ICEE)) {
327         set_damage(player_ptr, lore_ptr->r_idx, (MS_BOLT_ICE), _("極寒の矢%s", "produce ice bolts%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
328         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
329         lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
330     }
331
332     if (lore_ptr->a_ability_flags1 & (RF5_MISSILE)) {
333         set_damage(player_ptr, lore_ptr->r_idx, (MS_MAGIC_MISSILE), _("マジックミサイル%s", "produce magic missiles%s"), lore_ptr->tmp_msg[lore_ptr->vn]);
334         lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
335         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
336     }
337 }
338
339 void set_status_types(lore_type *lore_ptr)
340 {
341     if (lore_ptr->a_ability_flags1 & (RF5_SCARE)) {
342         lore_ptr->vp[lore_ptr->vn] = _("恐怖", "terrify");
343         lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
344     }
345
346     if (lore_ptr->a_ability_flags1 & (RF5_BLIND)) {
347         lore_ptr->vp[lore_ptr->vn] = _("目くらまし", "blind");
348         lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
349     }
350
351     if (lore_ptr->a_ability_flags1 & (RF5_CONF)) {
352         lore_ptr->vp[lore_ptr->vn] = _("混乱", "confuse");
353         lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
354     }
355
356     if (lore_ptr->a_ability_flags1 & (RF5_SLOW)) {
357         lore_ptr->vp[lore_ptr->vn] = _("減速", "slow");
358         lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
359     }
360
361     if (lore_ptr->a_ability_flags1 & (RF5_HOLD)) {
362         lore_ptr->vp[lore_ptr->vn] = _("麻痺", "paralyze");
363         lore_ptr->color[lore_ptr->vn++] = TERM_RED;
364     }
365
366     if (lore_ptr->a_ability_flags2 & (RF6_HASTE)) {
367         lore_ptr->vp[lore_ptr->vn] = _("加速", "haste-self");
368         lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
369     }
370
371     if (lore_ptr->a_ability_flags2 & (RF6_HEAL)) {
372         lore_ptr->vp[lore_ptr->vn] = _("治癒", "heal-self");
373         lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
374     }
375
376     if (lore_ptr->a_ability_flags2 & (RF6_INVULNER)) {
377         lore_ptr->vp[lore_ptr->vn] = _("無敵化", "make invulnerable");
378         lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
379     }
380
381     if (lore_ptr->flags4 & RF4_DISPEL) {
382         lore_ptr->vp[lore_ptr->vn] = _("魔力消去", "dispel-magic");
383         lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
384     }
385 }