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; }