This commit is contained in:
Nemanja
2023-01-17 00:05:20 -05:00
committed by GitHub
parent 06f19dafc9
commit 9cd0c11870
85 changed files with 3109 additions and 54 deletions

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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;
}