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
|
void
|
||||||
dissolve_bars(coordxy x, coordxy y)
|
dissolve_bars(coordxy x, coordxy y)
|
||||||
{
|
{
|
||||||
levl[x][y].typ = (Is_special(&u.uz) || *in_rooms(x, y, 0)) ? ROOM : CORR;
|
levl[x][y].typ = (levl[x][y].edge == 1) ? DOOR
|
||||||
levl[x][y].flags = 0;
|
: (Is_special(&u.uz) || *in_rooms(x, y, 0)) ? ROOM : CORR;
|
||||||
|
levl[x][y].flags = 0; /* doormask = D_NODOOR */
|
||||||
newsym(x, y);
|
newsym(x, y);
|
||||||
if (u_at(x, y))
|
if (u_at(x, y))
|
||||||
switch_terrain();
|
switch_terrain();
|
||||||
|
|||||||
@@ -5159,18 +5159,11 @@ zap_over_floor(
|
|||||||
rangemod -= 3;
|
rangemod -= 3;
|
||||||
if (see_it)
|
if (see_it)
|
||||||
Norep("The %s melt.", defsyms[S_bars].explanation);
|
Norep("The %s melt.", defsyms[S_bars].explanation);
|
||||||
|
dissolve_bars(x, y);
|
||||||
if (*in_rooms(x, y, SHOPBASE)) {
|
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);
|
add_damage(x, y, (type >= 0) ? SHOP_BARS_COST : 0L);
|
||||||
if (type >= 0)
|
if (type >= 0)
|
||||||
*shopdamage = TRUE;
|
*shopdamage = TRUE;
|
||||||
} else {
|
|
||||||
lev->typ = DOOR, lev->doormask = D_NODOOR;
|
|
||||||
if (see_it)
|
|
||||||
newsym(x, y);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user