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;
[ViewVariables(VVAccess.ReadOnly), DataField]
public int MaxDamage = 9;
[ViewVariables(VVAccess.ReadOnly), DataField]
public int MinDamage = 0;
///
/// 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;
}