future additions: - raycasting ignores hats - completely foolproof - fade into camera positions - compatible with SprintScript