Remove melting ice timeouts when terrain changes

If special level lua code creates a melting ice timeout, but
later in the code places stairs, or a trap which might change
the ice to room floor, the timer sanity checking doesn't
like that.
This commit is contained in:
Pasi Kallinen
2022-03-16 16:51:53 +02:00
parent 49b26dbe99
commit d1ca594d1c
2 changed files with 6 additions and 0 deletions

View File

@@ -1635,6 +1635,9 @@ mkstairs(xchar x, xchar y,
dest.dlevel = u.uz.dlevel + (up ? -1 : 1);
stairway_add(x, y, up ? TRUE : FALSE, FALSE, &dest);
if (levl[x][y].typ == ICE)
spot_stop_timers(x, y, MELT_ICE_AWAY);
levl[x][y].typ = STAIRS;
levl[x][y].ladder = up ? LA_UP : LA_DOWN;
}

View File

@@ -348,6 +348,7 @@ maketrap(int x, int y, int typ)
boolean oldplace;
struct trap *ttmp;
struct rm *lev = &levl[x][y];
boolean was_ice = (lev->typ == ICE);
if ((ttmp = t_at(x, y)) != 0) {
if (undestroyable_trap(ttmp->ttyp))
@@ -459,6 +460,8 @@ maketrap(int x, int y, int typ)
: DOOR;
unearth_objs(x, y);
if (was_ice && lev->typ != ICE)
spot_stop_timers(x, y, MELT_ICE_AWAY);
break;
}