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);