using Robust.Shared.Audio;
using Robust.Shared.GameStates;
namespace Content.Shared.Standing
{
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
[Access(typeof(StandingStateSystem))]
public sealed partial class StandingStateComponent : Component
{
[ViewVariables(VVAccess.ReadWrite)]
[DataField]
public SoundSpecifier? DownSound { get; private set; } = new SoundCollectionSpecifier("BodyFall");
[DataField, AutoNetworkedField]
public bool Standing { get; set; } = true;
///
/// Time it takes us to stand up
///
[DataField, AutoNetworkedField]
public TimeSpan StandTime = TimeSpan.FromSeconds(2);
///
/// Default Friction modifier for knocked down players.
/// Makes them accelerate and deccelerate slower.
///
[DataField, AutoNetworkedField]
public float FrictionModifier = 0.4f;
///
/// Base modifier to the maximum movement speed of a knocked down mover.
///
[DataField, AutoNetworkedField]
public float SpeedModifier = 0.3f;
///
/// List of fixtures that had their collision mask changed when the entity was downed.
/// Required for re-adding the collision mask.
///
[DataField, AutoNetworkedField]
public List ChangedFixtures = new();
}
}