Moves the #regions around a bit to clean up inconsistencies, fixes "Do we have a target" to correctly group the conditions it is meant to be checking (right sized targets) AND now checks at the curent target is in optimalrange, if it is not then it'll not prefer to keep the current target.