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 { /// /// Makes the diseased sneeze or cough /// or neither. /// [UsedImplicitly] public sealed class DiseaseSnough : DiseaseEffect { /// /// Message to play when snoughing /// [DataField("snoughMessage")] public string SnoughMessage = "disease-sneeze"; /// /// Sound to play when snoughing /// [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(SnoughSound.GetSound(), Filter.Pvs(args.DiseasedEntity), args.DiseasedEntity, AudioHelpers.WithVariation(0.2f)); EntitySystem.Get().SneezeCough(args.DiseasedEntity, args.Disease, SnoughMessage, AirTransmit); } } }