fix #M63: Problem with magic lamp changing
Fix the problem From a bug report, so finding it in a bones file yielded a fully functional magic
lamp. Fix as user suggested: convert the lamp first.
It also left the djinni who would normally have disappeared right after
the wish. Water demons from fountains have that problem too. Unfortunately
my fix is a bit buggy: when removing the monster before granting the wish,
the player can notice. Is there a straightforward way to display a monster
where none is present on the map? Or do we need something comparable to the
obj->in_use flag for monsters, so that the bones code can discard particular
ones?
This commit is contained in:
+4
-2
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)fountain.c 3.5 2003/03/23 */
|
||||
/* SCCS Id: @(#)fountain.c 3.5 2005/04/23 */
|
||||
/* Copyright Scott R. Turner, srt@ucla, 10/27/86 */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -56,8 +56,10 @@ dowaterdemon() /* Water demon */
|
||||
if (rnd(100) > (80 + level_difficulty())) {
|
||||
pline("Grateful for %s release, %s grants you a wish!",
|
||||
mhis(mtmp), mhe(mtmp));
|
||||
makewish();
|
||||
/* bones prep: remove demon first in case the wish
|
||||
turns out to be fatal (artifact blast) */
|
||||
mongone(mtmp);
|
||||
makewish();
|
||||
} else if (t_at(mtmp->mx, mtmp->my))
|
||||
(void) mintrap(mtmp);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user