From: nethack.rankin Date: Thu, 8 May 2003 07:23:11 +0000 (+0000) Subject: bones fix X-Git-Tag: MOVE2GIT~2013 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=33d3c2581eb76efc75893821465637bdc406de43;p=nethack bones fix From the newsgroup: leash found inside a bones level shop was flagged as "in use". 3.4.0 had a fix for that which works for most cases, but not when the shopkeeper has taken the dead character's inventory just before saving the bones file. This also adds an entry to the branch copy of fixes34.2 to synchronize it with the trunk copy. --- diff --git a/doc/fixes34.2 b/doc/fixes34.2 index 4a58fce8b..adc79c805 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -51,6 +51,8 @@ help display for "list of game options" misformats runmode and scroll_amount pit created by land mine explosion doesn't start out concealed update map display sooner when pushed boulder triggers land mine explosion prevent fatal error from prompt string overflow in lift_object() +make sure that leashed monsters are released prior to shopkeeper inheriting + dead character's inventory Platform- and/or Interface-Specific Fixes diff --git a/src/shk.c b/src/shk.c index b70180f03..dc2116b5d 100644 --- a/src/shk.c +++ b/src/shk.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)shk.c 3.4 2003/01/08 */ +/* SCCS Id: @(#)shk.c 3.4 2003/05/07 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1754,6 +1754,8 @@ finish_paybill() #if 0 /* don't bother */ if (ox == 0 && oy == 0) impossible("finish_paybill: no location"); #endif + /* normally done by savebones(), but that's too late in this case */ + unleash_all(); /* transfer all of the character's inventory to the shop floor */ while ((otmp = invent) != 0) { otmp->owornmask = 0L; /* perhaps we should call setnotworn? */