Cryogenic Sleep Units (#24096)

* Cryogenic sleep units

* pause map support

* no more body deletion

* Cryogenic Storage Units

* boowomp

* no more emag, no more dropping present people
This commit is contained in:
Nemanja
2024-01-15 01:35:28 -05:00
committed by GitHub
parent 1fc3c411ca
commit 736b9dd7df
38 changed files with 1376 additions and 8 deletions

View File

@@ -0,0 +1,34 @@
using Robust.Shared.GameStates;
using Robust.Shared.Network;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Shared.Bed.Cryostorage;
/// <summary>
/// This is used to track an entity that is currently being held in Cryostorage.
/// </summary>
[RegisterComponent, NetworkedComponent]
[AutoGenerateComponentState]
public sealed partial class CryostorageContainedComponent : Component
{
/// <summary>
/// Whether or not this entity is being stored on another map or is just chilling in a container
/// </summary>
[DataField, AutoNetworkedField]
public bool StoredWhileDisconnected;
/// <summary>
/// The time at which the cryostorage grace period ends.
/// </summary>
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
public TimeSpan? GracePeriodEndTime;
/// <summary>
/// The cryostorage this entity is 'stored' in.
/// </summary>
[DataField, AutoNetworkedField]
public EntityUid? Cryostorage;
[DataField]
public NetUserId? UserId;
}