UPDATE NOTE: since the Spring Barotrauma update, old campaigns that used Real Sonar now require Lua to be cross compatible!
Warning: This mod can contain flashing lights and loud sounds. If you have photosensitive epilepsy or are sensitive to high-frequency sounds, do not use this mod.
Sonar can now kill you.
Based on real-life military submarine sonar, this mod overhauls the in-game sonar system to make it more dangerous and challenging to manage.
Crewmates - will need to be more aware of their surroundings, stay away from hull breaches while the sonar is active, and wear an anechoic suit to enter the deadly echo chambers known as ballast tanks.
Captains - will have to be extremely careful with their use of active sonar, be constantly aware of crew positions, and communicate when it's safe to do repairs or go outside.
Adding to the captain's decision-making and skill ceiling, sonar can now be utilized in new play-styles as a tool to fight off creatures, with the caveat of potentially drawing the attention of more or causing severe injury to the crew if there's a surprise hull breach.
Active sonar now sounds different for each player, depending on their situation, distance, and level of protection. It might sound nice inside the submarine, but I wouldn't recommend stepping outside to get a better listen.
Some real-life context:
When submerged, a submarine's active sonar can reach volumes of 235db, which is 724x louder and 3.16 billion times the intensity of a jet engine. This makes active sonar one of the loudest man-made sounds in existence, almost exceeding a nuclear explosion in the air. Underwater exposure to a single nearby sonar ping could cause severe internal damage, rupture organs, and even melt your brain.
What does this mod do?
• Fresh UI and sounds for the Nav Terminal, Sonar Monitor, and Shuttle Terminal
• Active sonar that damages nearby submerged humans and creatures
• [Lua] Directional sonar focuses the pressure waves in one area for amplified damage
• A new sound system, allowing sonar pings to sound different for each player
• 373 total custom sound effects
• 326 different sonar pings, made by audio engineers @Lightness and @S0lver
• 28 human sound effects, voiced by Rirr and Kablecart
• 12 horrific and creative new afflictions to represent the injuries from active sonar
• 12 custom injury overlays for visual feedback
• 3 unique medical treatments to treat injuries and cause lethal "accidents"
• A new sonar-protective diving suit that absorbs sound, hiding players on the radar. By Rirr
• [Lua] A new AI system for bots to make them behave intelligently around active sonar
• [Lua] Smart hull detection for calculating how sonar travels through gaps in the submarine
• A new craftable tablet that lets the captain remotely control the sonar and engines
• [Lua] Enemy submarines that will periodically toggle their active sonar
• [CL Lua] A custom in-game menu for customizing the mod
• Adjusted sonar ranges
Bonus: check out M's Immersive Sonar UI mod for a different style UI!
Requirements
Strictly speaking, there are no hard requirements.
However, some features from the above list (tagged with [Lua]) require server-side Lua, or client-side Lua if playing offline.
Compatibility
Real Sonar is compatible with the vast majority of mods, including Neurotrauma.
A small list of mods with compatibility issues can be found on this Google Doc[t.ly]
FAQ
Q: How do I activate beacon stations with this mod?
Beacon stations do less damage and have shorter range than a standard sonar system. Still, wearing the new anechoic diving suit and aiming the station's sonar away from your exit path is recommended. An anechoic suit can be bought or crafted using a standard diving suit, titanium-aluminum alloy, and six rubber, which can all be obtained by deconstructing or stealing at the start of the game.
Q: Where can I find the in-game settings menu?
The in-game settings menu requires client-side Lua to access. Once installed, you can find the Real Sonar settings button at the bottom of the pause menu.[imgur.com].
Q: Am I supposed to take damage from sonar in the ballast tank?
Yes and no. Without Lua, this is the default behaviour. Lua is required to accurately determine if a player is in reach of an active sonar and not just in a body of water.
Q: How does this mod play with bots?
Yes. Bots will know when a nearby sonar system is active and try to avoid submerged hull breaches until it is safe. They will still repair these breaches, but only if they can access an anechoic suit for protection. The bots will communicate these scenarios (and more) over the radio in chat.
On the medical side, bots can apply all the new treatments to cure sonar afflictions with no problems.
Q: Does active sonar hurt creatures?
Yes. Active sonar does varying amounts of damage to all life forms depending on their distance from the terminal. However, because fish are more hydrodynamic and don't have air-filled cavities like humans, they are far less affected by the sonar's pressure waves and, therefore, take much less damage.
Q: Can I enable this mod in an already-active campaign?
The short answer is yes. However, the sonar-related medical items and diving suit won't spawn in the world or be available in shops, meaning you will have to craft them.
Q: Why isn't the mod working for me? The sonar still behaves like vanilla.
This means another mod is overriding the navigation terminal, or you're using a custom sub with its own type of terminal. Try putting Real Sonar at the top of your load order. If that doesn't help, see the last answer about adding custom sonar terminals.
Q: Does load order matter?
Generally speaking, no. The only exception being XML mods that override sonar terminals in command.xml (usually sonar UI/sound replacement mods). Put Real Sonar above these.
Q: How do I treat the afflictions in this mod?
There's a table of all the afflictions and their treatments here!
Q: How do I add/edit diving suit protections?
If server-side Lua is enabled, then all vanilla diving suits already have some built-in protection. Note that the protection modifier isn't visible when hovering over the item because it's applied using Lua rather than overriding the item itself.
These values can all be edited through the in-game menu.
For an example of adding a custom diving suit, see this comment, and the below gif that shows a very similar process.
Inputs:
Damage multiplier: 0.0-1.0, with 1 being 100% protection.
If "anechoic" is set to true, the suit will play muffled pings, disable visual impacts, and be prioritized by bots for hull breaches.
Q: How do I add sonar terminals?
Enable "Custom Sonar", then add the terminal ID like so:
Wondering how to find the terminal ID? See the comment linked in the above answer.
Inputs:
Damage: can be "high", "medium", or "low".
Sounds: can be "default", "shuttle", or "beacon".
Note: if you still hear the old ping sound, enable "Low Latency Mode".
Support me
If you feel that my mods have meaningfully improved your Barotrauma experience or you just like what I do, you're welcome to contribute to my insomnia by buying me a coffee on ko-fi.[ko-fi.com]
Thank you.
