Add arrivals (#14755)

* Arrivals

* More arrivals and shitty uhh preload

* cvar

* a

* clockin + maps

* shitter prevention

* Placement

* a

* cvar for tests and dev

* weh
This commit is contained in:
metalgearsloth
2023-03-22 20:29:55 +11:00
committed by GitHub
parent a26b284349
commit f3a06a0696
39 changed files with 9456 additions and 141 deletions

View File

@@ -0,0 +1,13 @@
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Server.Shuttles.Components;
[RegisterComponent]
public sealed class ArrivalsShuttleComponent : Component
{
[DataField("station")]
public EntityUid Station;
[DataField("nextTransfer", customTypeSerializer:typeof(TimeOffsetSerializer))]
public TimeSpan NextTransfer;
}

View File

@@ -0,0 +1,10 @@
namespace Content.Server.Shuttles.Components;
/// <summary>
/// Added to a designated arrivals station for players to spawn at, if enabled.
/// </summary>
[RegisterComponent]
public sealed class ArrivalsSourceComponent : Component
{
}

View File

@@ -0,0 +1,11 @@
namespace Content.Server.Shuttles.Components;
/// <summary>
/// Added to players after having been spawned onto the station.
/// Prevents them from taking the arrivals shuttle.
/// </summary>
[RegisterComponent]
public sealed class ClockedInComponent : Component
{
}

View File

@@ -0,0 +1,10 @@
namespace Content.Server.Shuttles.Components;
/// <summary>
/// Added to arrivals latejoins until they have arrived at the station.
/// </summary>
[RegisterComponent]
public sealed class PendingClockInComponent : Component
{
}

View File

@@ -0,0 +1,15 @@
using Robust.Shared.Utility;
namespace Content.Server.Shuttles.Components;
/// <summary>
/// Added to a station that is available for arrivals shuttles.
/// </summary>
[RegisterComponent]
public sealed class StationArrivalsComponent : Component
{
[DataField("shuttle")]
public EntityUid Shuttle;
[DataField("shuttlePath")] public ResourcePath ShuttlePath = new("/Maps/Shuttles/arrivals.yml");
}