I used 2 tools to accomplish my task, I didn't HAVE to use these tools, but they helped me do this much faster.
DxAutoroller A program that automatically rolls characters, it can do about 3-4 rolls a second in a no lag situation. I created a dummy character, set-up the roller to stop when it hit 99 total stats (in other words to run forever) and just watched it go. You'd be amazed the feel for the numbers you can get by doing this.
This is a script I threw together so I could check the TDP costs even faster. It uses 9 variables, I just typed in the names of the races I needed to research and it would touch that statue (didn't care about stats here) then run around crossing to each of the stat training areas see how many TDPs it would cost and pull up my info, so I could check the stat. I'd type in go, and it would move to the next training area, then go back to the inn, reroll as the next race/variable, and repeat.
Min and Max Stats:
To figure the Minimum and maximum stats of each race was rather simple. I simply ran the DxAutoroller as mentioned above and absorbed the numbers. Here's a little about what I learned.
Min and max scores for each Stat are split into groups, these groups then corresponded to TDP costs as well (I'll go into that in the TDPs Section). The groups are as follows.
2-4 (Only used once for gnomish strength)
4-6 (far below average)
5-8 (below average)
8-12 (above average)
10-14 (far above average)
12-16 (Only used for Gor'Togish strength)
Figuring the Min and Maximum TOTALS for each race, was simply a matter of taking the mins and maxes and of each Stat, and Adding them together.
Odds were a little more mathematically complicated to figure out, but simple once you knew what to look for. You take the total number of results for each stat, then multiply them by one another. Here I'll use Gnomes as an example.
Gnomish strength in 2-4. Possible results 2, 3, and 4. So that's 3 results with STR giving you 3 to 1 odds you would roll the highest number.
Gnomish reflexes are 10-14. Possible results 10, 11, 12, 13, and 14. So that's 5 results giving you 5 to 1 odds you would roll the highest number.
Now roll these two at the same time: Possible results 2-10, 2-11, 2-12, 2-13, 2-14, 3-10, 3-11, 3-12, 3-13, 3-14, 4-10, 4-11, 4-12, 4-13, 4-14. So that's 15 possible results which just happens to be 3 times 5. Viola! Statistics are born! Anyway since only one combination results in 4-14 the highest results for both stats, odds are now 15 to 1. And as you multiply in each set of results you eventually end up with the odds I've listed.
Now to give you some perspective on what those odds mean. We'll use human odds since they are the worst.
390,625 to 1
This means that only 1 time in 390,625 rolls will you get an 80 on a human. Now of course everything is random so you may get 80 on your first go, or have to roll 1 million times, we're doing odds here, so place your bets. Now Using DxAutoroller in no lag I can do 3-4 rolls a second right? well I let the thing run overnight a few times, and I've learned that it takes about 10 hours to make 100,000 rolls, so if you want to roll 390,625 times, you're look at close to 40 hours of rolling at 3-4 rolls per second, So I'd stick with that 76 you got because you're not going to see another for a long time. (the odds of rolling a total between 76-80 are 78,125 to 1 and I've done a 76 by hand before, took me about 3 hours, I was very lucky).
I figured these using the study.cmd script. Basically I took each race, ran around training, and divided the number of TDPs I had to use by my current stat. I mentioned in the Stats, the TDPs and min/maxes are tied together, well heres how.
2-4 points to begin equals 4.5 TDPs per point to train.
4-6 = 4
5-8 = 3.5
6-10 = 3
8-12 = 2.5
10-14 = 2
12-16 = 2 (Should be 1.5, but isn't.. poor Gor'Togs.)