]> granicus.if.org Git - nethack/commitdiff
fix github issue #134 - display of migrated objects
authorPatR <rankin@nethack.org>
Sat, 22 Sep 2018 22:18:38 +0000 (15:18 -0700)
committerPatR <rankin@nethack.org>
Sat, 22 Sep 2018 22:18:38 +0000 (15:18 -0700)
Fixes #134

An invisible hero (who can't see invisible and doesn't have autopickup
enabled) going down stairs to an object which fell down those stairs
will see the stairs instead of the object on them.  Missing newsym()
in obj_delivery() when objects aren't being passed through scatter().

doc/fixes36.2
src/dokick.c
src/explode.c

index ecb6baa939edc67d54cbd4301635759cce607869..914a3469e3f2ce60e90352ddc49dab8cc6b8a62b 100644 (file)
@@ -133,6 +133,8 @@ a sleeping or paralyzed mon would be frightened by its reflection when
 prevent leash showing unseen monster as "attached to it"
 gremlins seemed impervious to Sunsword's light yet a flash from a camera
        caused them to cry out in pain
+when objects migrate (fall down stairs) and invisible hero (w/o see invisible,
+       no-autopickup) descends, stairs get shown instead of object(s) on them
 
 
 Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
index 4a4ac6b93d608f1dd73f7d8aab32f964efc2036f..99858a62ffc36cb7f3d27022990678bafb91ab10 100644 (file)
@@ -1658,6 +1658,8 @@ boolean near_hero;
             stackobj(otmp);
             if (!noscatter)
                 (void) scatter(nx, ny, rnd(2), 0, otmp);
+            else
+                newsym(nx, ny);
         } else { /* random location */
             /* set dummy coordinates because there's no
                current position for rloco() to update */
index c48f9ffb14960222a42e2c247bbe33deb46fc390..fc2855c1df62c17b0e6cf70905e42ab8e0afa682 100644 (file)
@@ -657,6 +657,7 @@ struct obj *obj; /* only scatter this obj        */
                 (void) break_statue(otmp);
                 place_object(otmp, sx, sy); /* put fragments on floor */
             }
+            newsym(sx, sy); /* in case it's beyond radius of 'farthest' */
             used_up = TRUE;
 
             /* 1 in 10 chance of destruction of obj; glass, egg destruction */