using Content.Shared.Eye.Blinding.Systems; using Robust.Shared.GameStates; namespace Content.Shared.Eye.Blinding.Components; [RegisterComponent] [NetworkedComponent, AutoGenerateComponentState] [Access(typeof(BlindableSystem))] public sealed partial class BlindableComponent : Component { /// /// How many seconds will be subtracted from each attempt to add blindness to us? /// [ViewVariables(VVAccess.ReadWrite), DataField("isBlind"), AutoNetworkedField] public bool IsBlind; /// /// Eye damage due to things like staring directly at welders. Causes blurry vision or outright /// blindness if greater than or equal to . /// /// /// Should eventually be replaced with a proper eye health system when we have bobby. /// [ViewVariables(VVAccess.ReadWrite), DataField("EyeDamage"), AutoNetworkedField] public int EyeDamage = 0; public const int MaxDamage = 9; /// /// Used to ensure that this doesn't break with sandbox or admin tools. /// This is not "enabled/disabled". /// [Access(Other = AccessPermissions.ReadWriteExecute)] public bool LightSetup = false; /// /// Gives an extra frame of blindness to reenable light manager during /// [Access(Other = AccessPermissions.ReadWriteExecute)] public bool GraceFrame = false; }