nRange^2 is the distance to the heroes position NOT their predicted position, therefore the range check is wrong.