]> granicus.if.org Git - nethack/commitdiff
fix #H7453 - 'bonesknown' for dead hero
authorPatR <rankin@nethack.org>
Tue, 16 Oct 2018 01:26:49 +0000 (18:26 -0700)
committerPatR <rankin@nethack.org>
Tue, 16 Oct 2018 01:26:49 +0000 (18:26 -0700)
Dead hero's map coordinates are set to <0,0> part way through bones
creation, then were being used to record grave location for overview
feedback with "final resting place for <dead hero>" if/when another
character got those bones and found the grave (actually, spotted the
location where first hero died regardless of whether a grave gets
placed there).  Record dead hero's pre-<0,0> coordinates as intended.

Not previously noticed because in wizard mode the final resting place
becomes part of overview info as soon as bones are loaded rather than
waiting for the death location to be reached.

doc/fixes36.2
src/bones.c

index 86ace2873fa98e7b8060271305dd0c64e35cbc2a..92096d3f1dfe99672a3d638834b9a84a837794ee 100644 (file)
@@ -165,6 +165,9 @@ during character creation, don't unset alternate weapon when a shield gets
        worn (was preventing knight from having lance set up as uswapwep)
 preformatted Guidebook.txt split line in middle of "' '" for #wait command
 prevent simiulated screenshot in Guidebook.txt from spanning page boundary
+overview information for former hero was not being set properly when bones
+       file was saved, so current hero coming across a dead hero's grave
+       didn't have #overview feedback augmented with "final resting place"
 
 
 Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
index 33f5f2c362036d8fb5c6c52873f08df88fa569ff..77fc271246f999c0313dd4218229a3fa2d4c584e 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.6 bones.c $NHDT-Date: 1508827591 2017/10/24 06:46:31 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.71 $ */
+/* NetHack 3.6 bones.c $NHDT-Date: 1539653203 2018/10/16 01:26:43 $  $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.73 $ */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985,1993. */
 /*-Copyright (c) Robert Patrick Rankin, 2012. */
 /* NetHack may be freely redistributed.  See license for details. */
@@ -460,6 +460,7 @@ make_bones:
     resetobjs(level.buriedobjlist, FALSE);
 
     /* Hero is no longer on the map. */
+    u.ux0 = u.ux, u.uy0 = u.uy;
     u.ux = u.uy = 0;
 
     /* Clear all memory from the level. */
@@ -485,7 +486,7 @@ make_bones:
     formatkiller(newbones->how, sizeof newbones->how, how, TRUE);
     Strcpy(newbones->when, yyyymmddhhmmss(when));
     /* final resting place, used to decide when bones are discovered */
-    newbones->frpx = u.ux, newbones->frpy = u.uy;
+    newbones->frpx = u.ux0, newbones->frpy = u.uy0;
     newbones->bonesknown = FALSE;
     /* if current character died on a bones level, the cemetery list
        will have multiple entries, most recent (this dead hero) first */