Rotation not functioning

What you want to do is make a function that applies the rotation for you like so:

    if spot == nil then return end
    local NPC = script.Parent
    NPC.HumanoidRootPart.CFrame = CFrame.new(regionPos.X, regionPos.Y, regionPos.Z) * CFrame.Angles(spot.rotation)
end

then call it in your if statement like this (assuming spot is a valid instance)

    moveToSpot(spot)
end