Weather effects (#12528)

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
This commit is contained in:
metalgearsloth
2023-01-17 20:26:52 +11:00
committed by GitHub
parent 650c858d8a
commit 81a1c6d7de
37 changed files with 1267 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
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!;
/// <summary>
/// Minimum duration for the weather.
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
public TimeSpan DurationMinimum = TimeSpan.FromSeconds(120);
/// <summary>
/// Maximum duration for the weather.
/// </summary>
[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;
/// <summary>
/// Sound to play on the affected areas.
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("sound")]
public SoundSpecifier? Sound;
}