diff --git a/Content.Server/Shuttles/Components/ShuttleConsoleComponent.cs b/Content.Server/Shuttles/Components/ShuttleConsoleComponent.cs index 0be8e40d6e..aa75f06fe9 100644 --- a/Content.Server/Shuttles/Components/ShuttleConsoleComponent.cs +++ b/Content.Server/Shuttles/Components/ShuttleConsoleComponent.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using Content.Shared.Shuttles; using Content.Shared.Shuttles.Components; using Robust.Shared.GameObjects; +using Robust.Shared.Maths; +using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.ViewVariables; namespace Content.Server.Shuttles.Components @@ -18,5 +20,11 @@ namespace Content.Server.Shuttles.Components /// [ViewVariables] public bool Enabled { get; set; } = false; + + /// + /// 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); } } diff --git a/Content.Server/Shuttles/EntitySystems/ShuttleConsoleSystem.cs b/Content.Server/Shuttles/EntitySystems/ShuttleConsoleSystem.cs index 6971ee6c45..f884a2c007 100644 --- a/Content.Server/Shuttles/EntitySystems/ShuttleConsoleSystem.cs +++ b/Content.Server/Shuttles/EntitySystems/ShuttleConsoleSystem.cs @@ -195,6 +195,11 @@ namespace Content.Server.Shuttles.EntitySystems return; } + if (TryComp(entity, out var eye)) + { + eye.Zoom = component.Zoom; + } + component.SubscribedPilots.Add(pilotComponent); _alertsSystem.ShowAlert(entity, AlertType.PilotingShuttle); @@ -214,6 +219,11 @@ namespace Content.Server.Shuttles.EntitySystems pilotComponent.Console = null; pilotComponent.Position = null; + if (TryComp(pilotComponent.Owner, out var eye)) + { + eye.Zoom = new(1.0f, 1.0f); + } + if (!helmsman.SubscribedPilots.Remove(pilotComponent)) return; _alertsSystem.ClearAlert(pilotComponent.Owner, AlertType.PilotingShuttle);