]> granicus.if.org Git - nethack/commitdiff
bones fix
authornethack.rankin <nethack.rankin>
Thu, 8 May 2003 07:23:11 +0000 (07:23 +0000)
committernethack.rankin <nethack.rankin>
Thu, 8 May 2003 07:23:11 +0000 (07:23 +0000)
     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.

doc/fixes34.2
src/shk.c

index 4a58fce8b7705ab912d592f7e48690b17c9600e2..adc79c8057dd6fb8db41fd80a1440189dcab19d0 100644 (file)
@@ -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
index b70180f031cda87d36683552b0aefbaa572e7425..dc2116b5d408b6eb067d39a683b391307da5dde4 100644 (file)
--- 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? */