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