so here's what I did: the code has a for loop that goes through each race and baby gets 0.5 x (mom's% + dad's %). The problem was if one parent had for example 1%, then 0.5*(1+0)=0.5 which always got rounded up to 1%. I added an if statement so that 1/2 the time it would be the same [0.5 x (mom's% + dad's %)] and the other 1/2 of the time it would instead us 0.499999 x (mom's% + dad's %) which would round down so in the same example with one parent with 1%, then 0.499999*(1+0)=0.4999999 which rounds to zero.
how it should work: 50/50 chance of one of the 1%'s going away on breeding. 25% chance they both go away and you get your pure-blooded offspring.
Note it will also come into effect for any odd % (3, 5, 7, ... ,99). There's code afterward that already should deal with %'s over or under 100% btw.
I'll take a shot at fixing the ever-growing lips tomorrow.