using Content.Shared.Movement.Systems; using Content.Shared.Whitelist; using Robust.Shared.GameStates; namespace Content.Shared.Movement.Components; /// /// Component that modifies the movement speed of other entities that come into contact with the entity this component is added to. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(SpeedModifierContactsSystem))] public sealed partial class SpeedModifierContactsComponent : Component { /// /// The modifier applied to the walk speed of entities that come into contact with the entity this component is added to. /// [DataField, AutoNetworkedField] public float WalkSpeedModifier = 1.0f; /// /// The modifier applied to the sprint speed of entities that come into contact with the entity this component is added to. /// [DataField, AutoNetworkedField] public float SprintSpeedModifier = 1.0f; /// /// Indicates whether this component affects the movement speed of airborne entities that come into contact with the entity this component is added to. /// [DataField, AutoNetworkedField] public bool AffectAirborne; /// /// A whitelist of entities that should be ignored by this component's speed modifiers. /// [DataField] public EntityWhitelist? IgnoreWhitelist; }