using Content.Server.Tesla.EntitySystems; using Robust.Shared.Audio; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Tesla.Components; /// /// The component changes the visual of an object after it is struck by lightning /// [RegisterComponent, Access(typeof(LightningSparkingSystem)), AutoGenerateComponentPause] public sealed partial class LightningSparkingComponent : Component { /// /// Spark duration. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public float LightningTime = 4; /// /// When the spark visual should turn off. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoPausedField] public TimeSpan LightningEndTime; [DataField, ViewVariables(VVAccess.ReadWrite)] public bool IsSparking; }