It seems like you cannot breed a pure blood, I have bred around 20 children and I am not getting the 1% demon and 1% fox out of the Arachne gene pool. Do you know what might be the issue? My actual situation is breeding a 100% Arachne with a 98% Arachne and 1% demon and fox.
I believe it just takes half from each parent... maybe with 99% it rounds up so you never get a purebreed again. Let me check and try to randomize it a just a little more. In your example, if one parent is 98% Arachne, you'll definitely get max 49% Arachne from that parent though as is. I want the breeding to be fairly predictable so players can predict the %'s for the offspring in order to target certain hybrids, etc.
Also I've noticed the issue that lips always increase generation to generation and that quickly leads to lisps and muteness. It's honestly really annoying because I have to use a potion to shrink lips pretty much every generation. (I didn't reload the page so I didn't see you had already fixed the issue I stated earlier).
https://mega.nz/file/JkQATRrL#DgotHEC-on8IYMmPGwqbyIzlL3OWEjHsQF5gHWk-zSI
This will make it so it will be a 50/50 chance for that 1% race to be inherited when breeding (it was always rounding up from 0.5). Just replace your constructor.gd with this one (in your Ralph's main game folder under \files\scripts\character\ ). I tested through 1 conception and birth and it worked, but if you're up to it go ahead and try it and let me know if you have any issues.
Can you tell me which numbers of your edit I would need to change in order to get a 1% race out of the gene pool if there are three genes involved? the edit probably works for 99% 1% divide, but not 98% 1% 1%, I'll test it later. (edit I was wrong and put it in the wrong folder)
And what value do I change to stop the constant lip growth, I would prefer a average between the two, not a constantly growing part. do I change the range? remove the range? I am not super familiar with coding so forgive me for not being certain about this.
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.
Happens to everybody at some point. Here's a new constructor.gd to replace the last one to fix ever-plumping lips as well. I made it so males just got their dad's lips and females/futas got their mom's or +/- 1 level (so up or down one size or stay the same as mom).
https://mega.nz/file/JkQATRrL#DgotHEC-on8IYMmPGwqbyIzlL3OWEjHsQF5gHWk-zSI