Ambient sound system (#4552)

* Ambient sound system

Client-side system that plays audio from nearby objects that are randomly sampled.

* Decent

* Tweaks

* Tweaks

* Comment this out for now

* reduce VM sound

* Fix rolloff

* Fixes

* Volume tweak
This commit is contained in:
metalgearsloth
2021-09-07 18:47:23 +10:00
committed by GitHub
parent 97af34f70a
commit ff40a7665d
25 changed files with 361 additions and 6 deletions

View File

@@ -1,6 +1,7 @@
using Content.Server.Power.Components;
using Content.Server.UserInterface;
using Content.Shared.Acts;
using Content.Shared.Audio;
using Content.Shared.Gravity;
using Content.Shared.Interaction;
using Robust.Server.GameObjects;
@@ -137,6 +138,7 @@ namespace Content.Server.Gravity
private void MakeBroken()
{
_status = GravityGeneratorStatus.Broken;
EntitySystem.Get<SharedAmbientSoundSystem>().SetAmbience(Owner.Uid, false);
_appearance?.SetData(GravityGeneratorVisuals.State, Status);
_appearance?.SetData(GravityGeneratorVisuals.CoreVisible, false);
@@ -145,6 +147,7 @@ namespace Content.Server.Gravity
private void MakeUnpowered()
{
_status = GravityGeneratorStatus.Unpowered;
EntitySystem.Get<SharedAmbientSoundSystem>().SetAmbience(Owner.Uid, false);
_appearance?.SetData(GravityGeneratorVisuals.State, Status);
_appearance?.SetData(GravityGeneratorVisuals.CoreVisible, false);
@@ -153,6 +156,7 @@ namespace Content.Server.Gravity
private void MakeOff()
{
_status = GravityGeneratorStatus.Off;
EntitySystem.Get<SharedAmbientSoundSystem>().SetAmbience(Owner.Uid, false);
_appearance?.SetData(GravityGeneratorVisuals.State, Status);
_appearance?.SetData(GravityGeneratorVisuals.CoreVisible, false);
@@ -161,6 +165,7 @@ namespace Content.Server.Gravity
private void MakeOn()
{
_status = GravityGeneratorStatus.On;
EntitySystem.Get<SharedAmbientSoundSystem>().SetAmbience(Owner.Uid, true);
_appearance?.SetData(GravityGeneratorVisuals.State, Status);
_appearance?.SetData(GravityGeneratorVisuals.CoreVisible, true);