First, to confirm that when a float is cast to an int, it's just using the floor function, correct?
Secondly, does random(x, y) return float, int, long, or what?
Correct and long.
Secondly, does random(x, y) return float, int, long, or what?
Read the documentation:
a random number between min and max-1 (long)
slaps self in face
I read that thing like five times trying to find its output type.
slaps self in face
Not too hard. Most of the functions really need to be documented better, with much clearer type information for input and output arguments. Hiding the return type in parentheses, in an "Oh, by the way..." manner really doesn't cut it.