Fixed mech sounds and some other sounds becoming garbled due to a random frequency being picked.
Made gunshots and flashbangs be heard farther and through walls again and not just via line of sight.
It has been posited that it doesn't make sense to hear certain sounds through walls. So, I proceeded to go and change that.
All sounds with a volume of 50 or less will now be played only to the "hearers" list. This is basically people within line of sight. I also rewrote the lower levels of the sound API with this. The code is now more modular, while retaining the same main API entry point playsound.
This needs a test merge to see how badly I broke shit.
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
This PR replaces recursive explosions with a new spreading engine: iterative explosions.
Should behave similarly, but also be more reliable, potentially faster.
Iterative explosions also support simple-explosion-esque directional explosion sounds/shake, and will now traverse Z-levels if the explosion is strong enough.
Also changes playsound() to transmit sounds across Z-levels. Uses BYOND's 3rd coordinate on /sound to make sound sound above/below the player if they're using headphones. Removed for now, can't get Z-falloff working right.
Fixes#2199.
changes:
Light tubes now make a noise when turning on.
If a light loses power, it will switch to "emergency mode": the light will glow a dim red, drawing power from a small integrated cell that should last approximately 10 minutes. If the light has power, it will charge its cell.
Light flickers now play the flicker sound for each blink instead of once.
Split lighting.dm into three files: fixtures.dm, construction.dm, and bulbs.dm.
Light fixtures now use stat to represent on-state (as they can be off for multiple reasons): the on var has thus been removed.
Lightswitches now glow in the dark and make sounds when toggled.
Some code/idea for emergency lighting from TG, light sound from Interbay, lightswitch sounds from Bay.
Depends on #3948.
changes:
playsound now reuses sound datums instead of creating a new one for each mob.
Footsteps no longer use an in list (...)
Modular computers now beep occasionally (if your client's Ambience pref is on)
Sounds from Bay.
Adds sounds for opening lockers, going down ladders, turning on your internals, removing and placing extinguishers in the cabinet, sounds for bone breaking and sound to the bsa.