Files
Delta-v/Content.Shared/_DV/KeycardAuthenticationDevice/DVStationKeycardAuthenticationDeviceComponent.cs
T
a635429d3e Communications console & screens overhaul (#5954)
* i'm going insane from screens

* some wiring

* screemes

* holy shit adhd lock-in

* incomplete

* its FUCKING DONE

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* zeta

* mrrrp

* test fix

* fix arrivals

* fix misnetwork

* Fix iteration outline. Fixed all headers showing if all options where hidden. Added access requirement to keycard auth mechnism. Added countdown. Fixed ninja and fugitive. Fixed AI and aghost.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-08-27 13:37:40 -05:00

51 lines
1.6 KiB
C#

using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Shared._DV.KeycardAuthenticationDevice;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause]
[Access(typeof(SharedDVStationKeycardAuthenticationDeviceSystem))]
public sealed partial class DVStationKeycardAuthenticationDeviceComponent : Component
{
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField, AutoPausedField]
public TimeSpan AccessibleAfter = TimeSpan.Zero;
[DataField]
public TimeSpan FailureDelay = TimeSpan.FromMinutes(2);
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField, AutoPausedField]
public TimeSpan? SwipesStartedAt = null;
[DataField]
public TimeSpan SwipeWindow = TimeSpan.FromSeconds(20);
[DataField(required: true)]
public Dictionary<DVStationKeycardAction, int> ActionThresholds;
[DataField, AutoNetworkedField]
public int Swipes;
[DataField, AutoNetworkedField]
public DVStationKeycardAction? SwipingFor;
[DataField]
public LocId FailureAnnouncementSender = "keycard-authentication-device-sender";
[DataField]
public LocId FailureAnnouncement = "keycard-authentication-device-warning";
[DataField]
public Color FailureAnnouncementColor = Color.FromHex("#e93a9a");
[DataField]
public TimeSpan FailureElectrocutionDuration = TimeSpan.FromSeconds(5);
}
[Serializable, NetSerializable]
public enum DVStationKeycardAction
{
Mayday,
Scuttling,
}