diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml index 65db4363e3..1981400c3d 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml @@ -52,6 +52,9 @@ - ForceNoFixRotations - type: PaintableAirlock group: Shuttle + - type: Construction + graph: AirlockShuttle + node: airlock - type: entity id: AirlockGlassShuttle @@ -87,3 +90,18 @@ group: ShuttleGlass - type: Door occludes: false + +- type: entity + id: AirlockShuttleAssembly + parent: AirlockAssembly + name: external airlock assembly + suffix: Docking + description: An incomplete structure necessary for connecting two space craft together. + components: + - type: Sprite + netsync: false + sprite: Structures/Doors/Airlocks/Glass/shuttle.rsi + state: closed + - type: Construction + graph: AirlockShuttle + node: assembly diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/shuttle.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/shuttle.yml new file mode 100644 index 0000000000..4f86dcd759 --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/shuttle.yml @@ -0,0 +1,156 @@ +- type: constructionGraph + id: AirlockShuttle + start: start + graph: + - node: start + edges: + - to: assembly + completed: + - !type:SetAnchor + value: false + steps: + - material: Plasteel + amount: 2 + doAfter: 2 + + - node: assembly + entity: AirlockShuttleAssembly + actions: +# - !type:SpriteStateChange +# state: assembly # TODO Need assembly sprite + - !type:SnapToGrid {} + - !type:SetAnchor {} + 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: 1 + - to: start + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Welding + doAfter: 3 + + - node: electronics + edges: + - to: wired + conditions: + - !type:EntityAnchored {} + steps: + - material: Cable + amount: 5 + doAfter: 2.5 + - to: assembly + completed: + - !type:EmptyAllContainers {} + steps: + - tool: Prying + doAfter: 1 + + - node: wired + edges: + - to: electronics + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 2 + - to: skeleton + conditions: + - !type:EntityAnchored {} + steps: + - material: Plasteel + amount: 2 + doAfter: 1 + + - node: skeleton + edges: + - to: skeletonWrenched + conditions: + - !type:EntityAnchored {} + steps: + - tool: Anchoring + doAfter: 2 + - to: wired + completed: + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + steps: + - tool: Prying + doAfter: 2 + + - node: skeletonWrenched + edges: + - to: skeletonWelded + conditions: + - !type:EntityAnchored {} + steps: + - tool: Welding + doAfter: 2 + - to: skeleton + steps: + - tool: Anchoring + doAfter: 2 + + - node: skeletonWelded + edges: + - to: skeletonSilver + conditions: + - !type:EntityAnchored {} + steps: + - material: Silver + amount: 2 + doAfter: 1 + - to: skeletonWrenched + steps: + - tool: Welding + doAfter: 2 + + - node: skeletonSilver + entity: AirlockShuttleAssembly + edges: + - to: airlock + conditions: + - !type:EntityAnchored {} + steps: + - tool: Screwing + doAfter: 2 + - to: skeletonWelded + completed: + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + steps: + - tool: Prying + doAfter: 2 + + - node: airlock + entity: AirlockShuttle + edges: + - to: skeletonSilver + conditions: + - !type:EntityAnchored {} + - !type:DoorWelded {} + - !type:AirlockBolted + value: false + - !type:WirePanel {} + steps: + - tool: Prying + doAfter: 5 diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index 3321dd74f7..884dbfd1fd 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -484,6 +484,24 @@ conditions: - !type:TileNotBlocked +- type: construction + name: shuttle airlock + id: AirlockShuttle + graph: AirlockShuttle + startNode: start + targetNode: airlock + category: construction-category-structures + description: It opens, it closes, and maybe crushes you. Necessary for connecting two space craft together. + icon: + sprite: Structures/Doors/Airlocks/Glass/shuttle.rsi + state: closed + # state: assembly + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - type: construction name: windoor id: Windoor diff --git a/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml b/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml index de5c2b4b6f..8387892770 100644 --- a/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml +++ b/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml @@ -9,5 +9,3 @@ name: plasteel icon: /Textures/Objects/Materials/Sheets/metal.rsi/plasteel.png spawn: SheetPlasteel1 - -