2021-11-30 18:25:02 -07:00
|
|
|
using Content.Server.Body.Systems;
|
2024-01-23 21:17:40 +01:00
|
|
|
using Content.Shared.Alert;
|
2021-11-30 18:25:02 -07:00
|
|
|
using Content.Shared.Atmos;
|
2022-02-10 17:53:10 +13:00
|
|
|
using Content.Shared.Chemistry.Components;
|
2024-05-23 22:43:04 -04:00
|
|
|
using Robust.Shared.Prototypes;
|
2021-11-30 18:25:02 -07:00
|
|
|
|
|
|
|
|
namespace Content.Server.Body.Components;
|
|
|
|
|
|
2022-06-07 15:26:28 +02:00
|
|
|
[RegisterComponent, Access(typeof(LungSystem))]
|
2023-08-22 18:14:33 -07:00
|
|
|
public sealed partial class LungComponent : Component
|
2021-11-30 18:25:02 -07:00
|
|
|
{
|
2023-12-29 04:47:43 -08:00
|
|
|
[DataField]
|
2022-06-07 15:26:28 +02:00
|
|
|
[Access(typeof(LungSystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
|
2024-03-28 01:48:37 +01:00
|
|
|
public GasMixture Air = new()
|
2021-11-30 18:25:02 -07:00
|
|
|
{
|
|
|
|
|
Volume = 6,
|
|
|
|
|
Temperature = Atmospherics.NormalBodyTemperature
|
|
|
|
|
};
|
|
|
|
|
|
2023-12-29 04:47:43 -08:00
|
|
|
/// <summary>
|
|
|
|
|
/// The name/key of the solution on this entity which these lungs act on.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
|
|
|
|
public string SolutionName = LungSystem.LungSolutionName;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The solution on this entity that these lungs act on.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
|
|
|
|
public Entity<SolutionComponent>? Solution = null;
|
2024-01-23 21:17:40 +01:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The type of gas this lung needs. Used only for the breathing alerts, not actual metabolism.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
2024-05-23 22:43:04 -04:00
|
|
|
public ProtoId<AlertPrototype> Alert = "LowOxygen";
|
2021-11-30 18:25:02 -07:00
|
|
|
}
|