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;
}