Add pressure limit to gas tanks (#19879)
This commit is contained in:
@@ -47,6 +47,12 @@ namespace Content.Server.Atmos.Components
|
|||||||
[DataField("outputPressure"), ViewVariables(VVAccess.ReadWrite)]
|
[DataField("outputPressure"), ViewVariables(VVAccess.ReadWrite)]
|
||||||
public float OutputPressure = DefaultOutputPressure;
|
public float OutputPressure = DefaultOutputPressure;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The maximum allowed output pressure.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("maxOutputPressure"), ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public float MaxOutputPressure = 3 * DefaultOutputPressure;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tank is connected to internals.
|
/// Tank is connected to internals.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -69,7 +69,11 @@ namespace Content.Server.Atmos.EntitySystems
|
|||||||
|
|
||||||
private void OnGasTankSetPressure(EntityUid uid, GasTankComponent component, GasTankSetPressureMessage args)
|
private void OnGasTankSetPressure(EntityUid uid, GasTankComponent component, GasTankSetPressureMessage args)
|
||||||
{
|
{
|
||||||
component.OutputPressure = args.Pressure;
|
var pressure = Math.Min(args.Pressure, component.MaxOutputPressure);
|
||||||
|
|
||||||
|
component.OutputPressure = pressure;
|
||||||
|
|
||||||
|
UpdateUserInterface(component, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateUserInterface(GasTankComponent component, bool initialUpdate = false)
|
public void UpdateUserInterface(GasTankComponent component, bool initialUpdate = false)
|
||||||
|
|||||||
Reference in New Issue
Block a user