using System.Numerics; using Content.Shared._NF.Shuttles.Events; using Content.Shared.Shuttles.Components; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Shuttles.Components { [RegisterComponent] public sealed partial class ShuttleConsoleComponent : SharedShuttleConsoleComponent { [ViewVariables] public readonly List SubscribedPilots = new(); /// /// How much should the pilot's eye be zoomed by when piloting using this console? /// [DataField("zoom")] public Vector2 Zoom = new(1.5f, 1.5f); /// /// Should this console have access to restricted FTL destinations? /// [ViewVariables(VVAccess.ReadWrite), DataField("whitelistSpecific")] public List FTLWhitelist = new List(); // Frontier: EMP-related state /// /// For EMP to allow keeping the shuttle off /// [DataField("enabled")] public bool MainBreakerEnabled = true; /// /// While disabled by EMP /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan TimeoutFromEmp = TimeSpan.Zero; [DataField] public float DisableDuration = 60f; [DataField] public InertiaDampeningMode DampeningMode = InertiaDampeningMode.Dampen; // End Frontier } }