Files
tbd-station-14/Content.Server/Storage/Components/BluespaceLockerComponent.cs
Chief-Engineer b7af5e6109 Fix and improve bluespace lockers (#13139)
* add invulnerable plastitanium wall prototype

* fix command ClearBluespaceLockerLinks.cs

* fix and improve BluespaceLockerSystem.cs

* fix normal plastitanium wall suffix

* fix capitalization

* fix capability to create one way lockers
2022-12-24 22:35:03 -06:00

62 lines
2.3 KiB
C#

namespace Content.Server.Storage.Components;
[RegisterComponent]
public sealed class BluespaceLockerComponent : Component
{
/// <summary>
/// Determines if gas will be transported.
/// </summary>
[DataField("transportGas"), ViewVariables(VVAccess.ReadWrite)]
public bool TransportGas = true;
/// <summary>
/// Determines if entities will be transported.
/// </summary>
[DataField("transportEntities"), ViewVariables(VVAccess.ReadWrite)]
public bool TransportEntities = true;
/// <summary>
/// Determines if entities with a Mind component will be transported.
/// </summary>
[DataField("allowSentient"), ViewVariables(VVAccess.ReadWrite)]
public bool AllowSentient = true;
/// <summary>
/// If length > 0, when something is added to the storage, it will instead be teleported to a random storage
/// from the list and the other storage will be opened.
/// </summary>
[DataField("bluespaceLinks"), ViewVariables(VVAccess.ReadOnly)]
public HashSet<EntityStorageComponent> BluespaceLinks = new();
/// <summary>
/// Each time the system attempts to get a link, it will link additional lockers to ensure the minimum amount
/// are linked.
/// </summary>
[DataField("minBluespaceLinks"), ViewVariables(VVAccess.ReadWrite)]
public uint MinBluespaceLinks;
/// <summary>
/// Determines if links automatically added are restricted to the same map
/// </summary>
[DataField("pickLinksFromSameMap"), ViewVariables(VVAccess.ReadWrite)]
public bool PickLinksFromSameMap;
/// <summary>
/// Determines if links automatically added must have ResistLockerComponent
/// </summary>
[DataField("pickLinksFromResistLockers"), ViewVariables(VVAccess.ReadWrite)]
public bool PickLinksFromResistLockers = true;
/// <summary>
/// Determines if links automatically added are restricted to being on a station
/// </summary>
[DataField("pickLinksFromStationGrids"), ViewVariables(VVAccess.ReadWrite)]
public bool PickLinksFromStationGrids = true;
/// <summary>
/// Determines if links automatically added are bidirectional
/// </summary>
[DataField("autoLinksBidirectional"), ViewVariables(VVAccess.ReadWrite)]
public bool AutoLinksBidirectional;
}