It appears to be a limitation of the version of the Source engine that TF2 uses. If you dig around on Valve's wiki you'll find that L4D2 added the ability to mix audio, allowing maps to adjust the priority of various sound layers. As near as I can tell, prior to L4D2 when Valve needed to make audio that you can always hear (such as the announcer in TF2) they hardcoded logic to push that stream to the top.
One thing that might make soundscripts still useful is that you can group audio clips and have the engine pick one randomly from that list when the sound is played. Which would probably help a lot with the train rain kill messages.
The script I posted above becomes something like:
Then in Hammer you just need one group of ambient_generics that call "train.kill" and the game will pick one randomly. I guess there's a risk that each ambient_generic will pick a different random wave to play, so perhaps test it on a small scale first.
One thing that might make soundscripts still useful is that you can group audio clips and have the engine pick one randomly from that list when the sound is played. Which would probably help a lot with the train rain kill messages.
The script I posted above becomes something like:
Code:
train.kill
{
volume 1.0
pitch 100
soundlevel 0.1
rndwave
{
wave #train/1.wav
wave #train/2.wav
wave #train/3.wav
wave #train/4.wav
}
}
Then in Hammer you just need one group of ambient_generics that call "train.kill" and the game will pick one randomly. I guess there's a risk that each ambient_generic will pick a different random wave to play, so perhaps test it on a small scale first.