local function q(U,j)j=j or 120 local Z,K=Workspace:FindPartOnRayWithIgnoreList(Ray.new(U,UpVec*j),ignoreList)if Z then return Z.Transparency~=1 and true or q(K+UpVec,j-(U-K).Magnitude)else return false end end
--Returns whether the given position is under cover
local function UnderObject(pos, l)
	l = l or 120

	local hit, position = Workspace:FindPartOnRayWithIgnoreList(Ray.new(pos, UpVec * l), ignoreList)
	if hit then
		return hit.Transparency ~= 1 and true or UnderObject(position + UpVec, l - (pos - position).Magnitude)
	else
		return false
	end
end
