Revert "Start rebalancing anomalies - Rock and Flesh anomaly reworked" (#24448)
This commit is contained in:
@@ -2,71 +2,52 @@ using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Shared.Anomaly.Effects.Components;
|
||||
|
||||
[RegisterComponent, Access(typeof(SharedEntityAnomalySystem))]
|
||||
[RegisterComponent]
|
||||
public sealed partial class EntitySpawnAnomalyComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// All types of entity spawns with their settings
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public List<EntitySpawnSettingsEntry> Entries = new();
|
||||
}
|
||||
|
||||
[DataDefinition, Serializable]
|
||||
public partial record struct EntitySpawnSettingsEntry()
|
||||
{
|
||||
/// <summary>
|
||||
/// A list of entities that are random picked to be spawned on each pulse
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public List<EntProtoId> Spawns { get; set; } = new();
|
||||
public List<EntProtoId> Spawns = new();
|
||||
|
||||
/// <summary>
|
||||
/// The minimum number of entities that spawn per pulse
|
||||
/// A list of entities that are random picked to be spawned when supercritical;
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public int MinAmount { get; set; } = 0;
|
||||
public List<EntProtoId> SuperCriticalSpawns = new();
|
||||
|
||||
/// <summary>
|
||||
/// The maximum number of entities that spawn per pulse
|
||||
/// scales with severity.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public int MaxAmount { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// The distance from the anomaly in which the entities will not appear
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float MinRange { get; set; } = 0f;
|
||||
[DataField("maxSpawnAmount"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public int MaxSpawnAmount = 7;
|
||||
|
||||
/// <summary>
|
||||
/// The maximum radius the entities will spawn in.
|
||||
/// Also governs the maximum reach of flesh tiles
|
||||
/// scales with stability
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float MaxRange { get; set; } = 1f;
|
||||
[DataField("spawnRange"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float SpawnRange = 5f;
|
||||
|
||||
/// <summary>
|
||||
/// Whether or not anomaly spawns entities on Pulse
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool SpawnOnPulse { get; set; } = false;
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
public bool SpawnOnPulse = true;
|
||||
|
||||
/// <summary>
|
||||
/// Whether or not anomaly spawns entities on SuperCritical
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool SpawnOnSuperCritical { get; set; } = false;
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
public bool SpawnOnSuperCritical = true;
|
||||
|
||||
/// <summary>
|
||||
/// Whether or not anomaly spawns entities on StabilityChanged
|
||||
/// The idea was to spawn entities either on Pulse/Supercritical OR StabilityChanged
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool SpawnOnStabilityChanged { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Whether or not anomaly spawns entities on SeverityChanged
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public bool SpawnOnSeverityChanged { get; set; } = false;
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
public bool SpawnOnStabilityChanged = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user