]> granicus.if.org Git - nethack/commitdiff
converting SCORR to CORR unblocks vision
authorcohrs <cohrs>
Mon, 25 Feb 2002 02:43:50 +0000 (02:43 +0000)
committercohrs <cohrs>
Mon, 25 Feb 2002 02:43:50 +0000 (02:43 +0000)
- fix several cases where a point was unblocked by unblock_point wasn't
 called, directly or indirectly

doc/fixes34.0
src/apply.c
src/detect.c
src/music.c
src/trap.c

index c341723af3173da0580389fb591d47bc836385e1..8601a415e8a8482a9f7ef03a5275c302f8ef45e1 100644 (file)
@@ -444,6 +444,7 @@ chaotic monsters can use Stormbringer; lawful monsters can use Excalibur
 No "corridor disappears" message if Vault guard dies off-level
 slip while mounting and levitating at will should not cause damage
 if you see a monster jump into a trap in a secret corridor, it's not secret
+fixed a few places where unblock_point wasn't called but should have been
 
 
 Platform- and/or Interface-Specific Fixes
index 060ee9de4a9d041c7a9047b8b7248bfd18a4e5a9..dfb742e597c98844d86dd43010b52d3be7088a76 100644 (file)
@@ -278,6 +278,7 @@ use_stethoscope(obj)
        case SCORR:
                You_hear(hollow_str, "passage");
                lev->typ = CORR;
+               unblock_point(rx,ry);
                if (Blind) feel_location(rx,ry);
                else newsym(rx,ry);
                return res;
index 7457972f6f2bba06a2e217f8d259570f6fdc3b97..f5980c97161a379389aa913f4ffbbc361ecc0bc9 100644 (file)
@@ -1046,10 +1046,12 @@ genericptr_t num;
                    levl[zx][zy].doormask = D_NODOOR;
                } else
                    levl[zx][zy].doormask = D_ISOPEN;
+               unblock_point(zx, zy);
                newsym(zx, zy);
                (*(int*)num)++;
        } else if(levl[zx][zy].typ == SCORR) {
                levl[zx][zy].typ = CORR;
+               unblock_point(zx, zy);
                newsym(zx, zy);
                (*(int*)num)++;
        } else if ((ttmp = t_at(zx, zy)) != 0) {
index 017288f6aa86128689256e04d2bede95c55a0e6e..6cdb54fb984b885a6286b1a0265c21c7160f8c1c 100644 (file)
@@ -338,6 +338,7 @@ do_pit:                 chasm = maketrap(x,y,PIT);
                    if (*in_rooms(x, y, SHOPBASE))
                        add_damage(x, y, 0L);
                    levl[x][y].doormask = D_NODOOR;
+                   unblock_point(x,y);
                    newsym(x,y);
                    break;
            }
index 25cf6422a5f190d45b834896e3fc4d9221d85cb1..ab5ddeca2a1474be313d88643176e76de49e457a 100644 (file)
@@ -1314,6 +1314,7 @@ int style;
                        if (cansee(bhitpos.x, bhitpos.y))
                                pline_The("boulder crashes through a door.");
                        levl[bhitpos.x][bhitpos.y].doormask = D_BROKEN;
+                       if (dist) unblock_point(bhitpos.x, bhitpos.y);
                }
        }
        tmp_at(DISP_END, 0);