It feels good to get that off my chest.
psychicPowerDetractor = psychicPowerDetractor * (float)(((max-1)-min)/(max-min));
This gives 0 for psychicPowerDetractor, no matter what I do.
It should give a float like 0.999 or 0.996 or something it does not do that. Instead it makes a 0, which is not a float, it is an integer and I am clueless as to why it is doing this.