using Robust.Shared.GameStates;
namespace Content.Shared.Anomaly.Effects.Components;
[RegisterComponent, NetworkedComponent, Access(typeof(SharedGravityAnomalySystem))]
public sealed partial class GravityAnomalyComponent : Component
{
///
/// The maximumum size the GravityWellComponent MaxRange can be.
/// Is scaled linearly with stability.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MaxGravityWellRange = 10f;
///
/// The maximum distance from which the anomaly
/// can throw you via a pulse.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MaxThrowRange = 5f;
///
/// The maximum strength the anomaly
/// can throw you via a pulse
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MaxThrowStrength = 10;
///
/// The maximum Intensity of the RadiationSourceComponent.
/// Is scaled linearly with stability.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MaxRadiationIntensity = 3f;
///
/// The minimum acceleration value for GravityWellComponent
/// Is scaled linearly with stability.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MinAccel = 0f;
///
/// The maximum acceleration value for GravityWellComponent
/// Is scaled linearly with stability.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MaxAccel = 5f;
///
/// The minimum acceleration value for GravityWellComponent
/// Is scaled linearly with stability.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MinRadialAccel = 0f;
///
/// The maximum acceleration value for GravityWellComponent
/// Is scaled linearly with stability.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MaxRadialAccel = 5f;
///
/// The maximum speed for RandomWalkComponent
/// Is scaled linearly with severity.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MinSpeed = 0.1f;
///
/// The maximum speed for RandomWalkComponent
/// Is scaled linearly with severity.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float MaxSpeed = 1.0f;
///
/// Random +- speed modifier
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float SpeedVariation = 0.1f;
///
/// The range around the anomaly that will be spaced on supercritical.
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float SpaceRange = 3f;
}