Files
Delta-v/Content.Server/_DV/Station/Systems/StationSecondaryCentcommSystem.cs
T
Field CommandandJanet Blackquill 1ec61d6df6 Midpoint: New EOR destination station (#3894)
* Midpoint

* Midpoint code

* Map polish

* Nav enabled

* Renamed traitor "escape to CC" objective

* meow

* Midpoint Extensions

* Extra beacons

* Latest Fixes

* Revert CC time being only 30 seconds

* Last fix

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2025-06-13 13:14:58 -05:00

35 lines
1.3 KiB
C#

using Content.Server._DV.Station.Components;
using Content.Server.Shuttles.Components;
using Content.Server.Station.Events;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.Map.Components;
using Robust.Shared.Random;
namespace Content.Server._DV.Station.Systems;
public sealed partial class StationSecondaryCentcommSystem : EntitySystem
{
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly MapLoaderSystem _mapLoader = default!;
[Dependency] private readonly SharedTransformSystem _xform = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<StationSecondaryCentcommComponent, StationPostInitEvent>(OnStationPostInit);
}
private void OnStationPostInit(Entity<StationSecondaryCentcommComponent> ent, ref StationPostInitEvent args)
{
if (!TryComp<StationCentcommComponent>(ent, out var centComm) || centComm.Entity is not { } gridUid || centComm.MapEntity is not { } mapUid)
return;
if (!TryComp<MapComponent>(mapUid, out var map))
return;
var offset = _random.NextVector2(ent.Comp.MinRange, ent.Comp.MaxRange);
_mapLoader.TryLoadGrid(map.MapId, ent.Comp.Path, out _, offset: _xform.GetWorldPosition(gridUid) + offset);
}
}