Fixed: Tips working (minus line of sight issues)

Fully refactored. Works in every case (that I tested for!) except when the target is in range but out of line of sight, which is beyond the scope of this script.