using Content.Shared.Movement.Components;
+using Content.Shared.Station.Components;
using Robust.Shared.GameStates;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
float? maxSize = null;
var gridQuery = EntityQueryEnumerator<MapGridComponent>();
+ var stationFound = false;
while (gridQuery.MoveNext(out var uid, out var grid))
{
var size = grid.LocalAABB.Size.LengthSquared();
- if (maxSize == null || size > maxSize)
- {
- maxUid = (uid, grid);
- maxSize = size;
- }
+
+ if (maxSize is not null && size < maxSize)
+ continue;
+
+ var station = HasComp<StationMemberComponent>(uid);
+
+ if (!station && stationFound)
+ continue;
+
+ maxUid = (uid, grid);
+ maxSize = size;
+
+ if (station)
+ stationFound = true;
+
}
coords = new EntityCoordinates(maxUid ?? default, default);
using Content.Shared.Inventory;
using Content.Shared.NPC.Systems;
using Content.Shared.NukeOps;
+using Content.Shared.Station.Components;
using Robust.Server.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.Map.Components;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
+using Content.Shared.Station.Components;
using Robust.Shared.Utility;
using YamlDotNet.RepresentationModel;
using System.Text.Json;
-using Content.Server.Station.Components;
+using Content.Shared.Station.Components;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Content.Server.Light.Components;
using Content.Server.Power.Components;
using Content.Server.Power.EntitySystems;
-using Content.Server.Station.Components;
using Content.Server.Station.Systems;
using Content.Shared.Examine;
using Content.Shared.Light;
using Content.Shared.Light.Components;
+using Content.Shared.Station.Components;
using Robust.Server.GameObjects;
using Color = Robust.Shared.Maths.Color;
using Content.Server.Power.Components;
using Content.Server.Power.Nodes;
using Content.Server.Power.NodeGroups;
-using Content.Server.Station.Components;
using Content.Server.StationEvents.Components;
using Content.Shared.GameTicking.Components;
using Content.Shared.Pinpointer;
+using Content.Shared.Station.Components;
using Content.Shared.Power;
using JetBrains.Annotations;
using Robust.Server.GameObjects;
using Content.Server.Atmos.EntitySystems;
using Content.Server.Chat.Managers;
using Content.Server.GameTicking;
-using Content.Server.Station.Components;
+using Content.Shared.Station.Components;
using Content.Server.Station.Systems;
using Content.Shared.Database;
using Content.Shared.Maps;
using Content.Server.Shuttles.Components;
using Content.Server.Shuttles.Events;
-using Content.Server.Station.Components;
+using Content.Shared.Station.Components;
using Content.Shared.UserInterface;
namespace Content.Server.Shuttles.Systems;
using Content.Shared.Procedural;
using Content.Shared.Salvage;
using Content.Shared.Shuttles.Components;
+using Content.Shared.Station.Components;
using Robust.Shared.Collections;
using Robust.Shared.Map;
using Robust.Shared.Random;
using Content.Server.Station.Events;
using Content.Shared.CCVar;
using Content.Shared.Station;
+using Content.Shared.Station.Components;
using JetBrains.Annotations;
using Robust.Server.GameObjects;
using Robust.Server.Player;
-using Content.Server.GameTicking.Rules.Components;
using Content.Server.Resist;
-using Content.Server.Station.Components;
using Content.Server.StationEvents.Components;
using Content.Server.Storage.Components;
using Content.Server.Storage.EntitySystems;
using Content.Shared.Access.Components;
+using Content.Shared.Station.Components;
using Content.Shared.GameTicking.Components;
using Content.Shared.Coordinates;
using Content.Server.Power.Components;
using Content.Server.Power.EntitySystems;
-using Content.Server.Station.Components;
using Content.Server.StationEvents.Components;
-using Content.Shared.GameTicking.Components;
+using Content.Shared.GameTicking.Components;
+using Content.Shared.Station.Components;
using JetBrains.Annotations;
namespace Content.Server.StationEvents.Events;
using System.Linq;
using Content.Server.Silicons.Laws;
-using Content.Server.Station.Components;
using Content.Server.StationEvents.Components;
using Content.Shared.Administration.Logs;
using Content.Shared.Database;
using Content.Shared.Random.Helpers;
using Content.Shared.Silicons.Laws;
using Content.Shared.Silicons.Laws.Components;
+using Content.Shared.Station.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using System.Threading;
-using Content.Server.GameTicking.Rules.Components;
using Content.Server.Power.Components;
using Content.Server.Power.EntitySystems;
-using Content.Server.Station.Components;
using Content.Server.StationEvents.Components;
using Content.Shared.GameTicking.Components;
+using Content.Shared.Station.Components;
using JetBrains.Annotations;
using Robust.Shared.Audio;
using Robust.Shared.Player;
using Content.Server.Atmos.Piping.Unary.Components;
-using Content.Server.Station.Components;
+using Content.Server.Fluids.EntitySystems;
+using Content.Server.StationEvents.Components;
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.Reagent;
+using Content.Shared.GameTicking.Components;
+using Content.Shared.Station.Components;
using JetBrains.Annotations;
using Robust.Shared.Random;
using System.Linq;
-using Content.Server.Fluids.EntitySystems;
-using Content.Server.GameTicking.Rules.Components;
-using Content.Server.StationEvents.Components;
-using Content.Shared.GameTicking.Components;
namespace Content.Server.StationEvents.Events;
using Content.Server.StationEvents.Components;
-using Content.Server.GameTicking.Rules.Components;
-using Content.Server.Station.Components;
using Content.Shared.GameTicking.Components;
+using Content.Shared.Station.Components;
using Content.Shared.Storage;
using Robust.Shared.Map;
using Robust.Shared.Random;
using System.Linq;
using Content.Server.Explosion.EntitySystems;
using Content.Server.Resist;
-using Content.Server.Station.Components;
using Content.Server.Storage.Components;
using Content.Shared.Access;
using Content.Shared.Access.Components;
using Content.Shared.DoAfter;
using Content.Shared.Lock;
using Content.Shared.Mind.Components;
+using Content.Shared.Station.Components;
using Content.Shared.Storage.Components;
using Content.Shared.Storage.EntitySystems;
using Content.Shared.Tools.Systems;
-using Content.Server.Station.Systems;
+using Robust.Shared.GameStates;
-namespace Content.Server.Station.Components;
+namespace Content.Shared.Station.Components;
/// <summary>
/// Indicates that a grid is a member of the given station.
/// </summary>
-[RegisterComponent, Access(typeof(StationSystem))]
+[RegisterComponent, NetworkedComponent]
public sealed partial class StationMemberComponent : Component
{
/// <summary>