using Robust.Shared.GameStates;
using Content.Shared.Clothing.EntitySystems;
namespace Content.Shared.Clothing;
[RegisterComponent]
[NetworkedComponent]
[Access(typeof(SkatesSystem))]
public sealed partial class SkatesComponent : Component
{
///
/// the levels of friction the wearer is subected to, higher the number the more friction.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float Friction = 2.5f;
///
/// Determines the turning ability of the wearer, Higher the number the less control of their turning ability.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float? FrictionNoInput = 2.5f;
///
/// Sets the speed in which the wearer accelerates to full speed, higher the number the quicker the acceleration.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float Acceleration = 5f;
///
/// The minimum speed the wearer needs to be traveling to take damage from collision.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MinimumSpeed = 3f;
///
/// The length of time the wearer is stunned for on collision.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float StunSeconds = 3f;
///
/// The time duration before another collision can take place.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float DamageCooldown = 2f;
///
/// The damage per increment of speed on collision.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float SpeedDamage = 1f;
///
/// Defaults for MinimumSpeed, StunSeconds, DamageCooldown and SpeedDamage.
///
[ViewVariables]
public float DefaultMinimumSpeed = 20f;
[ViewVariables]
public float DefaultStunSeconds = 1f;
[ViewVariables]
public float DefaultDamageCooldown = 2f;
[ViewVariables]
public float DefaultSpeedDamage = 0.5f;
}