1
0

ThermalRegulatorComponent.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Content.Server.Body.Systems;
  2. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
  3. namespace Content.Server.Body.Components;
  4. [RegisterComponent]
  5. [Access(typeof(ThermalRegulatorSystem))]
  6. public sealed partial class ThermalRegulatorComponent : Component
  7. {
  8. /// <summary>
  9. /// The next time that the body will regulate its heat.
  10. /// </summary>
  11. [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
  12. public TimeSpan NextUpdate;
  13. /// <summary>
  14. /// The interval at which thermal regulation is processed.
  15. /// </summary>
  16. [DataField]
  17. public TimeSpan UpdateInterval = TimeSpan.FromSeconds(1);
  18. /// <summary>
  19. /// Heat generated due to metabolism. It's generated via metabolism
  20. /// </summary>
  21. [DataField]
  22. public float MetabolismHeat;
  23. /// <summary>
  24. /// Heat output via radiation.
  25. /// </summary>
  26. [DataField]
  27. public float RadiatedHeat;
  28. /// <summary>
  29. /// Maximum heat regulated via sweat
  30. /// </summary>
  31. [DataField]
  32. public float SweatHeatRegulation;
  33. /// <summary>
  34. /// Maximum heat regulated via shivering
  35. /// </summary>
  36. [DataField]
  37. public float ShiveringHeatRegulation;
  38. /// <summary>
  39. /// Amount of heat regulation that represents thermal regulation processes not
  40. /// explicitly coded.
  41. /// </summary>
  42. [DataField]
  43. public float ImplicitHeatRegulation;
  44. /// <summary>
  45. /// Normal body temperature
  46. /// </summary>
  47. [DataField]
  48. public float NormalBodyTemperature;
  49. /// <summary>
  50. /// Deviation from normal temperature for body to start thermal regulation
  51. /// </summary>
  52. [DataField]
  53. public float ThermalRegulationTemperatureThreshold;
  54. }