Files
tbd-station-14/Content.Server/Spreader/KudzuComponent.cs
Leon Friedrich fc034dd9d1 Remove SpreaderNodeGroup (#20230)
* Remove SpreaderNodeGroup

* Fix airtight updates

* more smoke stuff

* more smoke fixes

* wtf is smoke code

* Fix merge

* Fix divide by zero
2023-10-01 16:56:41 -04:00

45 lines
1.2 KiB
C#

using Content.Shared.Damage;
namespace Content.Server.Spreader;
/// <summary>
/// Handles entities that spread out when they reach the relevant growth level.
/// </summary>
[RegisterComponent]
public sealed partial class KudzuComponent : Component
{
/// <summary>
/// At level 3 spreading can occur; prior to that we have a chance of increasing our growth level and changing our sprite.
/// </summary>
[DataField]
public int GrowthLevel = 1;
/// <summary>
/// Chance to spread whenever an edge spread is possible.
/// </summary>
[DataField("spreadChance")]
public float SpreadChance = 1f;
/// <summary>
/// How much damage is required to reduce growth level
/// </summary>
[DataField("growthHealth")]
public float GrowthHealth = 10.0f;
/// <summary>
/// How much damage is required to prevent growth
/// </summary>
[DataField("growthBlock")]
public float GrowthBlock = 20.0f;
/// <summary>
/// How much the kudzu heals each tick
/// </summary>
[DataField("damageRecovery")]
public DamageSpecifier? DamageRecovery = null;
[DataField("growthTickChance")]
public float GrowthTickChance = 1f;
}