converting SCORR to CORR unblocks vision
- fix several cases where a point was unblocked by unblock_point wasn't called, directly or indirectly
This commit is contained in:
@@ -444,6 +444,7 @@ chaotic monsters can use Stormbringer; lawful monsters can use Excalibur
|
|||||||
No "corridor disappears" message if Vault guard dies off-level
|
No "corridor disappears" message if Vault guard dies off-level
|
||||||
slip while mounting and levitating at will should not cause damage
|
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
|
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
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ use_stethoscope(obj)
|
|||||||
case SCORR:
|
case SCORR:
|
||||||
You_hear(hollow_str, "passage");
|
You_hear(hollow_str, "passage");
|
||||||
lev->typ = CORR;
|
lev->typ = CORR;
|
||||||
|
unblock_point(rx,ry);
|
||||||
if (Blind) feel_location(rx,ry);
|
if (Blind) feel_location(rx,ry);
|
||||||
else newsym(rx,ry);
|
else newsym(rx,ry);
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -1046,10 +1046,12 @@ genericptr_t num;
|
|||||||
levl[zx][zy].doormask = D_NODOOR;
|
levl[zx][zy].doormask = D_NODOOR;
|
||||||
} else
|
} else
|
||||||
levl[zx][zy].doormask = D_ISOPEN;
|
levl[zx][zy].doormask = D_ISOPEN;
|
||||||
|
unblock_point(zx, zy);
|
||||||
newsym(zx, zy);
|
newsym(zx, zy);
|
||||||
(*(int*)num)++;
|
(*(int*)num)++;
|
||||||
} else if(levl[zx][zy].typ == SCORR) {
|
} else if(levl[zx][zy].typ == SCORR) {
|
||||||
levl[zx][zy].typ = CORR;
|
levl[zx][zy].typ = CORR;
|
||||||
|
unblock_point(zx, zy);
|
||||||
newsym(zx, zy);
|
newsym(zx, zy);
|
||||||
(*(int*)num)++;
|
(*(int*)num)++;
|
||||||
} else if ((ttmp = t_at(zx, zy)) != 0) {
|
} else if ((ttmp = t_at(zx, zy)) != 0) {
|
||||||
|
|||||||
@@ -338,6 +338,7 @@ do_pit: chasm = maketrap(x,y,PIT);
|
|||||||
if (*in_rooms(x, y, SHOPBASE))
|
if (*in_rooms(x, y, SHOPBASE))
|
||||||
add_damage(x, y, 0L);
|
add_damage(x, y, 0L);
|
||||||
levl[x][y].doormask = D_NODOOR;
|
levl[x][y].doormask = D_NODOOR;
|
||||||
|
unblock_point(x,y);
|
||||||
newsym(x,y);
|
newsym(x,y);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1314,6 +1314,7 @@ int style;
|
|||||||
if (cansee(bhitpos.x, bhitpos.y))
|
if (cansee(bhitpos.x, bhitpos.y))
|
||||||
pline_The("boulder crashes through a door.");
|
pline_The("boulder crashes through a door.");
|
||||||
levl[bhitpos.x][bhitpos.y].doormask = D_BROKEN;
|
levl[bhitpos.x][bhitpos.y].doormask = D_BROKEN;
|
||||||
|
if (dist) unblock_point(bhitpos.x, bhitpos.y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tmp_at(DISP_END, 0);
|
tmp_at(DISP_END, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user