You could try to iterate over the level enemies (ent_next), find those who have light_range != 0 or whatever it is called, then perform a c_trace every frame or multiple times per second from the camera to those entities (distance checks/ updates every frame, they are relatively cheap) and try to adapt the view entity color that way.
You could either use a shader or use a simple and old school MATERIAL where you set material.ambient_red, material.emissive_red and so on manually. I'm not too sure about the correct formula right now but for a start try to set the emissive_blue vector to zero each frame, then add the light (ent.blue ?) of each visible dynamic light source to said material vector but scale it prior to that with some factor like the following:

factor = clamp(1-vec_dist(camera.x,light.x)/light.light_range,0,1);


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends