Anomalies (#13371)
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
namespace Content.Shared.Anomaly.Effects.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed class ElectricityAnomalyComponent : Component
|
||||
{
|
||||
[DataField("maxElectrocutionRange"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float MaxElectrocuteRange = 6f;
|
||||
|
||||
[DataField("maxElectrocuteDamage"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float MaxElectrocuteDamage = 20f;
|
||||
|
||||
[DataField("maxElectrocuteDuration"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public TimeSpan MaxElectrocuteDuration = TimeSpan.FromSeconds(8);
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
namespace Content.Shared.Anomaly.Effects.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed class GravityAnomalyComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The maximumum size the GravityWellComponent MaxRange can be.
|
||||
/// Is scaled linearly with stability.
|
||||
/// </summary>
|
||||
[DataField("maxGravityWellRange"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float MaxGravityWellRange = 8f;
|
||||
|
||||
/// <summary>
|
||||
/// The maximum distance from which the anomaly
|
||||
/// can throw you via a pulse.
|
||||
/// </summary>
|
||||
[DataField("maxThrowRange"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float MaxThrowRange = 5f;
|
||||
|
||||
/// <summary>
|
||||
/// The maximum strength the anomaly
|
||||
/// can throw you via a pulse
|
||||
/// </summary>
|
||||
[DataField("maxThrowStrength"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float MaxThrowStrength = 10;
|
||||
|
||||
/// <summary>
|
||||
/// The maximum Intensity of the RadiationSourceComponent.
|
||||
/// Is scaled linearly with stability.
|
||||
/// </summary>
|
||||
[DataField("maxRadiationIntensity"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float MaxRadiationIntensity = 3f;
|
||||
|
||||
/// <summary>
|
||||
/// The minimum acceleration value for GravityWellComponent
|
||||
/// Is scaled linearly with stability.
|
||||
/// </summary>
|
||||
[DataField("minAccel"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float MinAccel = 1f;
|
||||
|
||||
/// <summary>
|
||||
/// The maximum acceleration value for GravityWellComponent
|
||||
/// Is scaled linearly with stability.
|
||||
/// </summary>
|
||||
[DataField("maxAccel"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float MaxAccel = 5f;
|
||||
|
||||
/// <summary>
|
||||
/// The range around the anomaly that will be spaced on supercritical.
|
||||
/// </summary>
|
||||
[DataField("spaceRange"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public float SpaceRange = 3f;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
using Content.Shared.Atmos;
|
||||
|
||||
namespace Content.Shared.Anomaly.Effects.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed class PyroclasticAnomalyComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The MAXIMUM amount of heat released per second.
|
||||
/// This is scaled linearly with the Severity of the anomaly.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// I have no clue if this is balanced.
|
||||
/// </remarks>
|
||||
[DataField("heatPerSecond")]
|
||||
public float HeatPerSecond = 50;
|
||||
|
||||
/// <summary>
|
||||
/// The maximum distance from which you can be ignited by the anomaly.
|
||||
/// </summary>
|
||||
[DataField("maximumIgnitionRadius")]
|
||||
public float MaximumIgnitionRadius = 8f;
|
||||
|
||||
/// <summary>
|
||||
/// The minimum amount of severity required
|
||||
/// before the anomaly becomes a hotspot.
|
||||
/// </summary>
|
||||
[DataField("anomalyHotspotThreshold")]
|
||||
public float AnomalyHotspotThreshold = 0.6f;
|
||||
|
||||
/// <summary>
|
||||
/// The temperature of the hotspot where the anomaly is
|
||||
/// </summary>
|
||||
[DataField("hotspotExposeTemperature")]
|
||||
public float HotspotExposeTemperature = 1000;
|
||||
|
||||
/// <summary>
|
||||
/// The volume of the hotspot where the anomaly is.
|
||||
/// </summary>
|
||||
[DataField("hotspotExposeVolume")]
|
||||
public float HotspotExposeVolume = 50;
|
||||
|
||||
/// <summary>
|
||||
/// Gas released when the anomaly goes supercritical.
|
||||
/// </summary>
|
||||
[DataField("supercriticalGas")]
|
||||
public Gas SupercriticalGas = Gas.Plasma;
|
||||
|
||||
/// <summary>
|
||||
/// The amount of gas released when the anomaly goes supercritical
|
||||
/// </summary>
|
||||
[DataField("supercriticalMoleAmount")]
|
||||
public float SupercriticalMoleAmount = 50f;
|
||||
}
|
||||
Reference in New Issue
Block a user