This gives me an idea...
I could make very dynamic shadows that cast from local dynamic lights and cast around irregular geometry (e.g. on the floor and walls) simply from a little wdl.

First I would make a copy of the player model, but color it completely black. This would be my shadow. I would then make a script to trace() a ray from the light source, and continue through a vertex of player model to hit on some level geometry. Then I would use vec_to_mesh() to move the corresponding shadow vertex to that spot that was hit. I would perform this for every vertex in the model. The result would be very slow, but impressive (I believe)