Fix arrivals (#35439)

This commit is contained in:
metalgearsloth 2025-02-24 20:43:43 +11:00 committed by deltanedas
parent 6613a4622e
commit e9eb968e21
1 changed files with 17 additions and 15 deletions

View File

@ -30,8 +30,10 @@ using Robust.Server.GameObjects;
using Robust.Shared.Collections;
using Robust.Shared.Configuration;
using Robust.Shared.Console;
using Robust.Shared.EntitySerialization;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
@ -46,23 +48,23 @@ namespace Content.Server.Shuttles.Systems;
/// </summary>
public sealed class ArrivalsSystem : EntitySystem
{
[Dependency] private readonly IChatManager _chat = default!;
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
[Dependency] private readonly IConsoleHost _console = default!;
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IChatManager _chat = default!;
[Dependency] private readonly SharedMapSystem _mapSystem = default!;
[Dependency] private readonly ActorSystem _actor = default!;
[Dependency] private readonly BiomeSystem _biomes = default!;
[Dependency] private readonly DeviceNetworkSystem _deviceNetworkSystem = default!;
[Dependency] private readonly GameTicker _ticker = default!;
[Dependency] private readonly MapLoaderSystem _loader = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
[Dependency] private readonly DeviceNetworkSystem _deviceNetworkSystem = default!;
[Dependency] private readonly SharedMapSystem _mapSystem = default!;
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly ShuttleSystem _shuttles = default!;
[Dependency] private readonly StationSpawningSystem _stationSpawning = default!;
[Dependency] private readonly StationSystem _station = default!;
[Dependency] private readonly ActorSystem _actor = default!;
private EntityQuery<PendingClockInComponent> _pendingQuery;
private EntityQuery<ArrivalsBlacklistComponent> _blacklistQuery;
@ -515,31 +517,31 @@ public sealed class ArrivalsSystem : EntitySystem
private void SetupArrivalsStation()
{
var path = new ResPath(_cfgManager.GetCVar(CCVars.ArrivalsMap));
if (!_loader.TryLoadMap(path, out var map, out var grids))
_mapSystem.CreateMap(out var mapId, runMapInit: false);
var mapUid = _mapSystem.GetMap(mapId);
if (!_loader.TryLoadGrid(mapId, path, out var grid))
return;
_metaData.SetEntityName(map.Value, Loc.GetString("map-name-terminal"));
_metaData.SetEntityName(mapUid, Loc.GetString("map-name-terminal"));
foreach (var id in grids)
{
EnsureComp<ArrivalsSourceComponent>(id);
EnsureComp<ProtectedGridComponent>(id);
EnsureComp<PreventPilotComponent>(id);
}
EnsureComp<ArrivalsSourceComponent>(grid.Value);
EnsureComp<ProtectedGridComponent>(grid.Value);
EnsureComp<PreventPilotComponent>(grid.Value);
// Setup planet arrivals if relevant
if (_cfgManager.GetCVar(CCVars.ArrivalsPlanet))
{
var template = _random.Pick(_arrivalsBiomeOptions);
_biomes.EnsurePlanet(map.Value, _protoManager.Index(template));
_biomes.EnsurePlanet(mapUid, _protoManager.Index(template));
var restricted = new RestrictedRangeComponent
{
Range = 32f
};
AddComp(map.Value, restricted);
AddComp(mapUid, restricted);
}
_mapSystem.InitializeMap(map.Value.Comp.MapId);
_mapSystem.InitializeMap(mapId);
// Handle roundstart stations.
var query = AllEntityQuery<StationArrivalsComponent>();