01-22-2012, 07:39 PM
Fixing randomization is surprisingly easy. Blizzard calls time() and uses that as their master seed. If time() is called outside its signed 32-bit range, it returns -1, hence no randomization. You can ensure randomization by replacing the call to time() with something that returns a truly random positive 32-bit number.