using Robust.Shared.Prototypes; namespace Content.Shared.Anomaly.Effects.Components; [RegisterComponent] public sealed partial class EntitySpawnAnomalyComponent : Component { /// /// A list of entities that are random picked to be spawned on each pulse /// [DataField] public List Spawns = new(); /// /// A list of entities that are random picked to be spawned when supercritical; /// [DataField] public List SuperCriticalSpawns = new(); /// /// The maximum number of entities that spawn per pulse /// scales with severity. /// [DataField("maxSpawnAmount"), ViewVariables(VVAccess.ReadWrite)] public int MaxSpawnAmount = 7; /// /// The maximum radius the entities will spawn in. /// Also governs the maximum reach of flesh tiles /// scales with stability /// [DataField("spawnRange"), ViewVariables(VVAccess.ReadWrite)] public float SpawnRange = 5f; /// /// Whether or not anomaly spawns entities on Pulse /// [DataField, ViewVariables(VVAccess.ReadWrite)] public bool SpawnOnPulse = true; /// /// Whether or not anomaly spawns entities on SuperCritical /// [DataField, ViewVariables(VVAccess.ReadWrite)] public bool SpawnOnSuperCritical = true; /// /// Whether or not anomaly spawns entities on StabilityChanged /// The idea was to spawn entities either on Pulse/Supercritical OR StabilityChanged /// [DataField, ViewVariables(VVAccess.ReadWrite)] public bool SpawnOnStabilityChanged = false; }