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"
8 void set_breath_types(player_type *player_ptr, lore_type *lore_ptr)
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
144 void set_ball_types(player_type *player_ptr, lore_type *lore_ptr)
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
219 void set_particular_types(player_type *player_ptr, lore_type *lore_ptr)
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;
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;
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;
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;
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;
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;
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;
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;
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;
275 void set_bolt_types(player_type *player_ptr, lore_type *lore_ptr)
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
338 void set_status_types(lore_type *lore_ptr)
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;
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;
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;
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;
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;
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;
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;
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;
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;
387 * @details 間にザ・ワールドが入っているが、元々こうなので敢えて修正はしない
389 void set_teleport_types(lore_type *lore_ptr)
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;
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;
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;
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;
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;
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;
422 void set_floor_types(player_type *player_ptr, lore_type *lore_ptr)
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;
429 lore_ptr->vp[lore_ptr->vn] = _("閃光", "create light");
430 lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
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;
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;
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;
450 void set_summon_types(lore_type *lore_ptr)
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;