diff --git a/Content.Server/Disease/Effects/DiseaseSnough.cs b/Content.Server/Disease/Effects/DiseaseSnough.cs index e9c2691e37..a24614f530 100644 --- a/Content.Server/Disease/Effects/DiseaseSnough.cs +++ b/Content.Server/Disease/Effects/DiseaseSnough.cs @@ -1,5 +1,9 @@ using Content.Shared.Disease; using JetBrains.Annotations; +using Content.Shared.Sound; +using Content.Shared.Audio; +using Robust.Shared.Audio; +using Robust.Shared.Player; namespace Content.Server.Disease { @@ -15,14 +19,22 @@ namespace Content.Server.Disease /// [DataField("snoughMessage")] public string SnoughMessage = "disease-sneeze"; + + /// + /// Sound to play when snoughing /// - /// Whether to spread the disease throught he air + [DataField("snoughSound")] + public SoundSpecifier? SnoughSound; + /// + /// Whether to spread the disease through the air /// [DataField("airTransmit")] public bool AirTransmit = true; public override void Effect(DiseaseEffectArgs args) { + if (SnoughSound != null) + SoundSystem.Play(Filter.Pvs(args.DiseasedEntity), SnoughSound.GetSound(), args.DiseasedEntity, AudioHelpers.WithVariation(0.2f)); EntitySystem.Get().SneezeCough(args.DiseasedEntity, args.Disease, SnoughMessage, AirTransmit); } } diff --git a/Content.Server/StationEvents/Events/DiseaseOutbreak.cs b/Content.Server/StationEvents/Events/DiseaseOutbreak.cs index 94bd8a739a..684a332457 100644 --- a/Content.Server/StationEvents/Events/DiseaseOutbreak.cs +++ b/Content.Server/StationEvents/Events/DiseaseOutbreak.cs @@ -31,6 +31,8 @@ public sealed class DiseaseOutbreak : StationEvent }; public override string Name => "DiseaseOutbreak"; public override float Weight => WeightNormal; + + public override string? StartAudio => "/Audio/Announcements/outbreak7.ogg"; protected override float EndAfter => 1.0f; /// /// Finds 2-5 random, alive entities that can host diseases @@ -65,6 +67,7 @@ public sealed class DiseaseOutbreak : StationEvent diseaseSystem.TryAddDisease(target.Owner, disease, target); } - _chatManager.DispatchStationAnnouncement(Loc.GetString("station-event-disease-outbreak-announcement")); + _chatManager.DispatchStationAnnouncement(Loc.GetString("station-event-disease-outbreak-announcement"), + playDefaultSound: false, colorOverride: Color.YellowGreen); } } diff --git a/Resources/Audio/Announcements/license.txt b/Resources/Audio/Announcements/license.txt new file mode 100644 index 0000000000..cb433bea7e --- /dev/null +++ b/Resources/Audio/Announcements/license.txt @@ -0,0 +1 @@ +outbreak7.ogg taken from /tg/station at commit https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a diff --git a/Resources/Audio/Announcements/outbreak7.ogg b/Resources/Audio/Announcements/outbreak7.ogg new file mode 100644 index 0000000000..f21d4fca44 Binary files /dev/null and b/Resources/Audio/Announcements/outbreak7.ogg differ diff --git a/Resources/Audio/Effects/Diseases/beepboop.ogg b/Resources/Audio/Effects/Diseases/beepboop.ogg new file mode 100644 index 0000000000..489fbcc33a Binary files /dev/null and b/Resources/Audio/Effects/Diseases/beepboop.ogg differ diff --git a/Resources/Audio/Effects/Diseases/cough1.ogg b/Resources/Audio/Effects/Diseases/cough1.ogg new file mode 100644 index 0000000000..4154402bab Binary files /dev/null and b/Resources/Audio/Effects/Diseases/cough1.ogg differ diff --git a/Resources/Audio/Effects/Diseases/cough2.ogg b/Resources/Audio/Effects/Diseases/cough2.ogg new file mode 100644 index 0000000000..c6a96351c8 Binary files /dev/null and b/Resources/Audio/Effects/Diseases/cough2.ogg differ diff --git a/Resources/Audio/Effects/Diseases/license.txt b/Resources/Audio/Effects/Diseases/license.txt new file mode 100644 index 0000000000..2252a0ed60 --- /dev/null +++ b/Resources/Audio/Effects/Diseases/license.txt @@ -0,0 +1,7 @@ +cough1.ogg taken from freesound (deleted user) +cough2.ogg taken from https://freesound.org/people/Harris85/sounds/208761/ +sneeze.ogg taken from https://freesound.org/people/sherby168/sounds/540771/ +beepboop.ogg taken from https://freesound.org/people/Fidjo20/sounds/503526/ +monkey1.ogg taken from https://freesound.org/people/TRAVELcandies/sounds/423396/ +monkey2.ogg taken from https://freesound.org/people/Archeos/sounds/325549/ +sneeze2.ogg taken from https://freesound.org/people/InspectorJ/sounds/352177/ diff --git a/Resources/Audio/Effects/Diseases/monkey1.ogg b/Resources/Audio/Effects/Diseases/monkey1.ogg new file mode 100644 index 0000000000..7ae16bd34b Binary files /dev/null and b/Resources/Audio/Effects/Diseases/monkey1.ogg differ diff --git a/Resources/Audio/Effects/Diseases/monkey2.ogg b/Resources/Audio/Effects/Diseases/monkey2.ogg new file mode 100644 index 0000000000..8901f232e9 Binary files /dev/null and b/Resources/Audio/Effects/Diseases/monkey2.ogg differ diff --git a/Resources/Audio/Effects/Diseases/sneeze1.ogg b/Resources/Audio/Effects/Diseases/sneeze1.ogg new file mode 100644 index 0000000000..6075c07c07 Binary files /dev/null and b/Resources/Audio/Effects/Diseases/sneeze1.ogg differ diff --git a/Resources/Audio/Effects/Diseases/sneeze2.ogg b/Resources/Audio/Effects/Diseases/sneeze2.ogg new file mode 100644 index 0000000000..bb87067712 Binary files /dev/null and b/Resources/Audio/Effects/Diseases/sneeze2.ogg differ diff --git a/Resources/Locale/en-US/disease/disease.ftl b/Resources/Locale/en-US/disease/disease.ftl index 9a973a57a8..2d00f00dea 100644 --- a/Resources/Locale/en-US/disease/disease.ftl +++ b/Resources/Locale/en-US/disease/disease.ftl @@ -4,6 +4,7 @@ disease-sneeze = {CAPITALIZE($person)} sneezes. disease-cough = {CAPITALIZE($person)} coughs. disease-screech = {CAPITALIZE($person)} screeches. disease-meow = {CAPITALIZE($person)} meows. +disease-hiss = {CAPITALIZE($person)} hisses. disease-beep= {CAPITALIZE($person)} beeps. disease-eaten-inside = You feel like you're being eaten from the inside. disease-steal-compulsion = You want to steal things. diff --git a/Resources/Locale/en-US/station-events/events/disease-outbreak.ftl b/Resources/Locale/en-US/station-events/events/disease-outbreak.ftl index 488cf0d0c8..87abcfc546 100644 --- a/Resources/Locale/en-US/station-events/events/disease-outbreak.ftl +++ b/Resources/Locale/en-US/station-events/events/disease-outbreak.ftl @@ -1 +1 @@ -station-event-disease-outbreak-announcement = Ship systems have detected that some crewmates have been infected with a disease. +station-event-disease-outbreak-announcement = Confirmed outbreak of level 7 biohazard aboard the station. All personnel must contain the outbreak. diff --git a/Resources/Prototypes/Diseases/infectious.yml b/Resources/Prototypes/Diseases/infectious.yml index 758cfc9694..c66d46a528 100644 --- a/Resources/Prototypes/Diseases/infectious.yml +++ b/Resources/Prototypes/Diseases/infectious.yml @@ -11,6 +11,8 @@ probability: 0.025 - !type:DiseaseSnough probability: 0.025 + snoughSound: + collection: Sneezes cures: - !type:DiseaseBedrestCure maxLength: 20 @@ -31,6 +33,8 @@ - !type:DiseaseSnough probability: 0.025 snoughMessage: disease-cough + snoughSound: + collection: Coughs - !type:DiseaseHealthChange probability: 0.015 damage: @@ -56,6 +60,8 @@ - !type:DiseaseSnough probability: 0.02 snoughMessage: disease-beep + snoughSound: + collection: RobotBeeps cures: - !type:DiseaseJustWaitCure maxLength: 900 @@ -77,6 +83,8 @@ - !type:DiseaseSnough probability: 0.02 snoughMessage: disease-screech + snoughSound: + collection: MonkeyScreeches - !type:DiseaseGenericStatusEffect probability: 0.3 key: Stutter @@ -128,8 +136,15 @@ reagent: Ephedrine amount: 1 - !type:DiseaseSnough - probability: 0.02 + probability: 0.01 snoughMessage: disease-meow + snoughSound: + collection: CatMeows + - !type:DiseaseSnough + probability: 0.01 + snoughMessage: disease-hiss + snoughSound: + collection: CatHisses cures: - !type:DiseaseBodyTemperatureCure min: 420 ## Reachable with a flamer diff --git a/Resources/Prototypes/SoundCollections/disease.yml b/Resources/Prototypes/SoundCollections/disease.yml new file mode 100644 index 0000000000..63a50e9ec7 --- /dev/null +++ b/Resources/Prototypes/SoundCollections/disease.yml @@ -0,0 +1,32 @@ +- type: soundCollection + id: Sneezes + files: + - /Audio/Effects/Diseases/sneeze1.ogg + - /Audio/Effects/Diseases/sneeze2.ogg + +- type: soundCollection + id: Coughs + files: + - /Audio/Effects/Diseases/cough1.ogg + - /Audio/Effects/Diseases/cough2.ogg + +- type: soundCollection + id: CatMeows + files: + - /Audio/Animals/cat_meow.ogg + +- type: soundCollection + id: CatHisses + files: + - /Audio/Animals/cat_hiss.ogg + +- type: soundCollection + id: MonkeyScreeches + files: + - /Audio/Effects/Diseases/monkey1.ogg + - /Audio/Effects/Diseases/monkey2.ogg + +- type: soundCollection + id: RobotBeeps + files: + - /Audio/Effects/Diseases/beepboop.ogg