From: nethack.allison Date: Sun, 12 Oct 2003 14:49:42 +0000 (+0000) Subject: melting ice follow up (trunk only) X-Git-Tag: MOVE2GIT~1714 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=afd8d17d433559cff67b6d37ac0892c5db872421;p=nethack melting ice follow up (trunk only) (now + 50) < (melting time) < (now + 50 + 2000) with the chance approaching 100% the longer the time passed --- diff --git a/src/zap.c b/src/zap.c index f4eaa9ea4..4b807eff1 100644 --- a/src/zap.c +++ b/src/zap.c @@ -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.