namespace Content.Server.Atmos.Miasma { [RegisterComponent] /// /// This makes mobs eventually start rotting when they die. /// It may be expanded to food at some point, but it's just for mobs right now. /// public sealed class PerishableComponent : Component { /// /// Is this progressing? /// [ViewVariables(VVAccess.ReadWrite)] public bool Progressing = true; /// /// How long this creature has been dead. /// [DataField("deathAccumulator")] [ViewVariables(VVAccess.ReadWrite)] public float DeathAccumulator = 0f; /// /// When DeathAccumulator is greater than this, start rotting. /// public TimeSpan RotAfter = TimeSpan.FromMinutes(5); public bool Rotting => (DeathAccumulator > RotAfter.TotalSeconds); /// /// Gasses are released every second. /// [DataField("rotAccumulator")] public float RotAccumulator = 0f; /// /// How many moles of gas released per second, per unit of mass. /// [ViewVariables(VVAccess.ReadWrite)] [DataField("molsPerSecondPerUnitMass")] public float MolsPerSecondPerUnitMass = 0.0025f; } }