From ccd503f8bb292407b6422fdb754021503b67bf45 Mon Sep 17 00:00:00 2001 From: Tom Leys Date: Fri, 19 May 2023 20:59:20 +1200 Subject: [PATCH] Cannot stack binary and trinary Atmos pumps and devices. 5x Filter rate boost (#16331) * Cannot stack binary and trinary Atmos pumps and devices - Filters now have a 5x max volume to compensate for no more stacking - Add flipped versions of mixers and filters to the list of constructables * Oi! No anchoring unstackables together! * Use EntityLookupSystem in Unstackable and Window lookup - Use static method for AnyUnstackableTiles --- .../Atmos/UI/GasFilterBoundUserInterface.cs | 2 - Content.Client/Atmos/UI/GasFilterWindow.xaml | 2 +- .../Construction/ConstructionSystem.cs | 30 ++++++++++-- .../Construction/AnchorableSystem.cs | 25 +++++++++- .../Conditions/NoUnstackableInTile.cs | 44 +++++++++++++++++ .../Conditions/NoWindowsInTile.cs | 3 +- .../conditions/no-unstackable-in-tile.ftl | 1 + .../Structures/Piping/Atmospherics/binary.yml | 3 ++ .../Piping/Atmospherics/trinary.yml | 11 +++++ .../Recipes/Construction/utilities.yml | 47 ++++++++++++++++++- Resources/Prototypes/tags.yml | 3 ++ 11 files changed, 159 insertions(+), 12 deletions(-) create mode 100644 Content.Shared/Construction/Conditions/NoUnstackableInTile.cs create mode 100644 Resources/Locale/en-US/construction/conditions/no-unstackable-in-tile.ftl diff --git a/Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs b/Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs index a0daf9c654..6c16881224 100644 --- a/Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs +++ b/Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs @@ -14,7 +14,6 @@ namespace Content.Client.Atmos.UI { private GasFilterWindow? _window; - private const float MaxTransferRate = Atmospherics.MaxTransferRate; public GasFilterBoundUserInterface(ClientUserInterfaceComponent owner, Enum uiKey) : base(owner, uiKey) { @@ -49,7 +48,6 @@ namespace Content.Client.Atmos.UI private void OnFilterTransferRatePressed(string value) { float rate = float.TryParse(value, out var parsed) ? parsed : 0f; - if (rate > MaxTransferRate) rate = MaxTransferRate; SendMessage(new GasFilterChangeRateMessage(rate)); } diff --git a/Content.Client/Atmos/UI/GasFilterWindow.xaml b/Content.Client/Atmos/UI/GasFilterWindow.xaml index 30333b07bd..6963a71d3d 100644 --- a/Content.Client/Atmos/UI/GasFilterWindow.xaml +++ b/Content.Client/Atmos/UI/GasFilterWindow.xaml @@ -9,7 +9,7 @@