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:
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)potion.c 3.5 2005/03/26 */
|
||||
/* SCCS Id: @(#)potion.c 3.5 2005/04/23 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -2070,8 +2070,10 @@ register struct obj *obj;
|
||||
|
||||
switch (chance) {
|
||||
case 0 : verbalize("I am in your debt. I will grant one wish!");
|
||||
makewish();
|
||||
/* bones prep: remove djinni first in case the wish
|
||||
turns out to be fatal (artifact blast) */
|
||||
mongone(mtmp);
|
||||
makewish();
|
||||
break;
|
||||
case 1 : verbalize("Thank you for freeing me!");
|
||||
(void) tamedog(mtmp, (struct obj *)0);
|
||||
|
||||
Reference in New Issue
Block a user