namespace Content.Server._CP14.Temperature; /// /// A component that allows fire to spread to nearby objects. The basic mechanics of a spreading fire /// [RegisterComponent, Access(typeof(CP14FireSpreadSystem))] public sealed partial class CP14FireSpreadComponent : Component { /// /// radius of ignition of neighboring objects /// [DataField] public float Radius = 1f; /// /// chance of spreading to neighboring properties /// [DataField] public float Prob = 0.3f; /// /// chance of tile spreading to neighboring properties /// [DataField] public float ProbTile = 0.2f; /// /// how often objects will try to set the neighbors on fire. In Seconds /// [DataField] public float SpreadCooldownMin = 4f; /// /// how often objects will try to set the neighbors on fire. In Seconds /// [DataField] public float SpreadCooldownMax = 14f; /// /// the time of the next fire spread /// [DataField] public TimeSpan NextSpreadTime { get; set; } = TimeSpan.Zero; }