diff --git a/doc/fixes36.3 b/doc/fixes36.3 index bf9e7a39f..00745966a 100644 --- a/doc/fixes36.3 +++ b/doc/fixes36.3 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.98 $ $NHDT-Date: 1564767725 2019/08/02 17:42:05 $ +$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.99 $ $NHDT-Date: 1564771880 2019/08/02 18:51:20 $ This fixes36.3 file is here to capture information about updates in the 3.6.x lineage following the release of 3.6.2 in May 2019. Please note, however, @@ -112,6 +112,9 @@ if a chaotic monk or wizard gets crowned and is given a spellbook rather than been "chosen to steal souls for [Arioch's] glory" for multi-shot shooting by monsters, a typo checked hero's weapon for compatibility with ammo when monster was wielding an elven bow +when a boulder was teleported, if it landed in a pit or trap door or hole its + former location wasn't updated to show that it wasn't there anymore + (noticed in Sokoban but not limited to there) Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository diff --git a/src/teleport.c b/src/teleport.c index 100a74d3b..9c2bd66f5 100644 --- a/src/teleport.c +++ b/src/teleport.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 teleport.c $NHDT-Date: 1561336020 2019/06/24 00:27:00 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.89 $ */ +/* NetHack 3.6 teleport.c $NHDT-Date: 1564771880 2019/08/02 18:51:20 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.92 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2011. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1450,6 +1450,9 @@ register struct obj *obj; dndest.nhx, dndest.nhy))); if (flooreffects(obj, tx, ty, "fall")) { + /* update old location since flooreffects() couldn't; + unblock_point() for boulder handled by obj_extract_self() */ + newsym(otx, oty); return FALSE; } else if (otx == 0 && oty == 0) { ; /* fell through a trap door; no update of old loc needed */ @@ -1466,6 +1469,7 @@ register struct obj *obj; newsym(otx, oty); /* update old location */ } place_object(obj, tx, ty); + /* note: block_point() for boulder handled by place_object() */ newsym(tx, ty); return TRUE; }