using Content.Shared.StatusEffect;
using Robust.Shared.GameStates;
namespace Content.Shared.Trigger.Components.Effects;
///
/// Makes the entity play a jitter animation when triggered.
/// If TargetUser is true the user will jitter instead.
///
///
/// The target requires .
/// TODO: Convert jitter to the new status effects system.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class JitterOnTriggerComponent : BaseXOnTriggerComponent
{
///
/// Jitteriness of the animation.
///
[DataField, AutoNetworkedField]
public float Amplitude = 10.0f;
///
/// Frequency for jittering.
///
[DataField, AutoNetworkedField]
public float Frequency = 4.0f;
///
/// For how much time to apply the effect.
///
[DataField, AutoNetworkedField]
public TimeSpan Time = TimeSpan.FromSeconds(2);
///
/// The status effect cooldown should be refreshed (true) or accumulated (false).
///
[DataField, AutoNetworkedField]
public bool Refresh;
///
/// Whether to change any existing jitter value even if they're greater than the ones we're setting.
///
[DataField, AutoNetworkedField]
public bool ForceValueChange;
}