simplify code a bit, we always need to do the LOS test so don't check. Tidy up comments
Move LOS calculation to its own function to keep things simple
Blog post for line of sight