Atmos pipe rework (#3833)
* Initial * Cleanup a bunch of things * some changes dunno * RequireAnchored * a * stuff * more work * Lots of progress * delete pipe visualizer * a * b * pipenet and pipenode cleanup * Fixes * Adds GasValve * Adds GasMiner * Fix stuff, maybe? * More fixes * Ignored components on the client * Adds thermomachine behavior, change a bunch of stuff * Remove Anchored * some work, but it's shitcode * significantly more ECS * ECS AtmosDevices * Cleanup * fix appearance * when the pipe direction is sus * Gas tanks and canisters * pipe anchoring and stuff * coding is my passion * Unsafe pipes take longer to unanchor * turns out we're no longer using eris canisters * Gas canister inserted tank appearance, improvements * Work on a bunch of appearances * Scrubber appearance * Reorganize AtmosphereSystem.Piping into a bunch of different systems * Appearance for vent/scrubber/pump turns off when leaving atmosphere * ThermoMachine appearance * Cleanup gas tanks * Remove passive gate unused imports * remove old canister UI functionality * PipeNode environment air, make everything use AssumeAir instead of merging manually * a * Reorganize atmos to follow new structure * ????? * Canister UI, restructure client * Restructure shared * Fix build tho * listen, at least the canister UI works entirely... * fix build : ) * Atmos device prototypes have names and descriptions * gas canister ui slider doesn't jitter * trinary prototypes * sprite for miners * ignore components * fix YAML * Fix port system doing useless thing * Fix build * fix thinking moment * fix build again because * canister direction * pipenode is a word * GasTank Air will throw on invalid states * fix build.... * Unhardcode volume pump thresholds * Volume pump and filter take time into account * Rename Join/Leave atmosphere events to AtmosDeviceEnabled/Disabled Event * Gas tank node volume is set by initial mixtuer * I love node container
This commit is contained in:
committed by
GitHub
parent
cfc3f2e7fc
commit
a2b737d945
@@ -0,0 +1,133 @@
|
||||
- type: entity
|
||||
parent: GasPipeBase
|
||||
abstract: true
|
||||
id: GasBinaryBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: AtmosDevice
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
inlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: North
|
||||
outlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
|
||||
- type: entity
|
||||
parent: GasBinaryBase
|
||||
id: GasPressurePump
|
||||
name: gas pump
|
||||
description: A pump that moves gas by pressure.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/pump.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeStraight
|
||||
- state: pumpPressure
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: PressurePumpVisualizer
|
||||
enabledState: pumpPressureOn
|
||||
- type: GasPressurePump
|
||||
|
||||
- type: entity
|
||||
parent: GasBinaryBase
|
||||
id: GasVolumePump
|
||||
name: volumetric gas pump
|
||||
description: A pump that moves gas by volume.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/pump.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeStraight
|
||||
- state: pumpVolume
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasVolumePump
|
||||
|
||||
- type: entity
|
||||
parent: GasBinaryBase
|
||||
id: GasPassiveGate
|
||||
name: passive gate
|
||||
description: A one-way air valve that does not require power.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/pump.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeStraight
|
||||
- state: pumpPassiveGate
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasPassiveGate
|
||||
|
||||
- type: entity
|
||||
parent: GasBinaryBase
|
||||
id: GasValve
|
||||
name: manual valve
|
||||
description: A pipe with a valve that can be used to disable the flow of gas through it.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
# TODO ATMOS: Give unique sprite.
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/pump.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeStraight
|
||||
- state: pumpPassiveGate
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasValve
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
pipe:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: Longitudinal
|
||||
|
||||
- type: entity
|
||||
parent: GasBinaryBase
|
||||
id: GasPort
|
||||
name: connector port
|
||||
description: For connecting portable devices related to atmospherics control.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/gascanisterport.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeHalf
|
||||
- state: gasCanisterPort
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasPort
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
connected:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: SPBend
|
||||
@@ -1,6 +1,6 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: GasCanisterBase
|
||||
id: GasCanister
|
||||
name: gas canister
|
||||
description: A canister that can contain any type of gas. It can be attached to connector ports using a wrench.
|
||||
parent: BaseConstructibleDynamic
|
||||
@@ -8,6 +8,39 @@
|
||||
- type: InteractionOutline
|
||||
- type: SnapGrid
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/canister.rsi
|
||||
state: grey
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: GasPortableVisualizer
|
||||
stateConnected: can-connector
|
||||
- type: GasCanisterVisualizer
|
||||
insertedTankState: can-open
|
||||
pressureStates:
|
||||
- can-o0
|
||||
- can-o1
|
||||
- can-o2
|
||||
- can-o3
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.GasCanisterUiKey.Key
|
||||
type: GasCanisterBoundUserInterface
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 300
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound: /Audio/Effects/metalbreak.ogg
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
GasCanisterBrokenBase:
|
||||
min: 1
|
||||
max: 1
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: Damageable
|
||||
resistances: metallicResistances
|
||||
- type: Physics
|
||||
@@ -15,7 +48,7 @@
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.5,-0.25,0.5,0.25"
|
||||
bounds: "-0.25,-0.25,0.25,0.25"
|
||||
mass: 25
|
||||
mask:
|
||||
- MobImpassable
|
||||
@@ -24,54 +57,36 @@
|
||||
- MobImpassable
|
||||
- SmallImpassable
|
||||
- VaultImpassable
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: AtmosDevice
|
||||
requireAnchored: false
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
GasCanisterTankHolder: !type:ContainerSlot {}
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
port:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: Connector
|
||||
connectionsEnabled: false
|
||||
needAnchored: false
|
||||
rotationsEnabled: false
|
||||
volume: 1000
|
||||
tank:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: None
|
||||
needAnchored: false
|
||||
connectToContainedEntities: false
|
||||
environmentalAir: true
|
||||
rotationsEnabled: false
|
||||
volume: 1
|
||||
- type: GasPortable
|
||||
- type: GasCanister
|
||||
- type: UserInterface
|
||||
- type: Appearance
|
||||
|
||||
- type: entity
|
||||
parent: GasCanisterBase
|
||||
id: GasCanister
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/canister.rsi
|
||||
state: grey
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: GasCanisterVisualizer
|
||||
stateConnected: can-connector
|
||||
pressureStates:
|
||||
- can-o0
|
||||
- can-o1
|
||||
- can-o2
|
||||
- can-o3
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.GasCanisterUiKey.Key
|
||||
type: GasCanisterBoundUserInterface
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 300
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound: /Audio/Effects/metalbreak.ogg
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
GasCanisterBrokenBase:
|
||||
min: 1
|
||||
max: 1
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: GasPassiveGate
|
||||
enabled: false
|
||||
inlet: port
|
||||
outlet: tank
|
||||
|
||||
- type: entity
|
||||
parent: GasCanister
|
||||
@@ -1,44 +0,0 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: GasCanisterPortBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
- type: SnapGrid
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/gascanisterport.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeHalf
|
||||
- state: gasCanisterPort
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: GasCanisterPort
|
||||
- type: PipeNetDevice
|
||||
|
||||
- type: entity
|
||||
parent: GasCanisterPortBase
|
||||
id: GasCanisterPort
|
||||
name: Gas Canister Port
|
||||
description: "Connect a gas canister here to release gasses into a system."
|
||||
components:
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
pipe:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
@@ -1,57 +0,0 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: GasFilterBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
- type: SnapGrid
|
||||
- type: Damageable
|
||||
resistances: metallicResistances
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/gasfilter.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeTJunction
|
||||
- state: gasFilter
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasFilterVisualizer
|
||||
- type: PipeNetDevice
|
||||
|
||||
- type: entity
|
||||
parent: GasFilterBase
|
||||
id: GasFilter
|
||||
name: gas filter
|
||||
description: It filters gases.
|
||||
components:
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
inlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: West
|
||||
filter:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
outlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: East
|
||||
- type: GasFilter
|
||||
inletDirection: West
|
||||
filterOutletDirection: South
|
||||
outletDirection: East
|
||||
@@ -1,47 +0,0 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: GasGeneratorBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
bodyType: Static
|
||||
fixtures:
|
||||
- shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.5,-0.5,0.5,0.5"
|
||||
layer:
|
||||
- Impassable
|
||||
- MobImpassable
|
||||
- VaultImpassable
|
||||
- Opaque
|
||||
mask:
|
||||
- Impassable
|
||||
- MobImpassable
|
||||
- VaultImpassable
|
||||
- type: SnapGrid
|
||||
- type: GasGenerator
|
||||
- type: PipeNetDevice
|
||||
|
||||
- type: entity
|
||||
parent: GasGeneratorBase
|
||||
id: GasGenerator
|
||||
name: gas generator
|
||||
description: Fabricates gas.
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/gasgenerator.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeFourway
|
||||
- state: gasGenerator
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
pipe:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: Fourway
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
- type: entity
|
||||
id: Heater
|
||||
name: heater
|
||||
description: Heats gas.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
- type: SnapGrid
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/heater.rsi
|
||||
layers:
|
||||
- state: heater
|
||||
- state: heaterPipe
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
inlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: East
|
||||
- type: PipeHeater
|
||||
- type: PipeNetDevice
|
||||
@@ -0,0 +1,87 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
name: gas miner
|
||||
description: Gases mined from the gas giant below (above?) flow out through this massive vent.
|
||||
id: GasMinerBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
- type: SnapGrid
|
||||
- type: Damageable
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/miners.rsi
|
||||
state: miner
|
||||
- type: AtmosDevice
|
||||
- type: GasMiner
|
||||
|
||||
- type: entity
|
||||
name: O2 gas miner
|
||||
parent: GasMinerBase
|
||||
id: GasMinerOxygen
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: GasMiner
|
||||
spawnGas: Oxygen
|
||||
|
||||
- type: entity
|
||||
name: N2 gas miner
|
||||
parent: GasMinerBase
|
||||
id: GasMinerNitrogen
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: GasMiner
|
||||
spawnGas: Nitrogen
|
||||
|
||||
- type: entity
|
||||
name: CO2 gas miner
|
||||
parent: GasMinerBase
|
||||
id: GasMinerCarbonDioxide
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: GasMiner
|
||||
spawnGas: CarbonDioxide
|
||||
|
||||
- type: entity
|
||||
name: Plasma gas miner
|
||||
parent: GasMinerBase
|
||||
id: GasMinerPlasma
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: GasMiner
|
||||
spawnGas: Plasma
|
||||
|
||||
- type: entity
|
||||
name: Tritium gas miner
|
||||
parent: GasMinerBase
|
||||
id: GasMinerTritium
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: GasMiner
|
||||
spawnGas: Tritium
|
||||
|
||||
- type: entity
|
||||
name: Water Vapor gas miner
|
||||
parent: GasMinerBase
|
||||
id: GasMinerWaterVapor
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: GasMiner
|
||||
spawnGas: WaterVapor
|
||||
@@ -1,6 +1,6 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: PipeBase
|
||||
id: GasPipeBase
|
||||
name: pipe
|
||||
description: Holds gas.
|
||||
placement:
|
||||
@@ -11,6 +11,9 @@
|
||||
- type: Physics
|
||||
- type: SnapGrid
|
||||
- type: Damageable
|
||||
- type: Anchorable
|
||||
- type: Rotatable
|
||||
- type: Pullable
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
@@ -20,19 +23,20 @@
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Sprite
|
||||
sprite: Constructible/Atmos/pipe.rsi
|
||||
drawdepth: BelowFloor
|
||||
netsync: false
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeVisualizer
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: Icon
|
||||
sprite: Constructible/Atmos/pipe.rsi
|
||||
- type: NodeContainer
|
||||
- type: AtmosUnsafeUnanchor
|
||||
|
||||
#Note: The PipeDirection of the PipeNode should be the south-facing version, because the entity starts at an angle of 0 (east)
|
||||
#Note: The PipeDirection of the PipeNode should be the south-facing version, because the entity starts at an angle of 0 (south)
|
||||
|
||||
- type: entity
|
||||
parent: PipeBase
|
||||
id: PipeHalf
|
||||
parent: GasPipeBase
|
||||
id: GasPipeHalf
|
||||
suffix: Half
|
||||
components:
|
||||
- type: NodeContainer
|
||||
@@ -41,12 +45,12 @@
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
- type: Icon
|
||||
- type: Sprite
|
||||
state: pipeHalf
|
||||
|
||||
- type: entity
|
||||
parent: PipeBase
|
||||
id: PipeStraight
|
||||
parent: GasPipeBase
|
||||
id: GasPipeStraight
|
||||
suffix: Straight
|
||||
components:
|
||||
- type: NodeContainer
|
||||
@@ -55,12 +59,12 @@
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: Longitudinal
|
||||
- type: Icon
|
||||
- type: Sprite
|
||||
state: pipeStraight
|
||||
|
||||
- type: entity
|
||||
parent: PipeBase
|
||||
id: PipeBend
|
||||
parent: GasPipeBase
|
||||
id: GasPipeBend
|
||||
suffix: Bend
|
||||
components:
|
||||
- type: NodeContainer
|
||||
@@ -69,12 +73,12 @@
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: SWBend
|
||||
- type: Icon
|
||||
- type: Sprite
|
||||
state: pipeBend
|
||||
|
||||
- type: entity
|
||||
parent: PipeBase
|
||||
id: PipeTJunction
|
||||
parent: GasPipeBase
|
||||
id: GasPipeTJunction
|
||||
suffix: TJunction
|
||||
components:
|
||||
- type: NodeContainer
|
||||
@@ -83,12 +87,12 @@
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: TSouth
|
||||
- type: Icon
|
||||
- type: Sprite
|
||||
state: pipeTJunction
|
||||
|
||||
- type: entity
|
||||
parent: PipeBase
|
||||
id: PipeFourway
|
||||
parent: GasPipeBase
|
||||
id: GasPipeFourway
|
||||
suffix: Fourway
|
||||
components:
|
||||
- type: NodeContainer
|
||||
@@ -97,5 +101,5 @@
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: Fourway
|
||||
- type: Icon
|
||||
- type: Sprite
|
||||
state: pipeFourway
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: PumpBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
- type: SnapGrid
|
||||
- type: Damageable
|
||||
resistances: metallicResistances
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/pump.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeStraight
|
||||
- state: pumpPressure
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: PumpVisualizer
|
||||
- type: PipeNetDevice
|
||||
|
||||
- type: entity
|
||||
parent: PumpBase
|
||||
id: DebugPressurePump
|
||||
name: pressure pump
|
||||
suffix: DEBUG
|
||||
components:
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
inlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: North
|
||||
outlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
- type: PressurePump
|
||||
initialInletDirection: North
|
||||
initialOutletDirection: South
|
||||
@@ -1,47 +0,0 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: ScrubberBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
- type: SnapGrid
|
||||
- type: Damageable
|
||||
resistances: metallicResistances
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/scrubber.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeHalf
|
||||
- state: scrubOff
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: SiphonVisualizer
|
||||
- type: PipeNetDevice
|
||||
|
||||
- type: entity
|
||||
parent: ScrubberBase
|
||||
id: Scrubber
|
||||
name: scrubber
|
||||
description: Scrubs unwanted gasses out of the air.
|
||||
components:
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
pipe:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
- type: PressureSiphon
|
||||
scrubberOutletDirection: South
|
||||
@@ -0,0 +1,66 @@
|
||||
- type: entity
|
||||
parent: GasPipeBase
|
||||
abstract: true
|
||||
id: GasTrinaryBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: AtmosDevice
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
inlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: North
|
||||
filter:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: East
|
||||
outlet:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
|
||||
- type: entity
|
||||
parent: GasTrinaryBase
|
||||
id: GasFilter
|
||||
name: gas filter
|
||||
description: Very useful for filtering gases.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
# TODO ATMOS Improve this sprite and appearance...
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/gasfilter.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeTJunction
|
||||
- state: gasFilter
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasFilter
|
||||
|
||||
- type: entity
|
||||
parent: GasTrinaryBase
|
||||
id: GasMixer
|
||||
name: gas mixer
|
||||
description: Very useful for mixing gases.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
# TODO ATMOS Give this its actual sprite...
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/gasfilter.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeTJunction
|
||||
- state: gasFilter
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasMixer
|
||||
inletOne: inlet
|
||||
inletTwo: filter
|
||||
@@ -0,0 +1,152 @@
|
||||
- type: entity
|
||||
parent: GasPipeBase
|
||||
abstract: true
|
||||
id: GasUnaryBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: AtmosDevice
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
pipe:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
|
||||
- type: entity
|
||||
parent: GasUnaryBase
|
||||
id: GasVentPump
|
||||
name: air vent
|
||||
description: Has a valve and a pump attached to it.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/vent.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeHalf
|
||||
- state: vent_off
|
||||
map: ["enum.VentVisualLayers.Vent"]
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: VentPumpVisualizer
|
||||
- type: GasVentPump
|
||||
|
||||
- type: entity
|
||||
parent: GasUnaryBase
|
||||
id: GasPassiveVent
|
||||
name: passive vent
|
||||
description: It is an open vent.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
# TODO ATMOS: Find sprite for this.
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/vent.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeHalf
|
||||
- state: vent_off
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasPassiveVent
|
||||
|
||||
- type: entity
|
||||
parent: GasUnaryBase
|
||||
id: GasVentScrubber
|
||||
name: air scrubber
|
||||
description: Has a valve and pump attached to it.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/scrubber.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeHalf
|
||||
- state: scrub_off
|
||||
map: ["enum.ScrubberVisualLayers.Scrubber"]
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: ScrubberVisualizer
|
||||
- type: AtmosDevice
|
||||
- type: GasVentScrubber
|
||||
|
||||
- type: entity
|
||||
parent: GasUnaryBase
|
||||
id: GasOutletInjector
|
||||
name: air injector
|
||||
description: Has a valve and pump attached to it.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: GasOutletInjector
|
||||
# TODO ATMOS: Actual sprite for this.
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeHalf
|
||||
|
||||
|
||||
- type: entity
|
||||
parent: GasUnaryBase
|
||||
id: GasThermoMachineBase
|
||||
name: thermomachine
|
||||
description: Heats or cools gas in connected pipes.
|
||||
abstract: true
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/thermomachine.rsi
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: GasThermoMachine
|
||||
|
||||
- type: entity
|
||||
parent: GasThermoMachineBase
|
||||
id: GasThermoMachineFreezer
|
||||
name: freezer
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: freezer_off
|
||||
- state: pipe
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: ThermoMachineVisualizer
|
||||
enabledState: freezer_on
|
||||
- type: GasThermoMachine
|
||||
mode: Freezer
|
||||
minTemperature: 73.15
|
||||
|
||||
- type: entity
|
||||
parent: GasThermoMachineBase
|
||||
id: GasThermoMachineHeater
|
||||
name: heater
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: heater_off
|
||||
- state: pipe
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: ThermoMachineVisualizer
|
||||
enabledState: heater_on
|
||||
- type: GasThermoMachine
|
||||
mode: Heater
|
||||
maxTemperature: 573.15 # This is changed when parts are refreshed.
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: VentBase
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
- type: SnapGrid
|
||||
- type: Damageable
|
||||
resistances: metallicResistances
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Constructible/Atmos/vent.rsi
|
||||
layers:
|
||||
- sprite: Constructible/Atmos/pipe.rsi
|
||||
state: pipeHalf
|
||||
- state: ventOff
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PipeConnectorVisualizer
|
||||
- type: VentVisualizer
|
||||
- type: PipeNetDevice
|
||||
|
||||
- type: entity
|
||||
parent: VentBase
|
||||
id: Vent
|
||||
name: vent
|
||||
description: A vent that releases gas.
|
||||
components:
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
pipe:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: South
|
||||
- type: PressureVent
|
||||
ventInletDirection: South
|
||||
@@ -13,6 +13,15 @@
|
||||
- type: Clothing
|
||||
sprite: Objects/Tanks/generic.rsi
|
||||
QuickEquip: false
|
||||
- type: NodeContainer
|
||||
nodes:
|
||||
tank:
|
||||
!type:PipeNode
|
||||
nodeGroupID: Pipe
|
||||
pipeDirection: None
|
||||
connectionsEnabled: false
|
||||
needAnchored: false
|
||||
rotationsEnabled: false
|
||||
- type: GasTank
|
||||
- type: ItemActions
|
||||
actions:
|
||||
|
||||
Reference in New Issue
Block a user