diff --git a/doc/fixes36.2 b/doc/fixes36.2 index b9bfdfd95..5e4d30edf 100644 --- a/doc/fixes36.2 +++ b/doc/fixes36.2 @@ -221,6 +221,7 @@ end of game while carrying Schroedinger's Box would reveal cat-or-corpse attempting to untrap an adjacent trap while on the edge of--not in--a pit failed due to not being able to reach the floor magic trap's deafening roar effect wasn't waking nearby monsters +scattering of objects might leave source location with wrong thing displayed Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository diff --git a/src/explode.c b/src/explode.c index fc2855c1d..46d3b327f 100644 --- a/src/explode.c +++ b/src/explode.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 explode.c $NHDT-Date: 1522454717 2018/03/31 00:05:17 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.56 $ */ +/* NetHack 3.6 explode.c $NHDT-Date: 1543101719 2018/11/24 23:21:59 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.59 $ */ /* Copyright (C) 1990 by Ken Arromdee */ /* NetHack may be freely redistributed. See license for details. */ @@ -616,6 +616,10 @@ struct obj *obj; /* only scatter this obj */ struct scatter_chain *schain = (struct scatter_chain *) 0; long total = 0L; + if (individual_object && (obj->ox != sx || obj->oy != sy)) + impossible("scattered object <%d,%d> not at scatter site <%d,%d>", + obj->ox, obj->oy, sx, sy); + while ((otmp = (individual_object ? obj : level.objects[sx][sy])) != 0) { if (otmp->quan > 1L) { qtmp = otmp->quan - 1L; @@ -759,7 +763,7 @@ struct obj *obj; /* only scatter this obj */ free((genericptr_t) stmp); newsym(x, y); } - + newsym(sx, sy); return total; }