using Content.Shared.Maps; using Robust.Shared.Audio; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; using Robust.Shared.Utility; namespace Content.Shared.Weather; [Prototype("weather")] public sealed class WeatherPrototype : IPrototype { [IdDataFieldAttribute] public string ID { get; } = default!; /// /// Minimum duration for the weather. /// [ViewVariables(VVAccess.ReadWrite)] public TimeSpan DurationMinimum = TimeSpan.FromSeconds(120); /// /// Maximum duration for the weather. /// [ViewVariables(VVAccess.ReadWrite)] public TimeSpan DurationMaximum = TimeSpan.FromSeconds(300); [ViewVariables(VVAccess.ReadWrite), DataField("startupTime")] public TimeSpan StartupTime = TimeSpan.FromSeconds(30); [ViewVariables(VVAccess.ReadWrite), DataField("endTime")] public TimeSpan ShutdownTime = TimeSpan.FromSeconds(30); [ViewVariables(VVAccess.ReadWrite), DataField("sprite", required: true)] public SpriteSpecifier Sprite = default!; [ViewVariables(VVAccess.ReadWrite), DataField("color")] public Color? Color; /// /// Sound to play on the affected areas. /// [ViewVariables(VVAccess.ReadWrite), DataField("sound")] public SoundSpecifier? Sound; }