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"
10 void set_breath_types(PlayerType *player_ptr, lore_type *lore_ptr)
13 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_ACID)) {
14 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
19 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_ELEC)) {
20 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
25 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_FIRE)) {
26 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
31 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_COLD)) {
32 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
37 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_POIS)) {
38 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
43 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_NETH)) {
44 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
49 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_LITE)) {
50 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
55 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_DARK)) {
56 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
61 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_CONF)) {
62 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
67 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_SOUN)) {
68 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
73 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_CHAO)) {
74 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
79 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_DISE)) {
80 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
85 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_NEXU)) {
86 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
91 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_TIME)) {
92 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
97 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_INER)) {
98 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
103 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_GRAV)) {
104 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
109 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_SHAR)) {
110 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
115 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_PLAS)) {
116 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
121 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_FORC)) {
122 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
127 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_MANA)) {
128 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
133 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_NUKE)) {
134 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
139 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_DISI)) {
140 set_damage(player_ptr, lore_ptr, MonsterAbilityType::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;
145 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_VOID)) {
146 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BR_VOID, _("虚空%s", "void%s"));
147 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
148 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
151 if (lore_ptr->ability_flags.has(MonsterAbilityType::BR_ABYSS)) {
152 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BR_ABYSS, _("深淵%s", "abyss%s"));
153 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
154 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
158 void set_ball_types(PlayerType *player_ptr, lore_type *lore_ptr)
160 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_ACID)) {
161 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_ACID, _("アシッド・ボール%s", "produce acid balls%s"));
162 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
163 lore_ptr->color[lore_ptr->vn++] = TERM_GREEN;
166 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_ELEC)) {
167 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_ELEC, _("サンダー・ボール%s", "produce lightning balls%s"));
168 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
169 lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
172 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_FIRE)) {
173 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_FIRE, _("ファイア・ボール%s", "produce fire balls%s"));
174 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
175 lore_ptr->color[lore_ptr->vn++] = TERM_RED;
178 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_COLD)) {
179 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_COLD, _("アイス・ボール%s", "produce frost 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_WHITE;
184 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_POIS)) {
185 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_POIS, _("悪臭雲%s", "produce poison balls%s"));
186 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
187 lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
190 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_NETH)) {
191 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_NETH, _("地獄球%s", "produce nether balls%s"));
192 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
193 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
196 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_WATE)) {
197 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_WATE, _("ウォーター・ボール%s", "produce water balls%s"));
198 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
199 lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
202 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_NUKE)) {
203 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_NUKE, _("放射能球%s", "produce balls of radiation%s"));
204 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
205 lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
208 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_MANA)) {
209 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_MANA, _("魔力の嵐%s", "invoke mana storms%s"));
210 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
211 lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
214 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_DARK)) {
215 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_DARK, _("暗黒の嵐%s", "invoke darkness storms%s"));
216 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
217 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
220 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_LITE)) {
221 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_LITE, _("スターバースト%s", "invoke starburst%s"));
222 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
223 lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
226 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_CHAO)) {
227 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_CHAO, _("純ログルス%s", "invoke raw Logrus%s"));
228 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
229 lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
232 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_VOID)) {
233 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_VOID, _("虚空の嵐%s", "invoke void storms%s"));
234 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
235 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
238 if (lore_ptr->ability_flags.has(MonsterAbilityType::BA_ABYSS)) {
239 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BA_ABYSS, _("深淵の嵐%s", "invoke abyss storms%s"));
240 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
241 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
245 void set_particular_types(PlayerType *player_ptr, lore_type *lore_ptr)
247 if (lore_ptr->ability_flags.has(MonsterAbilityType::HAND_DOOM)) {
248 lore_ptr->vp[lore_ptr->vn] = _("破滅の手(40%-60%)", "invoke the Hand of Doom(40%-60%)");
249 lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
252 if (lore_ptr->ability_flags.has(MonsterAbilityType::PSY_SPEAR)) {
253 set_damage(player_ptr, lore_ptr, MonsterAbilityType::PSY_SPEAR, _("光の剣%s", "psycho-spear%s"));
254 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
255 lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
258 if (lore_ptr->ability_flags.has(MonsterAbilityType::DRAIN_MANA)) {
259 set_damage(player_ptr, lore_ptr, MonsterAbilityType::DRAIN_MANA, _("魔力吸収%s", "drain mana%s"));
260 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
261 lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
264 if (lore_ptr->ability_flags.has(MonsterAbilityType::MIND_BLAST)) {
265 set_damage(player_ptr, lore_ptr, MonsterAbilityType::MIND_BLAST, _("精神攻撃%s", "cause mind blasting%s"));
266 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
267 lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
270 if (lore_ptr->ability_flags.has(MonsterAbilityType::BRAIN_SMASH)) {
271 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BRAIN_SMASH, _("脳攻撃%s", "cause brain smashing%s"));
272 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
273 lore_ptr->color[lore_ptr->vn++] = TERM_RED;
276 if (lore_ptr->ability_flags.has(MonsterAbilityType::CAUSE_1)) {
277 set_damage(player_ptr, lore_ptr, MonsterAbilityType::CAUSE_1, _("軽傷+呪い%s", "cause light wounds and cursing%s"));
278 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
279 lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
282 if (lore_ptr->ability_flags.has(MonsterAbilityType::CAUSE_2)) {
283 set_damage(player_ptr, lore_ptr, MonsterAbilityType::CAUSE_2, _("重傷+呪い%s", "cause serious wounds and cursing%s"));
284 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
285 lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
288 if (lore_ptr->ability_flags.has(MonsterAbilityType::CAUSE_3)) {
289 set_damage(player_ptr, lore_ptr, MonsterAbilityType::CAUSE_3, _("致命傷+呪い%s", "cause critical wounds and cursing%s"));
290 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
291 lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
294 if (lore_ptr->ability_flags.has(MonsterAbilityType::CAUSE_4)) {
295 set_damage(player_ptr, lore_ptr, MonsterAbilityType::CAUSE_4, _("秘孔を突く%s", "cause mortal wounds%s"));
296 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
297 lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
301 void set_bolt_types(PlayerType *player_ptr, lore_type *lore_ptr)
303 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_ACID)) {
304 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_ACID, _("アシッド・ボルト%s", "produce acid bolts%s"));
305 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
306 lore_ptr->color[lore_ptr->vn++] = TERM_GREEN;
309 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_ELEC)) {
310 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_ELEC, _("サンダー・ボルト%s", "produce lightning 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;
315 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_FIRE)) {
316 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_FIRE, _("ファイア・ボルト%s", "produce fire bolts%s"));
317 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
318 lore_ptr->color[lore_ptr->vn++] = TERM_RED;
321 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_COLD)) {
322 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_COLD, _("アイス・ボルト%s", "produce frost 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_WHITE;
327 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_NETH)) {
328 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_NETH, _("地獄の矢%s", "produce nether bolts%s"));
329 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
330 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
333 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_WATE)) {
334 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_WATE, _("ウォーター・ボルト%s", "produce water bolts%s"));
335 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
336 lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
339 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_MANA)) {
340 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_MANA, _("魔力の矢%s", "produce mana bolts%s"));
341 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
342 lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
345 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_PLAS)) {
346 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_PLAS, _("プラズマ・ボルト%s", "produce plasma bolts%s"));
347 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
348 lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
351 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_ICEE)) {
352 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_ICEE, _("極寒の矢%s", "produce ice bolts%s"));
353 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
354 lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
357 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_VOID)) {
358 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_VOID, _("ヴォイド・ボルト%s", "produce void bolts%s"));
359 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
360 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
363 if (lore_ptr->ability_flags.has(MonsterAbilityType::BO_ABYSS)) {
364 set_damage(player_ptr, lore_ptr, MonsterAbilityType::BO_ABYSS, _("アビス・ボルト%s", "produce abyss bolts%s"));
365 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
366 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
369 if (lore_ptr->ability_flags.has(MonsterAbilityType::MISSILE)) {
370 set_damage(player_ptr, lore_ptr, MonsterAbilityType::MISSILE, _("マジックミサイル%s", "produce magic missiles%s"));
371 lore_ptr->vp[lore_ptr->vn] = lore_ptr->tmp_msg[lore_ptr->vn];
372 lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
376 void set_status_types(lore_type *lore_ptr)
378 if (lore_ptr->ability_flags.has(MonsterAbilityType::SCARE)) {
379 lore_ptr->vp[lore_ptr->vn] = _("恐怖", "terrify");
380 lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
383 if (lore_ptr->ability_flags.has(MonsterAbilityType::BLIND)) {
384 lore_ptr->vp[lore_ptr->vn] = _("目くらまし", "blind");
385 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
388 if (lore_ptr->ability_flags.has(MonsterAbilityType::CONF)) {
389 lore_ptr->vp[lore_ptr->vn] = _("混乱", "confuse");
390 lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
393 if (lore_ptr->ability_flags.has(MonsterAbilityType::SLOW)) {
394 lore_ptr->vp[lore_ptr->vn] = _("減速", "slow");
395 lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
398 if (lore_ptr->ability_flags.has(MonsterAbilityType::HOLD)) {
399 lore_ptr->vp[lore_ptr->vn] = _("麻痺", "paralyze");
400 lore_ptr->color[lore_ptr->vn++] = TERM_RED;
403 if (lore_ptr->ability_flags.has(MonsterAbilityType::HASTE)) {
404 lore_ptr->vp[lore_ptr->vn] = _("加速", "haste-self");
405 lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
408 if (lore_ptr->ability_flags.has(MonsterAbilityType::HEAL)) {
409 lore_ptr->vp[lore_ptr->vn] = _("治癒", "heal-self");
410 lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
413 if (lore_ptr->ability_flags.has(MonsterAbilityType::INVULNER)) {
414 lore_ptr->vp[lore_ptr->vn] = _("無敵化", "make invulnerable");
415 lore_ptr->color[lore_ptr->vn++] = TERM_WHITE;
418 if (lore_ptr->ability_flags.has(MonsterAbilityType::DISPEL)) {
419 lore_ptr->vp[lore_ptr->vn] = _("魔力消去", "dispel-magic");
420 lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
425 * @details 間にザ・ワールドが入っているが、元々こうなので敢えて修正はしない
427 void set_teleport_types(lore_type *lore_ptr)
429 if (lore_ptr->ability_flags.has(MonsterAbilityType::BLINK)) {
430 lore_ptr->vp[lore_ptr->vn] = _("ショートテレポート", "blink-self");
431 lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
434 if (lore_ptr->ability_flags.has(MonsterAbilityType::TPORT)) {
435 lore_ptr->vp[lore_ptr->vn] = _("テレポート", "teleport-self");
436 lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
439 if (lore_ptr->ability_flags.has(MonsterAbilityType::WORLD)) {
440 lore_ptr->vp[lore_ptr->vn] = _("時を止める", "stop time");
441 lore_ptr->color[lore_ptr->vn++] = TERM_L_BLUE;
444 if (lore_ptr->ability_flags.has(MonsterAbilityType::TELE_TO)) {
445 lore_ptr->vp[lore_ptr->vn] = _("テレポートバック", "teleport to");
446 lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
449 if (lore_ptr->ability_flags.has(MonsterAbilityType::TELE_AWAY)) {
450 lore_ptr->vp[lore_ptr->vn] = _("テレポートアウェイ", "teleport away");
451 lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
454 if (lore_ptr->ability_flags.has(MonsterAbilityType::TELE_LEVEL)) {
455 lore_ptr->vp[lore_ptr->vn] = _("テレポート・レベル", "teleport level");
456 lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
460 void set_floor_types(PlayerType *player_ptr, lore_type *lore_ptr)
462 if (lore_ptr->ability_flags.has(MonsterAbilityType::DARKNESS)) {
463 if ((player_ptr->pclass != PlayerClassType::NINJA) || (lore_ptr->r_ptr->flags3 & (RF3_UNDEAD | RF3_HURT_LITE)) || (lore_ptr->r_ptr->flags7 & RF7_DARK_MASK)) {
464 lore_ptr->vp[lore_ptr->vn] = _("暗闇", "create darkness");
465 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
467 lore_ptr->vp[lore_ptr->vn] = _("閃光", "create light");
468 lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
472 if (lore_ptr->ability_flags.has(MonsterAbilityType::TRAPS)) {
473 lore_ptr->vp[lore_ptr->vn] = _("トラップ", "create traps");
474 lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
477 if (lore_ptr->ability_flags.has(MonsterAbilityType::FORGET)) {
478 lore_ptr->vp[lore_ptr->vn] = _("記憶消去", "cause amnesia");
479 lore_ptr->color[lore_ptr->vn++] = TERM_BLUE;
482 if (lore_ptr->ability_flags.has(MonsterAbilityType::RAISE_DEAD)) {
483 lore_ptr->vp[lore_ptr->vn] = _("死者復活", "raise dead");
484 lore_ptr->color[lore_ptr->vn++] = TERM_RED;
488 void set_summon_types(lore_type *lore_ptr)
490 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_MONSTER)) {
491 lore_ptr->vp[lore_ptr->vn] = _("モンスター一体召喚", "summon a monster");
492 lore_ptr->color[lore_ptr->vn++] = TERM_SLATE;
495 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_MONSTERS)) {
496 lore_ptr->vp[lore_ptr->vn] = _("モンスター複数召喚", "summon monsters");
497 lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE;
500 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_KIN)) {
501 lore_ptr->vp[lore_ptr->vn] = _("救援召喚", "summon aid");
502 lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
505 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_ANT)) {
506 lore_ptr->vp[lore_ptr->vn] = _("アリ召喚", "summon ants");
507 lore_ptr->color[lore_ptr->vn++] = TERM_RED;
510 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_SPIDER)) {
511 lore_ptr->vp[lore_ptr->vn] = _("クモ召喚", "summon spiders");
512 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
515 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_HOUND)) {
516 lore_ptr->vp[lore_ptr->vn] = _("ハウンド召喚", "summon hounds");
517 lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER;
520 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_HYDRA)) {
521 lore_ptr->vp[lore_ptr->vn] = _("ヒドラ召喚", "summon hydras");
522 lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN;
525 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_ANGEL)) {
526 lore_ptr->vp[lore_ptr->vn] = _("天使一体召喚", "summon an angel");
527 lore_ptr->color[lore_ptr->vn++] = TERM_YELLOW;
530 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_DEMON)) {
531 lore_ptr->vp[lore_ptr->vn] = _("デーモン一体召喚", "summon a demon");
532 lore_ptr->color[lore_ptr->vn++] = TERM_L_RED;
535 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_UNDEAD)) {
536 lore_ptr->vp[lore_ptr->vn] = _("アンデッド一体召喚", "summon an undead");
537 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
540 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_DRAGON)) {
541 lore_ptr->vp[lore_ptr->vn] = _("ドラゴン一体召喚", "summon a dragon");
542 lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
545 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_HI_UNDEAD)) {
546 lore_ptr->vp[lore_ptr->vn] = _("強力なアンデッド召喚", "summon Greater Undead");
547 lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK;
550 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_HI_DRAGON)) {
551 lore_ptr->vp[lore_ptr->vn] = _("古代ドラゴン召喚", "summon Ancient Dragons");
552 lore_ptr->color[lore_ptr->vn++] = TERM_ORANGE;
555 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_CYBER)) {
556 lore_ptr->vp[lore_ptr->vn] = _("サイバーデーモン召喚", "summon Cyberdemons");
557 lore_ptr->color[lore_ptr->vn++] = TERM_UMBER;
560 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_AMBERITES)) {
561 lore_ptr->vp[lore_ptr->vn] = _("アンバーの王族召喚", "summon Lords of Amber");
562 lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;
565 if (lore_ptr->ability_flags.has(MonsterAbilityType::S_UNIQUE)) {
566 lore_ptr->vp[lore_ptr->vn] = _("ユニーク・モンスター召喚", "summon Unique Monsters");
567 lore_ptr->color[lore_ptr->vn++] = TERM_VIOLET;