I'm going with a new design plan. The random number generator will take any range of integers specified and break them down into 17 different lists with varying values that are within the range of specified integer values. The random number generator will be divided into multiple functions so that the functions run in a controlled and concise manner when randomly generating a single integer value within the range of integer values specified.
Once when the specified range of integer values have been divided into 17 different lists, a random number generator will go through many algorithms before finally choosing a single list to pick a random integer value. Dividing the range of integer values into multiple lists prevents the random number generator from picking the same value often since it may pick a list of integer values that doesn't include the other integer value that was previously randomly picked by the random number generator-causing it to be "more random" for a lack of a better word.
After it has randomly picked a list, it will then randomly choose another range of integer values to choose from by going through more algorithms that will decide the start and end of the range of integers to choose from within the range of integers that are available in the list. For example, if I had a list of 1 to 100 integers and it picked the list that contained the first quarter of those integers, it will then randomly decide to pick an integer between 6 and 12 out of the 25 integers that are available, further decreasing the chance of often choosing the same previous integer value. More algorithms and if statements will then decide what integer value it will choose out of the specified range of integers within the specified list of integers out of the whole list of integers that are specified.