3 #include "cmd-spell.h"
\r
4 #include "spells-summon.h"
\r
7 * @brief
\88«
\96\82\97Ì
\88æ
\96\82\96@
\82Ì
\8ae
\8f\88\97\9d\82ð
\8ds
\82¤
\r
8 * @param spell
\96\82\96@ID
\r
9 * @param mode
\8f\88\97\9d\93à
\97e (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
\r
10 * @return SPELL_NAME / SPELL_DESC / SPELL_INFO
\8e\9e\82É
\82Í
\95¶
\8e\9a\97ñ
\83|
\83C
\83\93\83^
\82ð
\95Ô
\82·
\81BSPELL_CAST
\8e\9e\82ÍNULL
\95¶
\8e\9a\97ñ
\82ð
\95Ô
\82·
\81B
\r
12 cptr do_daemon_spell(SPELL_IDX spell, BIT_FLAGS mode)
\r
14 bool name = (mode == SPELL_NAME) ? TRUE : FALSE;
\r
15 bool desc = (mode == SPELL_DESC) ? TRUE : FALSE;
\r
16 bool info = (mode == SPELL_INFO) ? TRUE : FALSE;
\r
17 bool cast = (mode == SPELL_CAST) ? TRUE : FALSE;
\r
18 static const char s_dam[] = _("
\91¹
\8f\9d:", "dam ");
\r
21 int plev = p_ptr->lev;
\r
26 if (name) return _("
\83}
\83W
\83b
\83N
\81E
\83~
\83T
\83C
\83\8b", "Magic Missile");
\r
27 if (desc) return _("
\8eã
\82¢
\96\82\96@
\82Ì
\96î
\82ð
\95ú
\82Â
\81B", "Fires a weak bolt of magic.");
\r
30 int dice = 3 + (plev - 1) / 5;
\r
33 if (info) return info_damage(dice, sides, 0);
\r
37 if (!get_aim_dir(&dir)) return NULL;
\r
39 fire_bolt_or_beam(beam_chance() - 10, GF_MISSILE, dir, damroll(dice, sides));
\r
45 if (name) return _("
\96³
\90¶
\96½
\8a´
\92m", "Detect Unlife");
\r
46 if (desc) return _("
\8bß
\82
\82Ì
\90¶
\96½
\82Ì
\82È
\82¢
\83\82\83\93\83X
\83^
\81[
\82ð
\8a´
\92m
\82·
\82é
\81B", "Detects all nonliving monsters in your vicinity.");
\r
49 int rad = DETECT_RAD_DEFAULT;
\r
51 if (info) return info_radius(rad);
\r
55 detect_monsters_nonliving(rad);
\r
61 if (name) return _("
\8e×
\82È
\82é
\8fj
\95\9f", "Evil Bless");
\r
62 if (desc) return _("
\88ê
\92è
\8e\9e\8aÔ
\81A
\96½
\92\86\97¦
\82ÆAC
\82É
\83{
\81[
\83i
\83X
\82ð
\93¾
\82é
\81B", "Gives bonus to hit and AC for a few turns.");
\r
67 if (info) return info_duration(base, base);
\r
71 set_blessed(randint1(base) + base, FALSE);
\r
77 if (name) return _("
\91Ï
\89Î
\89\8a", "Resist Fire");
\r
78 if (desc) return _("
\88ê
\92è
\8e\9e\8aÔ
\81A
\89\8a\82Ö
\82Ì
\91Ï
\90«
\82ð
\93¾
\82é
\81B
\91\95\94õ
\82É
\82æ
\82é
\91Ï
\90«
\82É
\97Ý
\90Ï
\82·
\82é
\81B",
\r
79 "Gives resistance to fire, cold and electricity for a while. These resistances can be added to which from equipment for more powerful resistances.");
\r
84 if (info) return info_duration(base, base);
\r
88 set_oppose_fire(randint1(base) + base, FALSE);
\r
94 if (name) return _("
\8b°
\8dQ", "Horrify");
\r
95 if (desc) return _("
\83\82\83\93\83X
\83^
\81[1
\91Ì
\82ð
\8b°
\95|
\82³
\82¹
\81A
\9eN
\9eO
\82³
\82¹
\82é
\81B
\92ï
\8dR
\82³
\82ê
\82é
\82Æ
\96³
\8cø
\81B", "Attempts to scare and stun a monster.");
\r
100 if (info) return info_power(power);
\r
104 if (!get_aim_dir(&dir)) return NULL;
\r
106 fear_monster(dir, power);
\r
107 stun_monster(dir, power);
\r
113 if (name) return _("
\92n
\8d\96\82Ì
\96î", "Nether Bolt");
\r
114 if (desc) return _("
\92n
\8d\96\82Ì
\83{
\83\8b\83g
\82à
\82µ
\82
\82Í
\83r
\81[
\83\80\82ð
\95ú
\82Â
\81B", "Fires a bolt or beam of nether.");
\r
117 int dice = 6 + (plev - 5) / 4;
\r
120 if (info) return info_damage(dice, sides, 0);
\r
124 if (!get_aim_dir(&dir)) return NULL;
\r
126 fire_bolt_or_beam(beam_chance(), GF_NETHER, dir, damroll(dice, sides));
\r
132 if (name) return _("
\8cÃ
\91ã
\82Ì
\8e\80\97ì
\8f¢
\8a«", "Summon Manes");
\r
133 if (desc) return _("
\8cÃ
\91ã
\82Ì
\8e\80\97ì
\82ð
\8f¢
\8a«
\82·
\82é
\81B", "Summons a manes.");
\r
138 if (!summon_specific(-1, p_ptr->y, p_ptr->x, (plev * 3) / 2, SUMMON_MANES, (PM_ALLOW_GROUP | PM_FORCE_PET)))
\r
140 msg_print(_("
\8cÃ
\91ã
\82Ì
\8e\80\97ì
\82Í
\8c»
\82ê
\82È
\82©
\82Á
\82½
\81B", "No Manes arrive."));
\r
147 if (name) return _("
\92n
\8d\96\82Ì
\89\8b", "Hellish Flame");
\r
148 if (desc) return _("
\8e×
\88«
\82È
\97Í
\82ð
\8e\9d\82Â
\83{
\81[
\83\8b\82ð
\95ú
\82Â
\81B
\91P
\97Ç
\82È
\83\82\83\93\83X
\83^
\81[
\82É
\82Í
\91å
\82«
\82È
\83_
\83\81\81[
\83W
\82ð
\97^
\82¦
\82é
\81B",
\r
149 "Fires a ball of evil power. Hurts good monsters greatly.");
\r
154 int rad = (plev < 30) ? 2 : 3;
\r
157 if (IS_WIZARD_CLASS())
\r
158 base = plev + plev / 2;
\r
160 base = plev + plev / 4;
\r
163 if (info) return info_damage(dice, sides, base);
\r
167 if (!get_aim_dir(&dir)) return NULL;
\r
169 fire_ball(GF_HELL_FIRE, dir, damroll(dice, sides) + base, rad);
\r
175 if (name) return _("
\83f
\81[
\83\82\83\93\8ex
\94z", "Dominate Demon");
\r
176 if (desc) return _("
\88«
\96\821
\91Ì
\82ð
\96£
\97¹
\82·
\82é
\81B
\92ï
\8dR
\82³
\82ê
\82é
\82Æ
\96³
\8cø", "Attempts to charm a demon.");
\r
181 if (info) return info_power(power);
\r
185 if (!get_aim_dir(&dir)) return NULL;
\r
187 control_one_demon(dir, power);
\r
193 if (name) return _("
\83r
\83W
\83\87\83\93", "Vision");
\r
194 if (desc) return _("
\8eü
\95Ó
\82Ì
\92n
\8c`
\82ð
\8a´
\92m
\82·
\82é
\81B", "Maps nearby area.");
\r
197 int rad = DETECT_RAD_MAP;
\r
199 if (info) return info_radius(rad);
\r
209 if (name) return _("
\91Ï
\92n
\8d\96", "Resist Nether");
\r
210 if (desc) return _("
\88ê
\92è
\8e\9e\8aÔ
\81A
\92n
\8d\96\82Ö
\82Ì
\91Ï
\90«
\82ð
\93¾
\82é
\81B", "Gives resistance to nether for a while.");
\r
215 if (info) return info_duration(base, base);
\r
219 set_tim_res_nether(randint1(base) + base, FALSE);
\r
225 if (name) return _("
\83v
\83\89\83Y
\83}
\81E
\83{
\83\8b\83g", "Plasma bolt");
\r
226 if (desc) return _("
\83v
\83\89\83Y
\83}
\82Ì
\83{
\83\8b\83g
\82à
\82µ
\82
\82Í
\83r
\81[
\83\80\82ð
\95ú
\82Â
\81B", "Fires a bolt or beam of plasma.");
\r
229 int dice = 11 + (plev - 5) / 4;
\r
232 if (info) return info_damage(dice, sides, 0);
\r
236 if (!get_aim_dir(&dir)) return NULL;
\r
238 fire_bolt_or_beam(beam_chance(), GF_PLASMA, dir, damroll(dice, sides));
\r
244 if (name) return _("
\83t
\83@
\83C
\83A
\81E
\83{
\81[
\83\8b", "Fire Ball");
\r
245 if (desc) return _("
\89\8a\82Ì
\8b\85\82ð
\95ú
\82Â
\81B", "Fires a ball of fire.");
\r
248 HIT_POINT dam = plev + 55;
\r
251 if (info) return info_damage(0, 0, dam);
\r
255 if (!get_aim_dir(&dir)) return NULL;
\r
257 fire_ball(GF_FIRE, dir, dam, rad);
\r
263 if (name) return _("
\89\8a\82Ì
\90n", "Fire Branding");
\r
264 if (desc) return _("
\95\90\8aí
\82É
\89\8a\82Ì
\91®
\90«
\82ð
\82Â
\82¯
\82é
\81B", "Makes current weapon fire branded.");
\r
275 if (name) return _("
\92n
\8d\96\8b\85", "Nether Ball");
\r
276 if (desc) return _("
\91å
\82«
\82È
\92n
\8d\96\82Ì
\8b\85\82ð
\95ú
\82Â
\81B", "Fires a huge ball of nether.");
\r
279 HIT_POINT dam = plev * 3 / 2 + 100;
\r
280 int rad = plev / 20 + 2;
\r
282 if (info) return info_damage(0, 0, dam);
\r
286 if (!get_aim_dir(&dir)) return NULL;
\r
288 fire_ball(GF_NETHER, dir, dam, rad);
\r
294 if (name) return _("
\83f
\81[
\83\82\83\93\8f¢
\8a«", "Summon Demon");
\r
295 if (desc) return _("
\88«
\96\821
\91Ì
\82ð
\8f¢
\8a«
\82·
\82é
\81B", "Summons a demon.");
\r
300 bool pet = !one_in_(3);
\r
303 if (pet) flg |= PM_FORCE_PET;
\r
304 else flg |= PM_NO_PET;
\r
305 if (!(pet && (plev < 50))) flg |= PM_ALLOW_GROUP;
\r
307 if (summon_specific((pet ? -1 : 0), p_ptr->y, p_ptr->x, plev * 2 / 3 + randint1(plev / 2), SUMMON_DEMON, flg))
\r
309 msg_print(_("
\97°
\89©
\82Ì
\88«
\8fL
\82ª
\8f[
\96\9e\82µ
\82½
\81B", "The area fills with a stench of sulphur and brimstone."));
\r
313 msg_print(_("
\81u
\82²
\97p
\82Å
\82²
\82´
\82¢
\82Ü
\82·
\82©
\81A
\82²
\8eå
\90l
\97l
\81v", "'What is thy bidding... Master?'"));
\r
317 msg_print(_("
\81u
\94Ú
\82µ
\82«
\8eÒ
\82æ
\81A
\89ä
\82Í
\93ð
\82Ì
\89º
\96l
\82É
\82 \82ç
\82¸
\81I
\82¨
\91O
\82Ì
\8d°
\82ð
\92¸
\82
\82¼
\81I
\81v",
\r
318 "'NON SERVIAM! Wretch! I shall feast on thy mortal soul!'"));
\r
323 msg_print(_("
\88«
\96\82\82Í
\8c»
\82ê
\82È
\82©
\82Á
\82½
\81B", "No demons arrive."));
\r
331 if (name) return _("
\88«
\96\82\82Ì
\96Ú", "Devilish Eye");
\r
332 if (desc) return _("
\88ê
\92è
\8e\9e\8aÔ
\81A
\83e
\83\8c\83p
\83V
\81[
\94\
\97Í
\82ð
\93¾
\82é
\81B", "Gives telepathy for a while.");
\r
338 if (info) return info_duration(base, sides);
\r
342 set_tim_esp(randint1(sides) + base, FALSE);
\r
348 if (name) return _("
\88«
\96\82\82Ì
\83N
\83\8d\81[
\83N", "Devil Cloak");
\r
349 if (desc) return _("
\8b°
\95|
\82ð
\8eæ
\82è
\8f\9c\82«
\81A
\88ê
\92è
\8e\9e\8aÔ
\81A
\89\8a\82Æ
\97â
\8bC
\82Ì
\91Ï
\90«
\81A
\89\8a\82Ì
\83I
\81[
\83\89\82ð
\93¾
\82é
\81B
\91Ï
\90«
\82Í
\91\95\94õ
\82É
\82æ
\82é
\91Ï
\90«
\82É
\97Ý
\90Ï
\82·
\82é
\81B",
\r
350 "Removes fear. Gives resistance to fire and cold, and aura of fire. These resistances can be added to which from equipment for more powerful resistances.");
\r
353 TIME_EFFECT base = 20;
\r
355 if (info) return info_duration(base, base);
\r
359 TIME_EFFECT dur = randint1(base) + base;
\r
361 set_oppose_fire(dur, FALSE);
\r
362 set_oppose_cold(dur, FALSE);
\r
363 set_tim_sh_fire(dur, FALSE);
\r
371 if (name) return _("
\97n
\8aâ
\97¬", "The Flow of Lava");
\r
372 if (desc) return _("
\8e©
\95ª
\82ð
\92\86\90S
\82Æ
\82µ
\82½
\89\8a\82Ì
\8b\85\82ð
\8dì
\82è
\8fo
\82µ
\81A
\8f°
\82ð
\97n
\8aâ
\82É
\95Ï
\82¦
\82é
\81B",
\r
373 "Generates a ball of fire centered on you which transforms floors to magma.");
\r
376 HIT_POINT dam = (55 + plev) * 2;
\r
379 if (info) return info_damage(0, 0, dam / 2);
\r
383 fire_ball(GF_FIRE, 0, dam, rad);
\r
384 fire_ball_hide(GF_LAVA_FLOW, 0, 2 + randint1(2), rad);
\r
390 if (name) return _("
\83v
\83\89\83Y
\83}
\8b\85", "Plasma Ball");
\r
391 if (desc) return _("
\83v
\83\89\83Y
\83}
\82Ì
\8b\85\82ð
\95ú
\82Â
\81B", "Fires a ball of plasma.");
\r
394 HIT_POINT dam = plev * 3 / 2 + 80;
\r
395 int rad = 2 + plev / 40;
\r
397 if (info) return info_damage(0, 0, dam);
\r
401 if (!get_aim_dir(&dir)) return NULL;
\r
403 fire_ball(GF_PLASMA, dir, dam, rad);
\r
409 if (name) return _("
\88«
\96\82\95Ï
\89»", "Polymorph Demon");
\r
410 if (desc) return _("
\88ê
\92è
\8e\9e\8aÔ
\81A
\88«
\96\82\82É
\95Ï
\89»
\82·
\82é
\81B
\95Ï
\89»
\82µ
\82Ä
\82¢
\82é
\8aÔ
\82Í
\96{
\97\88\82Ì
\8eí
\91°
\82Ì
\94\
\97Í
\82ð
\8e¸
\82¢
\81A
\91ã
\82í
\82è
\82É
\88«
\96\82\82Æ
\82µ
\82Ä
\82Ì
\94\
\97Í
\82ð
\93¾
\82é
\81B",
\r
411 "Mimic a demon for a while. Loses abilities of original race and gets abilities as a demon.");
\r
414 int base = 10 + plev / 2;
\r
416 if (info) return info_duration(base, base);
\r
420 set_mimic(base + randint1(base), MIMIC_DEMON, FALSE);
\r
426 if (name) return _("
\92n
\8d\96\82Ì
\94g
\93®", "Nather Wave");
\r
427 if (desc) return _("
\8e\8b\8aE
\93à
\82Ì
\91S
\82Ä
\82Ì
\83\82\83\93\83X
\83^
\81[
\82É
\83_
\83\81\81[
\83W
\82ð
\97^
\82¦
\82é
\81B
\91P
\97Ç
\82È
\83\82\83\93\83X
\83^
\81[
\82É
\93Á
\82É
\91å
\82«
\82È
\83_
\83\81\81[
\83W
\82ð
\97^
\82¦
\82é
\81B",
\r
428 "Damages all monsters in sight. Hurts good monsters greatly.");
\r
431 int sides1 = plev * 2;
\r
432 int sides2 = plev * 2;
\r
434 if (info) return format("%sd%d+d%d", s_dam, sides1, sides2);
\r
438 dispel_monsters(randint1(sides1));
\r
439 dispel_good(randint1(sides2));
\r
445 if (name) return _("
\83T
\83L
\83\85\83o
\83X
\82Ì
\90Ú
\95«", "Kiss of Succubus");
\r
446 if (desc) return _("
\88ö
\89Ê
\8d¬
\97\90\82Ì
\8b\85\82ð
\95ú
\82Â
\81B", "Fires a ball of nexus.");
\r
449 HIT_POINT dam = 100 + plev * 2;
\r
452 if (info) return info_damage(0, 0, dam);
\r
456 if (!get_aim_dir(&dir)) return NULL;
\r
457 fire_ball(GF_NEXUS, dir, dam, rad);
\r
463 if (name) return _("
\94j
\96Å
\82Ì
\8eè", "Doom Hand");
\r
464 if (desc) return _("
\94j
\96Å
\82Ì
\8eè
\82ð
\95ú
\82Â
\81B
\90H
\82ç
\82Á
\82½
\83\82\83\93\83X
\83^
\81[
\82Í
\82»
\82Ì
\82Æ
\82«
\82ÌHP
\82Ì
\94¼
\95ª
\91O
\8cã
\82Ì
\83_
\83\81\81[
\83W
\82ð
\8eó
\82¯
\82é
\81B", "Attempts to make a monster's HP almost half.");
\r
469 if (!get_aim_dir(&dir))
\r
472 msg_print(_("<
\94j
\96Å
\82Ì
\8eè>
\82ð
\95ú
\82Á
\82½
\81I", "You invoke the Hand of Doom!"));
\r
474 fire_ball_hide(GF_HAND_DOOM, dir, plev * 2, 0);
\r
480 if (name) return _("
\8em
\8bC
\8d\82\97g", "Raise the Morale");
\r
481 if (desc) return _("
\88ê
\92è
\8e\9e\8aÔ
\81A
\83q
\81[
\83\8d\81[
\8bC
\95ª
\82É
\82È
\82é
\81B", "Removes fear, and gives bonus to hit and 10 more HP for a while.");
\r
485 if (info) return info_duration(base, base);
\r
486 if (cast)heroism(base);
\r
491 if (name) return _("
\95s
\96Å
\82Ì
\93÷
\91Ì", "Immortal Body");
\r
492 if (desc) return _("
\88ê
\92è
\8e\9e\8aÔ
\81A
\8e\9e\8aÔ
\8bt
\93]
\82Ö
\82Ì
\91Ï
\90«
\82ð
\93¾
\82é
\81B", "Gives resistance to time for a while.");
\r
497 if (info) return info_duration(base, base);
\r
501 set_tim_res_time(randint1(base) + base, FALSE);
\r
507 if (name) return _("
\8b¶
\8bC
\82Ì
\89~
\8aÂ", "Insanity Circle");
\r
508 if (desc) return _("
\8e©
\95ª
\82ð
\92\86\90S
\82Æ
\82µ
\82½
\83J
\83I
\83X
\82Ì
\8b\85\81A
\8d¬
\97\90\82Ì
\8b\85\82ð
\94
\90¶
\82³
\82¹
\81A
\8bß
\82
\82Ì
\83\82\83\93\83X
\83^
\81[
\82ð
\96£
\97¹
\82·
\82é
\81B",
\r
509 "Generate balls of chaos, confusion and charm centered on you.");
\r
512 HIT_POINT dam = 50 + plev;
\r
513 int power = 20 + plev;
\r
514 int rad = 3 + plev / 20;
\r
516 if (info) return format("%s%d+%d", s_dam, dam / 2, dam / 2);
\r
520 fire_ball(GF_CHAOS, 0, dam, rad);
\r
521 fire_ball(GF_CONFUSION, 0, dam, rad);
\r
522 fire_ball(GF_CHARM, 0, power, rad);
\r
528 if (name) return _("
\83y
\83b
\83g
\94\9a\94j", "Explode Pets");
\r
529 if (desc) return _("
\91S
\82Ä
\82Ì
\83y
\83b
\83g
\82ð
\8b
\90§
\93I
\82É
\94\9a\94j
\82³
\82¹
\82é
\81B", "Makes all pets explode.");
\r
534 discharge_minion();
\r
540 if (name) return _("
\83O
\83\8c\81[
\83^
\81[
\83f
\81[
\83\82\83\93\8f¢
\8a«", "Summon Greater Demon");
\r
541 if (desc) return _("
\8fã
\8b\89\83f
\81[
\83\82\83\93\82ð
\8f¢
\8a«
\82·
\82é
\81B
\8f¢
\8a«
\82·
\82é
\82É
\82Í
\90l
\8aÔ('p','h','t'
\82Å
\95\
\82³
\82ê
\82é
\83\82\83\93\83X
\83^
\81[)
\82Ì
\8e\80\91Ì
\82ð
\95ù
\82°
\82È
\82¯
\82ê
\82Î
\82È
\82ç
\82È
\82¢
\81B",
\r
542 "Summons greater demon. It need to sacrifice a corpse of human ('p','h' or 't').");
\r
547 if (!cast_summon_greater_demon()) return NULL;
\r
553 if (name) return _("
\92n
\8d\96\97\92", "Nether Storm");
\r
554 if (desc) return _("
\92´
\8b\90\91å
\82È
\92n
\8d\96\82Ì
\8b\85\82ð
\95ú
\82Â
\81B", "Generate a huge ball of nether.");
\r
557 HIT_POINT dam = plev * 15;
\r
558 int rad = plev / 5;
\r
560 if (info) return info_damage(0, 0, dam);
\r
564 if (!get_aim_dir(&dir)) return NULL;
\r
566 fire_ball(GF_NETHER, dir, dam, rad);
\r
572 if (name) return _("
\8c\8c\82Ì
\8eô
\82¢", "Bloody Curse");
\r
573 if (desc) return _("
\8e©
\95ª
\82ª
\83_
\83\81\81[
\83W
\82ð
\8eó
\82¯
\82é
\82±
\82Æ
\82É
\82æ
\82Á
\82Ä
\91Î
\8fÛ
\82É
\8eô
\82¢
\82ð
\82©
\82¯
\81A
\83_
\83\81\81[
\83W
\82ð
\97^
\82¦
\97l
\81X
\82È
\8cø
\89Ê
\82ð
\88ø
\82«
\8bN
\82±
\82·
\81B",
\r
574 "Puts blood curse which damages and causes various effects on a monster. You also take damage.");
\r
577 HIT_POINT dam = 600;
\r
580 if (info) return info_damage(0, 0, dam);
\r
584 if (!get_aim_dir(&dir)) return NULL;
\r
586 fire_ball_hide(GF_BLOOD_CURSE, dir, dam, rad);
\r
587 take_hit(DAMAGE_USELIFE, 20 + randint1(30), _("
\8c\8c\82Ì
\8eô
\82¢", "Blood curse"), -1);
\r
593 if (name) return _("
\96\82\89¤
\95Ï
\89»", "Polymorph Demonlord");
\r
594 if (desc) return _("
\88«
\96\82\82Ì
\89¤
\82É
\95Ï
\89»
\82·
\82é
\81B
\95Ï
\89»
\82µ
\82Ä
\82¢
\82é
\8aÔ
\82Í
\96{
\97\88\82Ì
\8eí
\91°
\82Ì
\94\
\97Í
\82ð
\8e¸
\82¢
\81A
\91ã
\82í
\82è
\82É
\88«
\96\82\82Ì
\89¤
\82Æ
\82µ
\82Ä
\82Ì
\94\
\97Í
\82ð
\93¾
\81A
\95Ç
\82ð
\94j
\89ó
\82µ
\82È
\82ª
\82ç
\95à
\82
\81B",
\r
595 "Mimic a demon lord for a while. Loses abilities of original race and gets great abilities as a demon lord. Even hard walls can't stop your walking.");
\r
600 if (info) return info_duration(base, base);
\r
604 set_mimic(base + randint1(base), MIMIC_DEMON_LORD, FALSE);
\r