[DataField("outputPressure"), ViewVariables(VVAccess.ReadWrite)]
public float OutputPressure = DefaultOutputPressure;
+ /// <summary>
+ /// The maximum allowed output pressure.
+ /// </summary>
+ [DataField("maxOutputPressure"), ViewVariables(VVAccess.ReadWrite)]
+ public float MaxOutputPressure = 3 * DefaultOutputPressure;
+
/// <summary>
/// Tank is connected to internals.
/// </summary>
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)