Add radiators (#18728)

* Add radiators

* Limit heat transfer to fluid heat capacity

* Adjust datafield names

* Fix material arbitrage

* This code has been debugged, and so there are no more bugs. Debugging code is therefore unnecessary

* Adjust radiator layer subfloor visibility

* Cache CVars

* No default

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Like and unsubscribe

* Fix CVar caching

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
Kevin Zheng
2023-08-06 01:21:05 -07:00
committed by GitHub
parent d13de403dd
commit db5dee6db3
10 changed files with 250 additions and 0 deletions

View File

@@ -379,3 +379,45 @@
acts: ["Destruction"]
- type: Machine
board: GasRecyclerMachineCircuitboard
- type: entity
parent: GasBinaryBase
id: HeatExchanger
name: radiator
description: Transfers heat between the pipe and its surroundings.
placement:
mode: SnapgridCenter
components:
- type: Rotatable
- type: Transform
noRot: false
- type: Sprite
sprite: Structures/Piping/Atmospherics/heatexchanger.rsi
layers:
- sprite: Structures/Piping/Atmospherics/pipe.rsi
state: pipeStraight
map: [ "enum.PipeVisualLayers.Pipe" ]
- state: heStraight
map: [ "enum.SubfloorLayers.FirstLayer" ]
- type: SubFloorHide
visibleLayers:
- enum.SubfloorLayers.FirstLayer
- type: Appearance
- type: PipeColorVisuals
- type: AtmosDevice
- type: HeatExchanger
- type: NodeContainer
nodes:
inlet:
!type:PipeNode
nodeGroupID: Pipe
pipeDirection: North
outlet:
!type:PipeNode
nodeGroupID: Pipe
pipeDirection: South
- type: Construction
graph: GasBinary
node: radiator
- type: StaticPrice
price: 50

View File

@@ -46,6 +46,12 @@
amount: 2
doAfter: 1
- to: radiator
steps:
- material: Steel
amount: 8
doAfter: 1
- node: pressurepump
entity: GasPressurePump
edges:
@@ -159,3 +165,21 @@
doAfter: 1
- tool: Welding
doAfter: 1
- node: radiator
entity: HeatExchanger
edges:
- to: start
conditions:
- !type:EntityAnchored
anchored: false
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 8
- !type:DeleteEntity
steps:
- tool: Screwing
doAfter: 1
- tool: Welding
doAfter: 1

View File

@@ -663,6 +663,22 @@
conditions:
- !type:TileNotBlocked {}
- type: construction
id: HeatExchanger
name: radiator
description: Transfers heat between the pipe and its surroundings.
graph: GasBinary
startNode: start
targetNode: radiator
category: construction-category-utilities
placementMode: SnapgridCenter
canBuildInImpassable: false
icon:
sprite: Structures/Piping/Atmospherics/heatexchanger.rsi
state: heStraight
conditions:
- !type:TileNotBlocked {}
# ATMOS TRINARY
- type: construction
id: GasFilter