* Remove SpreaderNodeGroup * Fix airtight updates * more smoke stuff * more smoke fixes * wtf is smoke code * Fix merge * Fix divide by zero
45 lines
1.2 KiB
C#
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;
|
|
|
|
}
|