melting ice follow up (trunk only)

(now + 50) < (melting time) < (now + 50 + 2000)
with the chance approaching 100% the longer the time passed
This commit is contained in:
nethack.allison
2003-10-12 14:49:42 +00:00
parent 6712fc1b04
commit afd8d17d43

View File

@@ -3518,6 +3518,8 @@ const char *msg;
spoteffects(TRUE); /* possibly drown, notice objects */
}
#define MIN_ICE_TIME 50
#define MAX_ICE_TIME 2000
/*
* Start a melt_ice timer.
*/
@@ -3525,13 +3527,16 @@ void
start_melt_ice_timeout(x,y)
xchar x,y;
{
long when, where;
int when;
long where;
short action = MELT_ICE_AWAY;
for (when = 50L; when < 2000L; when++)
if (!rn2(3)) break;
for (when = MIN_ICE_TIME; when < (MAX_ICE_TIME + MIN_ICE_TIME); when++)
if (!rn2((MAX_ICE_TIME - when) + MIN_ICE_TIME)) break;
where = (((long)x << 16) | ((long)y));
(void) start_timer(when, TIMER_LEVEL, action, (genericptr_t)where);
(void) start_timer((long)when, TIMER_LEVEL, action, (genericptr_t)where);
}
#undef MIN_ICE_TIME
#undef MAX_ICE_TIME
/*
* Called when ice has melted completely away.