Add high pressure machine frame rsi (#4950)

Implement Disposal machine construction graph and recepie
Restore eris disposal unit

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Julian Giebel
2021-10-27 12:54:12 +02:00
committed by GitHub
parent a12eb29464
commit 5b74811f28
22 changed files with 272 additions and 8 deletions

View File

@@ -0,0 +1,48 @@
- type: entity
id: DisposalMachineFrame
name: High Pressure Machine Frame
description: A machine frame made to withstand the amount of pressure used in the station's disposal system.
placement:
mode: SnapgridCenter
components:
- type: Transform
anchored: true
- type: Physics
bodyType: Static
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.4,0.25,0.4"
mass: 25
layer:
- Impassable
- MobImpassable
- VaultImpassable
- Opaque
mask:
- Impassable
- MobImpassable
- VaultImpassable
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Pullable
- type: Construction
graph: disposalMachine
node: frame
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 100
behaviors:
- !type:ChangeConstructionNodeBehavior
node: start
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Sprite
sprite: Structures/Piping/high_pressure_machine_frame.rsi
state: frame

View File

@@ -72,6 +72,9 @@
parent: DisposalUnitBase
name: disposal unit
components:
- type: Construction
graph: disposalMachine
node: disposal_unit
- type: DisposalUnit
flushTime: 2
- type: UserInterface

View File

@@ -0,0 +1,166 @@
- type: constructionGraph
id: disposalMachine
start: start
graph:
- node: start
edges:
- to: frame
steps:
- material: Steel
amount: 1
doAfter: 1
- node: frame
entity: DisposalMachineFrame
actions:
- !type:SpriteChange
specifier:
sprite: /Textures/Structures/Piping/high_pressure_machine_frame.rsi
state: frame
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 1
- !type:DeleteEntity {}
steps:
- tool: Screwing
doAfter: 1
- to: frame_cable
steps:
- material: Cable
amount: 2
doAfter: 1
- node: frame_cable
entity: DisposalMachineFrame
actions:
- !type:SpriteStateChange
state: "frame_cables"
edges:
- to: frame
completed:
- !type:SpawnPrototype
prototype: CableApcStack1
amount: 2
steps:
- tool: Cutting
doAfter: 1
- to: frame_electronics
steps:
- material: Plastic # No machine parts = sad julian
amount: 2
doAfter: 1
- node: frame_electronics
entity: DisposalMachineFrame
actions:
- !type:SpriteStateChange
state: "frame_electronics"
edges:
- to: frame_cable
completed:
- !type:SpawnPrototype
prototype: SheetPlastic
amount: 2
steps:
- tool: Cutting
doAfter: 1
- to: frame_unit
steps:
- tool: Screwing
doAfter: 0.25
#- to: frame_mailing
# steps:
# - ... # 1x mailing unit electronics
# amount: 1
# - tool: Screwing
# doAfter: 0.25
- node: frame_unit
entity: DisposalMachineFrame
actions:
- !type:SpriteStateChange
state: "frame_unit"
edges:
- to: frame_inlet
steps:
- tool: Screwing
doAfter: 0.25
- to: disposal_unit
conditions:
- !type:EntityAnchored {}
steps:
- material: Steel
amount: 1
doAfter: 1
- node: disposal_unit
entity: DisposalUnit
edges:
- to: frame_unit
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 1
conditions:
- !type:EntityAnchored {}
steps:
- tool: Prying
doAfter: 1
- node: frame_inlet
entity: DisposalMachineFrame
actions:
- !type:SpriteStateChange
state: "frame_inlet"
edges:
- to: frame_outlet
steps:
- tool: Screwing
doAfter: 0.25
# - to: disposal_inlet
# conditions:
# - !type:EntityAnchored {}
# steps:
# - material: Steel
# amount: 1
# doAfter: 1
#- node: disposal_inlet
# entity: DisposalInlet
# edges:
# - to: frame_inlet
# completed:
# - !type:SpawnPrototype
# prototype: SheetSteel1
# amount: 1
# conditions:
# - !type:EntityAnchored {}
# steps:
# - tool: Prying
# doAfter: 1
- node: frame_outlet
entity: DisposalMachineFrame
actions:
- !type:SpriteStateChange
state: "frame_outlet"
edges:
- to: frame_electronics
steps:
- tool: Screwing
doAfter: 0.25
# - to: disposal_outlet
# conditions:
# - !type:EntityAnchored {}
# steps:
# - material: Steel
# amount: 1
# doAfter: 1
#- node: disposal_outlet
# entity: DisposalOutlet
# edges:
# - to: frame_outlet
# completed:
# - !type:SpawnPrototype
# prototype: SheetSteel1
# amount: 1
# conditions:
# - !type:EntityAnchored {}
# steps:
# - tool: Prying
# doAfter: 1

View File

@@ -0,0 +1,12 @@
- type: construction
name: disposal unit
id: DisposalUnit
graph: disposalMachine
startNode: start
targetNode: disposal_unit
category: Disposal
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Piping/disposal.rsi
state: "disposal"