Shutter construction (#6427)

This commit is contained in:
Peptide90
2022-02-08 10:49:47 +00:00
committed by GitHub
parent 244e2e5a10
commit b5b63667c0
5 changed files with 251 additions and 1 deletions

View File

@@ -79,6 +79,9 @@
parent: BaseShutter
components:
- type: Occluder
- type: Construction
graph: Shutters
node: Shutters
- type: entity
id: ShuttersNormalOpen
@@ -87,6 +90,9 @@
components:
- type: Door
state: Open
- type: Construction
graph: Shutters
node: Shutters
- type: entity
id: ShuttersRadiation
@@ -101,6 +107,9 @@
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Occluder
- type: Construction
graph: Shutters
node: ShuttersRadiation
- type: entity
id: ShuttersRadiationOpen
@@ -109,6 +118,9 @@
components:
- type: Door
state: Open
- type: Construction
graph: Shutters
node: ShuttersRadiation
- type: entity
id: ShuttersWindow
@@ -122,6 +134,9 @@
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Construction
graph: Shutters
node: ShuttersWindow
- type: entity
id: ShuttersWindowOpen
@@ -130,3 +145,43 @@
components:
- type: Door
state: Open
- type: Construction
graph: Shutters
node: ShuttersWindow
# Frame for construction
- type: entity
id: ShuttersFrame
parent: BaseStructureDynamic
name: shutter frame
description: A frame for constructing a shutter.
components:
- type: Sprite
sprite: Structures/Doors/Shutters/shutters.rsi
state: frame
netsync: false
- type: Construction
graph: Shutters
node: frame1
- type: InteractionOutline
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Physics
bodyType: Dynamic
- type: Fixtures
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49"
mass: 50
layer:
- Opaque

View File

@@ -0,0 +1,179 @@
- type: constructionGraph
id: Shutters
start: start
graph:
- node: start
edges:
- to: frame1
completed:
- !type:SnapToGrid { }
steps:
- material: Steel
amount: 3
doAfter: 1
- node: frame1
entity: ShuttersFrame
edges:
- to: frame2
conditions:
- !type:EntityAnchored
anchored: true
steps:
- material: Cable
amount: 2
doAfter: 1
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 3
- !type:DeleteEntity {}
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tool: Welding
doAfter: 1
- node: frame2
edges:
- to: frame3
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tag: DoorElectronics
name: Door Electronics
icon:
sprite: "Objects/Misc/module.rsi"
state: "door_electronics"
- to: frame1
completed:
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 2
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tool: Cutting
doAfter: 1.5
- node: frame3
edges:
- to: frame4
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tool: Screwing
doAfter: 0.25
- node: frame4
edges:
- to: Shutters
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tool: Anchoring
doAfter: 1
- to: ShuttersWindowFrame
conditions:
- !type:EntityAnchored
anchored: true
steps:
- material: Glass
amount: 2
doAfter: 2
- to: ShuttersRadiationFrame
conditions:
- !type:EntityAnchored
anchored: true
steps:
- material: Steel
amount: 2
doAfter: 2
- to: frame2
completed:
- !type:SpawnPrototype
prototype: DoorElectronics
amount: 1
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tool: Screwing
doAfter: 0.75
- node: Shutters
entity: ShuttersNormalOpen
edges:
- to: frame4
conditions:
- !type:DoorWelded
welded: true
steps:
- tool: Anchoring
doAfter: 0.25
- node: ShuttersWindowFrame
edges:
- to: ShuttersWindow
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tool: Anchoring
doAfter: 1
- to: frame4
completed:
- !type:SpawnPrototype
prototype: SheetGlass1
amount: 2
steps:
- tool: Screwing
doAfter: 1
- node: ShuttersWindow
entity: ShuttersWindowOpen
edges:
- to: ShuttersWindowFrame
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tool: Anchoring
doAfter: 1
- node: ShuttersRadiationFrame
edges:
- to: ShuttersRadiation
conditions:
- !type:EntityAnchored
anchored: true
steps:
- tool: Anchoring
doAfter: 1
- to: frame4
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
steps:
- tool: Screwing
doAfter: 1
- node: ShuttersRadiation
entity: ShuttersRadiationOpen
edges:
- to: frame4
conditions:
- !type:DoorWelded
welded: true
steps:
- tool: Anchoring
doAfter: 0.25

View File

@@ -252,6 +252,22 @@
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
name: shutter
id: Shutters
graph: Shutters
startNode: start
targetNode: Shutters
category: Structures
description: This is a shutter - connect it to a button to open and close it.
icon:
sprite: Structures/Doors/Shutters/shutters.rsi
state: closed
objectType: Structure
placementMode: SnapgridCenter
canBuildInImpassable: true
- type: construction
name: catwalk

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

View File

@@ -1 +1 @@
{"name":1,"size":{"x":32,"y":32},"states":[{"name":"closing","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"opening","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"open","directions":1},{"name":"closed","directions":1}],"license":"CC-BY-SA-3.0","copyright":"Tgstation at 97b0.05295aca9f31a7500.0556e0.050730d05b5837e39fc","version":1}
{"name":1,"size":{"x":32,"y":32},"states":[{"name":"closing","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"opening","directions":1,"delays":[[0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05]]},{"name":"open","directions":1},{"name":"frame","directions":1},{"name":"closed","directions":1}],"license":"CC-BY-SA-3.0","copyright":"Tgstation at 97b0.05295aca9f31a7500.0556e0.050730d05b5837e39fc","version":1}