More anomalies (#13766)

This commit is contained in:
Nemanja
2023-02-06 00:03:53 -05:00
committed by GitHub
parent 3656d3cc21
commit f450398df7
41 changed files with 855 additions and 47 deletions

View File

@@ -62,7 +62,7 @@ public sealed class AnomalyComponent : Component
/// The amount of health lost when the stability is below the <see cref="DecayThreshold"/>
/// </summary>
[DataField("healthChangePerSecond"), ViewVariables(VVAccess.ReadWrite)]
public float HealthChangePerSecond = -0.05f;
public float HealthChangePerSecond = -0.01f;
#endregion
#region Growth
@@ -208,21 +208,14 @@ public sealed class AnomalyComponent : Component
/// This doesn't include the point bonus for being unstable.
/// </summary>
[DataField("maxPointsPerSecond")]
public int MaxPointsPerSecond = 65;
public int MaxPointsPerSecond = 100;
/// <summary>
/// The multiplier applied to the point value for the
/// anomaly being above the <see cref="GrowthThreshold"/>
/// </summary>
[DataField("growingPointMultiplier")]
public float GrowingPointMultiplier = 1.2f;
/// <summary>
/// The multiplier applied to the point value for the
/// anomaly being below the <see cref="DecayThreshold"/>
/// </summary>
[DataField("decayingPointMultiplier")]
public float DecayingPointMultiplier = 0.75f;
public float GrowingPointMultiplier = 1.5f;
#endregion
/// <summary>
@@ -238,6 +231,24 @@ public sealed class AnomalyComponent : Component
/// </summary>
[DataField("anomalyContactDamageSound")]
public SoundSpecifier AnomalyContactDamageSound = new SoundPathSpecifier("/Audio/Effects/lightburn.ogg");
#region Floating Animation
/// <summary>
/// How long it takes to go from the bottom of the animation to the top.
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
[DataField("animationTime")]
public readonly float AnimationTime = 2f;
/// <summary>
/// How far it goes in any direction.
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
[DataField("offset")]
public readonly Vector2 FloatingOffset = (0, 0.15f);
public readonly string AnimationKey = "anomalyfloat";
#endregion
}
[Serializable, NetSerializable]
@@ -260,14 +271,10 @@ public sealed class AnomalyComponentState : ComponentState
/// <summary>
/// Event raised at regular intervals on an anomaly to do whatever its effect is.
/// </summary>
/// <param name="Stabiltiy"></param>
/// <param name="Stability"></param>
/// <param name="Severity"></param>
[ByRefEvent]
public readonly record struct AnomalyPulseEvent(float Stabiltiy, float Severity)
{
public readonly float Stabiltiy = Stabiltiy;
public readonly float Severity = Severity;
}
public readonly record struct AnomalyPulseEvent(float Stability, float Severity);
/// <summary>
/// Event raised on an anomaly when it reaches a supercritical point.