using Content.Server.Body.Systems; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Body.Components; [RegisterComponent] [Access(typeof(ThermalRegulatorSystem))] public sealed partial class ThermalRegulatorComponent : Component { /// /// The next time that the body will regulate its heat. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan NextUpdate; /// /// The interval at which thermal regulation is processed. /// [DataField] public TimeSpan UpdateInterval = TimeSpan.FromSeconds(1); /// /// Heat generated due to metabolism. It's generated via metabolism /// [DataField] public float MetabolismHeat; /// /// Heat output via radiation. /// [DataField] public float RadiatedHeat; /// /// Maximum heat regulated via sweat /// [DataField] public float SweatHeatRegulation; /// /// Maximum heat regulated via shivering /// [DataField] public float ShiveringHeatRegulation; /// /// Amount of heat regulation that represents thermal regulation processes not /// explicitly coded. /// [DataField] public float ImplicitHeatRegulation; /// /// Normal body temperature /// [DataField] public float NormalBodyTemperature; /// /// Deviation from normal temperature for body to start thermal regulation /// [DataField] public float ThermalRegulationTemperatureThreshold; }