Fix iron bars dissolving turning floor into doorway
This commit is contained in:
@@ -1964,8 +1964,9 @@ can_hide_under_obj(struct obj *obj)
|
||||
void
|
||||
dissolve_bars(coordxy x, coordxy y)
|
||||
{
|
||||
levl[x][y].typ = (Is_special(&u.uz) || *in_rooms(x, y, 0)) ? ROOM : CORR;
|
||||
levl[x][y].flags = 0;
|
||||
levl[x][y].typ = (levl[x][y].edge == 1) ? DOOR
|
||||
: (Is_special(&u.uz) || *in_rooms(x, y, 0)) ? ROOM : CORR;
|
||||
levl[x][y].flags = 0; /* doormask = D_NODOOR */
|
||||
newsym(x, y);
|
||||
if (u_at(x, y))
|
||||
switch_terrain();
|
||||
|
||||
@@ -5159,18 +5159,11 @@ zap_over_floor(
|
||||
rangemod -= 3;
|
||||
if (see_it)
|
||||
Norep("The %s melt.", defsyms[S_bars].explanation);
|
||||
dissolve_bars(x, y);
|
||||
if (*in_rooms(x, y, SHOPBASE)) {
|
||||
/* in case we ever have a shop bounded by bars */
|
||||
lev->typ = ROOM, lev->flags = 0;
|
||||
if (see_it)
|
||||
newsym(x, y);
|
||||
add_damage(x, y, (type >= 0) ? SHOP_BARS_COST : 0L);
|
||||
if (type >= 0)
|
||||
*shopdamage = TRUE;
|
||||
} else {
|
||||
lev->typ = DOOR, lev->doormask = D_NODOOR;
|
||||
if (see_it)
|
||||
newsym(x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user