Description
@RedSpeeds asked me to make an issue for this
short version
- the ATS spawns too close to the station
- we can't fix this because the two fields,
MinimumDistance and MaximumDistance aren't used anywhere in the code that spawns the ATS, TryGridSpawn
long version
diagnosis
GridSpawnGroup has a min and max distance field
public interface IGridSpawnGroup
{
/// <summary>
/// Minimum distance to spawn away from the station.
/// </summary>
public float MinimumDistance { get; }
/// <summary>
/// Maximum distance to spawn away from the station.
/// </summary>
public float MaximumDistance { get; }
but none of the code actually uses these fields, changing the ATS spawn distance isn't doable with YML alone
the ATS gets spawned via:
TryGridSpawn(EntityUid targetGrid, EntityUid stationUid, MapId mapId, GridSpawnGroup group, out EntityUid spawned)
which calls:
TryFTLProximity(EntityUid shuttleUid, EntityUid targetUid, TransformComponent? xform = null, TransformComponent? targetXform = null)
which calls:
private bool TryGetFTLProximity(
EntityUid shuttleUid,
EntityCoordinates targetCoordinates,
out EntityCoordinates coordinates, out Angle angle,
float minOffset = 0f, float maxOffset = 64f,
TransformComponent? xform = null, TransformComponent? targetXform = null)
which doesn't give two hoots about the fields mentioned above
Reproduction
setgamemap StarlightNovoLobster
startround
- observe that the ATS can be mere tiles away from the station (way too close)
Additional Context

Description
@RedSpeeds asked me to make an issue for this
short version
MinimumDistanceandMaximumDistancearen't used anywhere in the code that spawns the ATS,TryGridSpawnlong version
diagnosis
GridSpawnGrouphas a min and max distance fieldbut none of the code actually uses these fields, changing the ATS spawn distance isn't doable with YML alone
the ATS gets spawned via:
TryGridSpawn(EntityUid targetGrid, EntityUid stationUid, MapId mapId, GridSpawnGroup group, out EntityUid spawned)which calls:
TryFTLProximity(EntityUid shuttleUid, EntityUid targetUid, TransformComponent? xform = null, TransformComponent? targetXform = null)which calls:
which doesn't give two hoots about the fields mentioned above
Reproduction
setgamemap StarlightNovoLobsterstartroundAdditional Context