diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml index 902f35e048..cb2bc2f6ea 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml @@ -26,7 +26,7 @@ name: air vent description: Has a valve and a pump attached to it. placement: - mode: SnapgridCenter + mode: AlignAtmosPipeLayers # Funky components: - type: ApcPowerReceiver - type: ExtensionCableReceiver @@ -78,6 +78,11 @@ guides: - AirVent - DeviceMonitoringAndControl + - type: AtmosPipeLayers # Funky + alternativePrototypes: + Primary: GasVentPump + Secondary: GasVentPumpAlt1 + Tertiary: GasVentPumpAlt2 - type: entity parent: GasUnaryBase @@ -85,7 +90,7 @@ name: passive vent description: It's an open vent. placement: - mode: SnapgridCenter + mode: AlignAtmosPipeLayers # Funky components: - type: SubFloorHide visibleLayers: @@ -110,6 +115,11 @@ - type: GuideHelp guides: - PassiveVent + - type: AtmosPipeLayers # Funky + alternativePrototypes: + Primary: GasPassiveVent + Secondary: GasPassiveVentAlt1 + Tertiary: GasPassiveVentAlt2 - type: entity parent: [GasUnaryBase, AirSensorBase] @@ -117,7 +127,7 @@ name: air scrubber description: Has a valve and pump attached to it. placement: - mode: SnapgridCenter + mode: AlignAtmosPipeLayers # Funky components: - type: ApcPowerReceiver - type: ExtensionCableReceiver @@ -169,6 +179,11 @@ guides: - AirScrubber - DeviceMonitoringAndControl + - type: AtmosPipeLayers # Funky + alternativePrototypes: + Primary: GasVentScrubber + Secondary: GasVentScrubberAlt1 + Tertiary: GasVentScrubberAlt2 - type: entity parent: GasUnaryBase @@ -176,7 +191,7 @@ name: air injector description: Has a valve and pump attached to it. placement: - mode: SnapgridCenter + mode: AlignAtmosPipeLayers # Funky components: - type: Sprite drawdepth: FloorObjects @@ -213,6 +228,11 @@ - type: GuideHelp guides: - AirInjector + - type: AtmosPipeLayers # Funky + alternativePrototypes: + Primary: GasOutletInjector + Secondary: GasOutletInjectorAlt1 + Tertiary: GasOutletInjectorAlt2 - type: entity parent: [ BaseMachinePowered, ConstructibleMachine ] diff --git a/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/freezer.yml b/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/freezer.yml index f3c75eb737..4c5310eaa1 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/freezer.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/freezer.yml @@ -14,10 +14,22 @@ - type: entity parent: [AirSensorFreezerBase, GasVentPump] id: GasVentPumpFreezer + components: + - type: AtmosPipeLayers # Funky + alternativePrototypes: + Primary: GasVentPumpFreezer + Secondary: GasVentPumpFreezerAlt1 + Tertiary: GasVentPumpFreezerAlt2 - type: entity parent: [AirSensorFreezerBase, GasVentScrubber] id: GasVentScrubberFreezer + components: + - type: AtmosPipeLayers # Funky + alternativePrototypes: + Primary: GasVentScrubberFreezer + Secondary: GasVentScrubberFreezerAlt1 + Tertiary: GasVentScrubberFreezerAlt2 # air alarm proto with auto: false to prevent the automatic switching of modes overriding the default values - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/vox.yml b/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/vox.yml index a13d376042..43b1b21821 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/vox.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Atmospherics/vox.yml @@ -23,6 +23,12 @@ - type: entity parent: [AirSensorVoxBase, GasVentPump] id: GasVentPumpVox + components: + - type: AtmosPipeLayers # Funky + alternativePrototypes: + Primary: GasVentPumpVox + Secondary: GasVentPumpVoxAlt1 + Tertiary: GasVentPumpVoxAlt2 - type: entity parent: [AirSensorVoxBase, GasVentScrubber] @@ -39,6 +45,11 @@ - Ammonia - NitrousOxide - Frezon + - type: AtmosPipeLayers # Funky + alternativePrototypes: + Primary: GasVentScrubberVox + Secondary: GasVentScrubberVoxAlt1 + Tertiary: GasVentScrubberVoxAlt2 # use this to prevent overriding filters with hardcoded defaults - type: entity diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/atmos_unary.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/atmos_unary.yml index b643af8d53..044d9fcec8 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/atmos_unary.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/atmos_unary.yml @@ -27,6 +27,56 @@ - material: Steel amount: 2 doAfter: 1 + + # Begin Funky changes + - to: ventpumpAlt1 + steps: + - material: Steel + amount: 2 + doAfter: 1 + + - to: ventpumpAlt2 + steps: + - material: Steel + amount: 2 + doAfter: 1 + + - to: passiveventAlt1 + steps: + - material: Steel + amount: 2 + doAfter: 1 + + - to: passiveventAlt2 + steps: + - material: Steel + amount: 2 + doAfter: 1 + + - to: ventscrubberAlt1 + steps: + - material: Steel + amount: 2 + doAfter: 1 + + - to: ventscrubberAlt2 + steps: + - material: Steel + amount: 2 + doAfter: 1 + + - to: outletinjectorAlt1 + steps: + - material: Steel + amount: 2 + doAfter: 1 + + - to: outletinjectorAlt2 + steps: + - material: Steel + amount: 2 + doAfter: 1 + # End Funky changes - node: ventpump entity: GasVentPump @@ -97,3 +147,145 @@ steps: - tool: Welding doAfter: 1 + + # Begin Funky changes + - node: ventpumpAlt1 + entity: GasVentPumpAlt1 + edges: + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 1 + + - node: ventpumpAlt2 + entity: GasVentPumpAlt2 + edges: + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 1 + + - node: passiveventAlt1 + entity: GasPassiveVentAlt1 + edges: + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 1 + + - node: passiveventAlt2 + entity: GasPassiveVentAlt2 + edges: + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 1 + + - node: ventscrubberAlt1 + entity: GasVentScrubberAlt1 + edges: + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 1 + + - node: ventscrubberAlt2 + entity: GasVentScrubberAlt2 + edges: + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 1 + + - node: outletinjectorAlt1 + entity: GasOutletInjectorAlt1 + edges: + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + + - node: outletinjectorAlt2 + entity: GasOutletInjectorAlt2 + edges: + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 2 + - !type:DeleteEntity + steps: + - tool: Welding + doAfter: 1 + # End Funky changes diff --git a/Resources/Prototypes/Recipes/Construction/utilities.yml b/Resources/Prototypes/Recipes/Construction/utilities.yml index ee82d72529..8826708481 100644 --- a/Resources/Prototypes/Recipes/Construction/utilities.yml +++ b/Resources/Prototypes/Recipes/Construction/utilities.yml @@ -534,10 +534,14 @@ startNode: start targetNode: ventpump category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category - placementMode: SnapgridCenter + placementMode: AlignAtmosPipeLayers # Funky canBuildInImpassable: false conditions: - !type:NoUnstackableInTile + alternativePrototypes: # Funky + - GasVentPump + - GasVentPumpAlt1 + - GasVentPumpAlt2 - type: construction id: GasPassiveVent @@ -545,10 +549,14 @@ startNode: start targetNode: passivevent category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category - placementMode: SnapgridCenter + placementMode: AlignAtmosPipeLayers # Funky canBuildInImpassable: false conditions: - !type:NoUnstackableInTile + alternativePrototypes: # Funky + - GasPassiveVent + - GasPassiveVentAlt1 + - GasPassiveVentAlt2 - type: construction id: GasVentScrubber @@ -556,10 +564,14 @@ startNode: start targetNode: ventscrubber category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category - placementMode: SnapgridCenter + placementMode: AlignAtmosPipeLayers # Funky canBuildInImpassable: false conditions: - !type:NoUnstackableInTile + alternativePrototypes: # Funky + - GasVentScrubber + - GasVentScrubberAlt1 + - GasVentScrubberAlt2 - type: construction id: GasOutletInjector @@ -567,10 +579,14 @@ startNode: start targetNode: outletinjector category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category - placementMode: SnapgridCenter + placementMode: AlignAtmosPipeLayers # Funky canBuildInImpassable: false conditions: - !type:NoUnstackableInTile + alternativePrototypes: # Funky + - GasOutletInjector + - GasOutletInjectorAlt1 + - GasOutletInjectorAlt2 # ATMOS BINARY - type: construction diff --git a/Resources/Prototypes/_Funkystation/Entities/Structures/Piping/Atmospherics/alt_layers.yml b/Resources/Prototypes/_Funkystation/Entities/Structures/Piping/Atmospherics/alt_layers.yml new file mode 100644 index 0000000000..cdaa1d25ac --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Structures/Piping/Atmospherics/alt_layers.yml @@ -0,0 +1,160 @@ +# SPDX-FileCopyrightText: 2025 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 McBosserson +# SPDX-FileCopyrightText: 2025 Tay +# SPDX-FileCopyrightText: 2025 marc-pelletier <113944176+marc-pelletier@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com> +# SPDX-FileCopyrightText: 2026 Steve +# +# SPDX-License-Identifier: AGPL-3.0-or-later AND MIT + +# Gas Unary Devices +- type: entity + parent: [GasPipeLayerAlt1, GasVentPump] + id: GasVentPumpAlt1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt1 + sprite: Structures/Piping/Atmospherics/vent.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt1.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: vent_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventpumpAlt1 + +- type: entity + parent: [GasPipeLayerAlt2, GasVentPump] + id: GasVentPumpAlt2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt2 + sprite: Structures/Piping/Atmospherics/vent.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt2.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: vent_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventpumpAlt2 + +- type: entity + parent: [GasPipeLayerAlt1, GasPassiveVent] + id: GasPassiveVentAlt1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt1 + sprite: Structures/Piping/Atmospherics/vent.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt1.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: vent_passive + map: [ "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: passiveventAlt1 + +- type: entity + parent: [GasPipeLayerAlt2, GasPassiveVent] + id: GasPassiveVentAlt2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt2 + sprite: Structures/Piping/Atmospherics/vent.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt2.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: vent_passive + map: [ "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: passiveventAlt2 + +- type: entity + parent: [GasPipeLayerAlt1, GasVentScrubber] + id: GasVentScrubberAlt1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt1 + sprite: Structures/Piping/Atmospherics/scrubber.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt1.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: scrub_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventscrubberAlt1 + +- type: entity + parent: [GasPipeLayerAlt2, GasVentScrubber] + id: GasVentScrubberAlt2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt2 + sprite: Structures/Piping/Atmospherics/scrubber.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt2.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: scrub_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventscrubberAlt2 + +- type: entity + parent: [GasPipeLayerAlt1, GasOutletInjector] + id: GasOutletInjectorAlt1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt1 + sprite: Structures/Piping/Atmospherics/outletinjector.rsi + layers: + - state: pipeUnaryConnectors + sprite: Structures/Piping/Atmospherics/pipe_alt1.rsi + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: injector + map: [ "enum.SubfloorLayers.FirstLayer" ] + - state: injector-unshaded + shader: unshaded + map: [ "enum.LightLayers.Unshaded" ] + color: "#990000" + - type: Construction + node: outletinjectorAlt1 + +- type: entity + parent: [GasPipeLayerAlt2, GasOutletInjector] + id: GasOutletInjectorAlt2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt2 + sprite: Structures/Piping/Atmospherics/outletinjector.rsi + layers: + - state: pipeUnaryConnectors + sprite: Structures/Piping/Atmospherics/pipe_alt2.rsi + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: injector + map: [ "enum.SubfloorLayers.FirstLayer" ] + - state: injector-unshaded + shader: unshaded + map: [ "enum.LightLayers.Unshaded" ] + color: "#990000" + - type: Construction + node: outletinjectorAlt2 diff --git a/Resources/Prototypes/_Funkystation/Entities/Structures/Specific/Atmospherics/freezer.yml b/Resources/Prototypes/_Funkystation/Entities/Structures/Specific/Atmospherics/freezer.yml new file mode 100644 index 0000000000..4a94353073 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Structures/Specific/Atmospherics/freezer.yml @@ -0,0 +1,80 @@ +# SPDX-FileCopyrightText: 2025 Josh Hilsberg +# SPDX-FileCopyrightText: 2025 Tay +# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 taydeo +# +# SPDX-License-Identifier: AGPL-3.0-or-later AND MIT + +# Air vent variations +- type: entity + parent: [GasPipeLayerAlt1, GasVentPumpFreezer] + id: GasVentPumpFreezerAlt1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt1 + sprite: Structures/Piping/Atmospherics/vent.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt1.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: vent_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventpumpAlt1 + +- type: entity + parent: [GasPipeLayerAlt2, GasVentPumpFreezer] + id: GasVentPumpFreezerAlt2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt2 + sprite: Structures/Piping/Atmospherics/vent.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt2.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: vent_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventpumpAlt2 + +# Scrubber variations +- type: entity + parent: [GasPipeLayerAlt1, GasVentScrubberFreezer] + id: GasVentScrubberFreezerAlt1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt1 + sprite: Structures/Piping/Atmospherics/scrubber.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt1.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: scrub_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventscrubberAlt1 + +- type: entity + parent: [GasPipeLayerAlt2, GasVentScrubberFreezer] + id: GasVentScrubberFreezerAlt2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt2 + sprite: Structures/Piping/Atmospherics/scrubber.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt2.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: scrub_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventscrubberAlt2 diff --git a/Resources/Prototypes/_Funkystation/Entities/Structures/Specific/Atmospherics/vox.yml b/Resources/Prototypes/_Funkystation/Entities/Structures/Specific/Atmospherics/vox.yml new file mode 100644 index 0000000000..3811f6ad08 --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Entities/Structures/Specific/Atmospherics/vox.yml @@ -0,0 +1,82 @@ +# SPDX-FileCopyrightText: 2024 Tadeo +# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org> +# SPDX-FileCopyrightText: 2025 Josh Hilsberg +# SPDX-FileCopyrightText: 2025 Steve +# SPDX-FileCopyrightText: 2025 marc-pelletier <113944176+marc-pelletier@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 taydeo +# +# SPDX-License-Identifier: AGPL-3.0-or-later AND MIT + +# Air vent variations +- type: entity + parent: [GasPipeLayerAlt1, GasVentPumpVox] + id: GasVentPumpVoxAlt1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt1 + sprite: Structures/Piping/Atmospherics/vent.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt1.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: vent_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventpumpAlt1 + +- type: entity + parent: [GasPipeLayerAlt2, GasVentPumpVox] + id: GasVentPumpVoxAlt2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt2 + sprite: Structures/Piping/Atmospherics/vent.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt2.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: vent_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventpumpAlt2 + +# Scrubber variations +- type: entity + parent: [GasPipeLayerAlt1, GasVentScrubberVox] + id: GasVentScrubberVoxAlt1 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt1 + sprite: Structures/Piping/Atmospherics/scrubber.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt1.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: scrub_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventscrubberAlt1 + +- type: entity + parent: [GasPipeLayerAlt2, GasVentScrubberVox] + id: GasVentScrubberVoxAlt2 + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: ThinPipeAlt2 + sprite: Structures/Piping/Atmospherics/scrubber.rsi + noRot: true + layers: + - sprite: Structures/Piping/Atmospherics/pipe_alt2.rsi + state: pipeUnaryConnectors + map: [ "enum.PipeVisualLayers.Pipe" ] + - state: scrub_off + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: Construction + node: ventscrubberAlt2 diff --git a/Resources/Prototypes/_Funkystation/Recipes/Construction/utilities.yml b/Resources/Prototypes/_Funkystation/Recipes/Construction/utilities.yml new file mode 100644 index 0000000000..7014ad282c --- /dev/null +++ b/Resources/Prototypes/_Funkystation/Recipes/Construction/utilities.yml @@ -0,0 +1,179 @@ +# SPDX-FileCopyrightText: 2018 Pieter-Jan Briers +# SPDX-FileCopyrightText: 2019 Swept <49448379+SweptWasTaken@users.noreply.github.com> +# SPDX-FileCopyrightText: 2020 AJCM-git <60196617+AJCM-git@users.noreply.github.com> +# SPDX-FileCopyrightText: 2020 Hugo Laloge +# SPDX-FileCopyrightText: 2020 Pieter-Jan Briers +# SPDX-FileCopyrightText: 2020 VĂ­ctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com> +# SPDX-FileCopyrightText: 2020 py01 <60152240+collinlunn@users.noreply.github.com> +# SPDX-FileCopyrightText: 2020 py01 +# SPDX-FileCopyrightText: 2021 Julian Giebel +# SPDX-FileCopyrightText: 2021 Swept +# SPDX-FileCopyrightText: 2022 Flipp Syder <76629141+vulppine@users.noreply.github.com> +# SPDX-FileCopyrightText: 2022 Jack Fox <35575261+DubiousDoggo@users.noreply.github.com> +# SPDX-FileCopyrightText: 2022 Julian Giebel +# SPDX-FileCopyrightText: 2022 Martin Petkovski <63034378+martin69420@users.noreply.github.com> +# SPDX-FileCopyrightText: 2022 Morb <14136326+Morb0@users.noreply.github.com> +# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com> +# SPDX-FileCopyrightText: 2022 eoineoineoin +# SPDX-FileCopyrightText: 2022 vulppine +# SPDX-FileCopyrightText: 2023 08A +# SPDX-FileCopyrightText: 2023 20kdc +# SPDX-FileCopyrightText: 2023 ChilbroBaggins <107660393+ChilbroBaggins@users.noreply.github.com> +# SPDX-FileCopyrightText: 2023 Jeff +# SPDX-FileCopyrightText: 2023 Kevin Zheng +# SPDX-FileCopyrightText: 2023 Skarletto <122584947+Skarletto@users.noreply.github.com> +# SPDX-FileCopyrightText: 2023 Slava0135 <40753025+Slava0135@users.noreply.github.com> +# SPDX-FileCopyrightText: 2023 Tom Leys +# SPDX-FileCopyrightText: 2023 avery <51971268+graevy@users.noreply.github.com> +# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com> +# SPDX-FileCopyrightText: 2023 deltanedas <39013340+deltanedas@users.noreply.github.com> +# SPDX-FileCopyrightText: 2023 deltanedas <@deltanedas:kde.org> +# SPDX-FileCopyrightText: 2023 metalgearsloth +# SPDX-FileCopyrightText: 2024 Hreno +# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com> +# SPDX-FileCopyrightText: 2024 NazrinNya <137837419+NazrinNya@users.noreply.github.com> +# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com> +# SPDX-FileCopyrightText: 2024 Piras314 +# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com> +# SPDX-FileCopyrightText: 2024 Tadeo +# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> +# SPDX-FileCopyrightText: 2024 plykiya +# SPDX-FileCopyrightText: 2025 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 McBosserson +# SPDX-FileCopyrightText: 2025 Tay +# SPDX-FileCopyrightText: 2025 marc-pelletier <113944176+marc-pelletier@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com> +# SPDX-FileCopyrightText: 2025 taydeo +# SPDX-FileCopyrightText: 2026 Steve +# +# SPDX-License-Identifier: AGPL-3.0-or-later AND MIT + +# ATMOS UNARY +- type: construction + id: GasVentPumpAlt1 + hide: true + graph: GasUnary + startNode: start + targetNode: ventpumpAlt1 + category: construction-category-atmospherics + placementMode: AlignAtmosPipeLayers + canBuildInImpassable: false + conditions: + - !type:NoUnstackableInTile + alternativePrototypes: + - GasVentPump + - GasVentPumpAlt1 + - GasVentPumpAlt2 + +- type: construction + id: GasVentPumpAlt2 + hide: true + graph: GasUnary + startNode: start + targetNode: ventpumpAlt2 + category: construction-category-atmospherics + placementMode: AlignAtmosPipeLayers + canBuildInImpassable: false + conditions: + - !type:NoUnstackableInTile + alternativePrototypes: + - GasVentPump + - GasVentPumpAlt1 + - GasVentPumpAlt2 + +- type: construction + id: GasPassiveVentAlt1 + hide: true + graph: GasUnary + startNode: start + targetNode: passiveventAlt1 + category: construction-category-atmospherics + placementMode: AlignAtmosPipeLayers + canBuildInImpassable: false + conditions: + - !type:NoUnstackableInTile + alternativePrototypes: + - GasPassiveVent + - GasPassiveVentAlt1 + - GasPassiveVentAlt2 + +- type: construction + id: GasPassiveVentAlt2 + hide: true + graph: GasUnary + startNode: start + targetNode: passiveventAlt2 + category: construction-category-atmospherics + placementMode: AlignAtmosPipeLayers + canBuildInImpassable: false + conditions: + - !type:NoUnstackableInTile + alternativePrototypes: + - GasPassiveVent + - GasPassiveVentAlt1 + - GasPassiveVentAlt2 + +- type: construction + id: GasVentScrubberAlt1 + hide: true + graph: GasUnary + startNode: start + targetNode: ventscrubberAlt1 + category: construction-category-atmospherics + placementMode: AlignAtmosPipeLayers + canBuildInImpassable: false + conditions: + - !type:NoUnstackableInTile + alternativePrototypes: + - GasVentScrubber + - GasVentScrubberAlt1 + - GasVentScrubberAlt2 + +- type: construction + id: GasVentScrubberAlt2 + hide: true + graph: GasUnary + startNode: start + targetNode: ventscrubberAlt2 + category: construction-category-atmospherics + placementMode: AlignAtmosPipeLayers + canBuildInImpassable: false + conditions: + - !type:NoUnstackableInTile + alternativePrototypes: + - GasVentScrubber + - GasVentScrubberAlt1 + - GasVentScrubberAlt2 + +- type: construction + id: GasOutletInjectorAlt1 + hide: true + graph: GasUnary + startNode: start + targetNode: outletinjectorAlt1 + category: construction-category-atmospherics + placementMode: AlignAtmosPipeLayers + canBuildInImpassable: false + conditions: + - !type:NoUnstackableInTile + alternativePrototypes: + - GasOutletInjector + - GasOutletInjectorAlt1 + - GasOutletInjectorAlt2 + +- type: construction + id: GasOutletInjectorAlt2 + hide: true + graph: GasUnary + startNode: start + targetNode: outletinjectorAlt2 + category: construction-category-atmospherics + placementMode: AlignAtmosPipeLayers + canBuildInImpassable: false + conditions: + - !type:NoUnstackableInTile + alternativePrototypes: + - GasOutletInjector + - GasOutletInjectorAlt1 + - GasOutletInjectorAlt2