From 2a3f1d2ae0e4390d9b2e3c2fe256a883b1d82a7f Mon Sep 17 00:00:00 2001 From: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com> Date: Sun, 8 May 2022 22:52:19 -0700 Subject: [PATCH] Glass airlock construction (#7877) * Lower indentation * Add glass airlock construction * Fix glass airlock wrong name --- .../Structures/Doors/Airlocks/airlocks.yml | 3 + .../Graphs/structures/airlock.yml | 210 +++++++++++------- 2 files changed, 131 insertions(+), 82 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml index 4f059888df..547a14cd4c 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml @@ -105,6 +105,9 @@ layer: #removed opaque from the layer, allowing lasers to pass through glass airlocks - Impassable - VaultImpassable + - type: Construction + graph: Airlock + node: glassAirlock - type: PaintableAirlock group: Windoor diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock.yml index 40f46aab13..e18e9e63cd 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/airlock.yml @@ -2,89 +2,135 @@ id: Airlock start: start graph: - - node: start - edges: - - to: assembly - completed: - - !type:SetAnchor - value: false - steps: - - material: Steel - amount: 4 - doAfter: 2 + - node: start + edges: + - to: assembly + completed: + - !type:SetAnchor + value: false + steps: + - material: Steel + amount: 4 + doAfter: 2 - - node: assembly - entity: AirlockAssembly - actions: - - !type:SpriteStateChange - state: assembly - - !type:SnapToGrid {} - - !type:SetAnchor {} - edges: - - to: wired - conditions: - - !type:EntityAnchored {} - steps: - - material: Cable - amount: 5 - doAfter: 2.5 - - to: start - conditions: - - !type:EntityAnchored - anchored: false - completed: - - !type:SpawnPrototype - prototype: SheetSteel1 - amount: 4 - - !type:DeleteEntity {} - steps: - - tool: Welding - doAfter: 3 + - node: assembly + entity: AirlockAssembly + actions: + - !type:SpriteStateChange + state: assembly + - !type:SnapToGrid {} + - !type:SetAnchor {} + edges: + - to: wired + conditions: + - !type:EntityAnchored {} + steps: + - material: Cable + amount: 5 + doAfter: 2.5 + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:DeleteEntity {} + steps: + - tool: Welding + doAfter: 3 - - node: wired - entity: AirlockAssembly - edges: - - to: electronics - conditions: - - !type:EntityAnchored {} - steps: - - tag: DoorElectronics - store: board - name: "door electronics circuit board" - icon: - sprite: "Objects/Misc/module.rsi" - state: "door_electronics" - doAfter: 3 - - to: assembly - completed: - - !type:SpawnPrototype - prototype: CableApcStack1 - amount: 5 - steps: - - tool: Cutting - doAfter: 2.5 + - node: wired + entity: AirlockAssembly + edges: + - to: electronics + conditions: + - !type:EntityAnchored {} + steps: + - tag: DoorElectronics + store: board + name: "door electronics circuit board" + icon: + sprite: "Objects/Misc/module.rsi" + state: "door_electronics" + doAfter: 3 + - to: assembly + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 2.5 - - node: electronics - edges: - - to: airlock - conditions: - - !type:EntityAnchored {} - steps: - - tool: Screwing - doAfter: 2.5 + - node: electronics + edges: + - to: airlock + conditions: + - !type:EntityAnchored {} + steps: + - tool: Screwing + doAfter: 2.5 + - to: glassElectronics + conditions: + - !type:EntityAnchored {} + steps: + - material: ReinforcedGlass + amount: 1 + doAfter: 2 - - node: airlock - entity: Airlock - edges: - - to: wired #TODO DOOR ELECTRONICS. If door electronics ever govern access permissions, this step should probably be further down? It makes it too easy to swap permissions around. See also windoor. - conditions: - - !type:EntityAnchored {} - - !type:DoorWelded {} - - !type:AirlockBolted - value: false - - !type:WirePanel {} - completed: - - !type:EmptyAllContainers {} - steps: - - tool: Prying - doAfter: 5 + - node: airlock + entity: Airlock + edges: + - to: wired #TODO DOOR ELECTRONICS. If door electronics ever govern access permissions, this step should probably be further down? It makes it too easy to swap permissions around. See also windoor. + conditions: + - !type:EntityAnchored {} + - !type:DoorWelded {} + - !type:AirlockBolted + value: false + - !type:WirePanel {} + completed: + - !type:EmptyAllContainers {} + steps: + - tool: Prying + doAfter: 5 + + - node: glassElectronics + entity: AirlockAssembly + edges: + - to: glassAirlock + conditions: + - !type:EntityAnchored {} + steps: + - material: ReinforcedGlass + amount: 1 + doAfter: 2 + - tool: Screwing + doAfter: 2.5 + - to: wired + conditions: + - !type:EntityAnchored {} + completed: + - !type:EmptyAllContainers {} + steps: + - tool: Prying + doAfter: 5 + + - node: glassAirlock + entity: AirlockGlass + edges: + - to: glassElectronics + conditions: + - !type:EntityAnchored {} + - !type:DoorWelded {} + - !type:AirlockBolted + value: false + - !type:WirePanel {} + completed: + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 1 + steps: + - tool: Prying + doAfter: 2