Airlock construction (#3609)
* Add construction and deconstsruction of airlocks * Change name to door electronics * Rearrange things * Fix errors * Fix physics error from bumping * Prevent editing the map for now * Address reviews * Change switch to if * Fix newlines
This commit is contained in:
107
Resources/Prototypes/Recipes/Construction/Graphs/airlock.yml
Normal file
107
Resources/Prototypes/Recipes/Construction/Graphs/airlock.yml
Normal file
@@ -0,0 +1,107 @@
|
||||
- type: constructionGraph
|
||||
id: airlock
|
||||
start: start
|
||||
graph:
|
||||
- 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: 1
|
||||
- to: start
|
||||
conditions:
|
||||
- !type:EntityAnchored
|
||||
anchored: false
|
||||
completed:
|
||||
- !type:SpawnPrototype
|
||||
prototype: SheetSteel1
|
||||
amount: 4
|
||||
- !type:DeleteEntity {}
|
||||
steps:
|
||||
- tool: Welding
|
||||
doAfter: 2
|
||||
|
||||
- node: wired
|
||||
entity: AirlockAssembly
|
||||
edges:
|
||||
- to: electronics
|
||||
conditions:
|
||||
- !type:EntityAnchored {}
|
||||
steps:
|
||||
- tag: DoorElectronics
|
||||
store: board
|
||||
name: "door electronics circuit board"
|
||||
icon:
|
||||
sprite: "Constructible/Misc/module.rsi"
|
||||
state: "door_electronics"
|
||||
doAfter: 1
|
||||
- to: assembly
|
||||
completed:
|
||||
- !type:SpawnPrototype
|
||||
prototype: ApcExtensionCableStack1
|
||||
amount: 5
|
||||
steps:
|
||||
- tool: Cutting
|
||||
doAfter: 1
|
||||
|
||||
- node: electronics
|
||||
edges:
|
||||
- to: airlock
|
||||
conditions:
|
||||
- !type:EntityAnchored {}
|
||||
steps:
|
||||
- tool: Screwing
|
||||
doAfter: 2
|
||||
|
||||
- node: airlock
|
||||
entity: Airlock
|
||||
edges:
|
||||
- to: wired
|
||||
conditions:
|
||||
- !type:EntityAnchored {}
|
||||
- !type:DoorWelded {}
|
||||
- !type:AirlockBolted
|
||||
value: false
|
||||
- !type:WirePanel {}
|
||||
- !type:ContainerNotEmpty # TODO ShadowCommander: Remove when map gets updated
|
||||
container: board
|
||||
completed:
|
||||
- !type:EmptyAllContainers {}
|
||||
steps:
|
||||
- tool: Prying
|
||||
doAfter: 1
|
||||
- to: wired # TODO ShadowCommander: Remove when board spawning is implemented in ServerDoorComponent.cs. Needs a map update.
|
||||
conditions:
|
||||
- !type:EntityAnchored {}
|
||||
- !type:DoorWelded {}
|
||||
- !type:AirlockBolted
|
||||
value: false
|
||||
- !type:WirePanel {}
|
||||
- !type:ContainerEmpty
|
||||
container: board
|
||||
completed:
|
||||
- !type:SpawnPrototype
|
||||
prototype: DoorElectronics
|
||||
steps:
|
||||
- tool: Prying
|
||||
doAfter: 1
|
||||
@@ -213,3 +213,20 @@
|
||||
canBuildInImpassable: false
|
||||
conditions:
|
||||
- !type:TileNotBlocked {}
|
||||
|
||||
- type: construction
|
||||
name: Airlock
|
||||
id: airlock
|
||||
graph: airlock
|
||||
startNode: start
|
||||
targetNode: airlock
|
||||
category: Structures
|
||||
description: It opens, it closes, and maybe crushes you.
|
||||
icon:
|
||||
sprite: Constructible/Structures/Doors/Standard/basic.rsi
|
||||
state: assembly
|
||||
objectType: Structure
|
||||
placementMode: SnapgridCenter
|
||||
canBuildInImpassable: false
|
||||
conditions:
|
||||
- !type:TileNotBlocked {}
|
||||
|
||||
Reference in New Issue
Block a user