From bbf2587c481b098a3dfbeed091dfa90a88e0bc06 Mon Sep 17 00:00:00 2001 From: epoque11 Date: Tue, 13 Dec 2011 17:31:31 +0000 Subject: - Fixed rand() script command not allowing a range of over 32767 on several systems git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15090 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/script.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/map/script.c') diff --git a/src/map/script.c b/src/map/script.c index c9cb65f63..6b051dba0 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -4448,6 +4448,10 @@ BUILDIN_FUNC(rand) } if( range <= 1 ) script_pushint(st, min); + else if( range > SHRT_MAX ) { + int step1 = rand()%(range&0xffff), step2 = rand()%(range>>16); + script_pushint(st, step1 + (step2<<16) + min); + } else script_pushint(st, rand()%range + min); -- cgit v1.2.3-70-g09d2