Yeah 9 mod returns a value from 0-8 and focus eye goes from -4 to 4, so there was 2 errors in there
It works as intended in the gene setting eyewidth because you're starting at the location of eye1width.
Also not sure if this is intentional (I looks like it's intentional from the order they're in), but you're storing values from 1-9 into focuseye.... it should work I think, since values above 4 are regulated, so 5 is -1 and 6 is -2 asf... and I supose 9 is 0... or atleast I hope so, or you'd be missing out on eye5... (I don't know exactly how they modify values outside the correct range)
So I think it should work, but keeping track of eyes this way is a litle harder so I thought I should mention it...