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);
}
}
}