Add space heaters (#25250)
This commit is contained in:
18
Resources/Locale/en-US/components/space-heater-component.ftl
Normal file
18
Resources/Locale/en-US/components/space-heater-component.ftl
Normal file
@@ -0,0 +1,18 @@
|
||||
comp-space-heater-ui-thermostat = Thermostat:
|
||||
comp-space-heater-ui-mode = Mode
|
||||
comp-space-heater-ui-status-disabled = Off
|
||||
comp-space-heater-ui-status-enabled = On
|
||||
comp-space-heater-ui-increase-temperature-range = +
|
||||
comp-space-heater-ui-decrease-temperature-range = -
|
||||
|
||||
comp-space-heater-mode-Auto = Auto
|
||||
comp-space-heater-mode-Heat = Heat
|
||||
comp-space-heater-mode-Cool = Cool
|
||||
|
||||
comp-space-heater-ui-power-consumption = Power level:
|
||||
comp-space-heater-ui-Low-power-consumption = Low
|
||||
comp-space-heater-ui-Medium-power-consumption = Medium
|
||||
comp-space-heater-ui-High-power-consumption = High
|
||||
|
||||
comp-space-heater-device-name = space heater
|
||||
comp-space-heater-unanchored = The {$device} is not anchored.
|
||||
@@ -38,6 +38,7 @@ wires-board-name-windoor = Windoor Control
|
||||
wires-board-name-mech = Mech
|
||||
wires-board-name-fatextractor = FatExtractor
|
||||
wires-board-name-flatpacker = Flatpacker
|
||||
wires-board-name-spaceheater = Space Heater
|
||||
|
||||
# names that get displayed in the wire hacking hud & admin logs.
|
||||
|
||||
|
||||
@@ -451,7 +451,7 @@
|
||||
id: PortableScrubberMachineCircuitBoard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: portable scrubber machine board
|
||||
description: A PCB for a portable scrubber.
|
||||
description: A machine printed circuit board for a portable scrubber.
|
||||
components:
|
||||
- type: Sprite
|
||||
state: engineering
|
||||
@@ -464,6 +464,22 @@
|
||||
Cable: 5
|
||||
Glass: 2
|
||||
|
||||
- type: entity
|
||||
id: SpaceHeaterMachineCircuitBoard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: space heater machine board
|
||||
description: A machine printed circuit board for a space heater.
|
||||
components:
|
||||
- type: Sprite
|
||||
state: engineering
|
||||
- type: MachineBoard
|
||||
prototype: SpaceHeater
|
||||
requirements:
|
||||
MatterBin: 1
|
||||
Capacitor: 2
|
||||
materialRequirements:
|
||||
Cable: 5
|
||||
|
||||
- type: entity
|
||||
id: CloningPodMachineCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
|
||||
@@ -390,6 +390,7 @@
|
||||
- ThermomachineFreezerMachineCircuitBoard
|
||||
- HellfireFreezerMachineCircuitBoard
|
||||
- PortableScrubberMachineCircuitBoard
|
||||
- SpaceHeaterMachineCircuitBoard
|
||||
- CloningPodMachineCircuitboard
|
||||
- MedicalScannerMachineCircuitboard
|
||||
- CryoPodMachineCircuitboard
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
- type: entity
|
||||
id: PortableScrubber
|
||||
parent: BaseStructureDynamic
|
||||
parent: [BaseMachinePowered, ConstructibleMachine]
|
||||
name: portable scrubber
|
||||
description: It scrubs, portably!
|
||||
components:
|
||||
- type: Transform
|
||||
noRot: true
|
||||
- type: InteractionOutline
|
||||
anchored: false
|
||||
- type: Physics
|
||||
bodyType: Dynamic
|
||||
canCollide: false
|
||||
- type: AtmosDevice
|
||||
joinSystem: true
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
@@ -34,9 +34,6 @@
|
||||
shader: unshaded
|
||||
visible: false
|
||||
map: ["enum.PortableScrubberVisualLayers.IsDraining"]
|
||||
- type: Pullable
|
||||
- type: AtmosDevice
|
||||
joinSystem: true
|
||||
- type: PortableScrubber
|
||||
gasMixture:
|
||||
volume: 1250
|
||||
@@ -49,7 +46,6 @@
|
||||
volume: 1
|
||||
- type: ApcPowerReceiver
|
||||
powerLoad: 2000
|
||||
- type: ExtensionCableReceiver
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
@@ -94,13 +90,109 @@
|
||||
min: 1
|
||||
max: 3
|
||||
SheetGlass1:
|
||||
min: 1
|
||||
max: 2
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
|
||||
- type: entity
|
||||
id: SpaceHeater
|
||||
parent: [BaseMachinePowered, ConstructibleMachine]
|
||||
name: space heater
|
||||
description: A bluespace technology device that alters local temperature. Commonly referred to as a "Space Heater".
|
||||
suffix: Unanchored
|
||||
components:
|
||||
- type: Transform
|
||||
anchored: false
|
||||
- type: Physics
|
||||
bodyType: Dynamic
|
||||
- type: AtmosDevice
|
||||
joinSystem: true
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.15,-0.35,0.15,0.5"
|
||||
density: 100
|
||||
mask:
|
||||
- MachineMask
|
||||
layer:
|
||||
- MachineLayer
|
||||
- type: ApcPowerReceiver
|
||||
powerDisabled: true #starts off
|
||||
- type: Sprite
|
||||
sprite: Structures/Piping/Atmospherics/Portable/portable_sheater.rsi
|
||||
noRot: true
|
||||
layers:
|
||||
- state: sheaterOff
|
||||
map: ["enum.SpaceHeaterVisualLayers.Main"]
|
||||
- state: sheaterPanelOpen
|
||||
map: [ "enum.WiresVisualLayers.MaintenancePanel" ]
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.SpaceHeaterVisuals.State:
|
||||
SpaceHeaterVisualLayers.Main:
|
||||
Off: { state: sheaterOff }
|
||||
StandBy: { state: sheaterStandby }
|
||||
Heating: { state: sheaterHeat }
|
||||
Cooling: { state: sheaterCool }
|
||||
- type: Machine
|
||||
board: SpaceHeaterMachineCircuitBoard
|
||||
- type: WiresPanel
|
||||
- type: WiresVisuals
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.SpaceHeaterUiKey.Key
|
||||
type: SpaceHeaterBoundUserInterface
|
||||
- type: ActivatableUI
|
||||
inHandsOnly: false
|
||||
key: enum.SpaceHeaterUiKey.Key
|
||||
- type: SpaceHeater
|
||||
- type: GasThermoMachine
|
||||
temperatureTolerance: 0.2
|
||||
atmospheric: true
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Metallic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 600
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 300
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
collection: MetalBreak
|
||||
- !type:SpawnEntitiesBehavior
|
||||
spawn:
|
||||
SheetSteel1:
|
||||
min: 1
|
||||
max: 3
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: CollideOnAnchor
|
||||
enable: true
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
machine_board: !type:Container
|
||||
machine_parts: !type:Container
|
||||
|
||||
- type: entity
|
||||
parent: SpaceHeater
|
||||
id: SpaceHeaterAnchored
|
||||
suffix: Anchored
|
||||
components:
|
||||
- type: Transform
|
||||
anchored: true
|
||||
- type: Physics
|
||||
bodyType: Static
|
||||
|
||||
- type: entity
|
||||
parent: SpaceHeaterAnchored
|
||||
id: SpaceHeaterEnabled
|
||||
suffix: Anchored, Enabled
|
||||
components:
|
||||
- type: ApcPowerReceiver
|
||||
powerDisabled: false
|
||||
@@ -156,6 +156,16 @@
|
||||
Glass: 900
|
||||
Gold: 50
|
||||
|
||||
- type: latheRecipe
|
||||
id: SpaceHeaterMachineCircuitBoard
|
||||
result: SpaceHeaterMachineCircuitBoard
|
||||
category: Circuitry
|
||||
completetime: 4
|
||||
materials:
|
||||
Steel: 150
|
||||
Glass: 900
|
||||
Gold: 50
|
||||
|
||||
- type: latheRecipe
|
||||
id: MedicalScannerMachineCircuitboard
|
||||
result: MedicalScannerMachineCircuitboard
|
||||
|
||||
@@ -160,6 +160,7 @@
|
||||
recipeUnlocks:
|
||||
- HellfireFreezerMachineCircuitBoard
|
||||
- PortableScrubberMachineCircuitBoard
|
||||
- SpaceHeaterMachineCircuitBoard
|
||||
- HolofanProjector
|
||||
|
||||
- type: technology
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/ead7e05f990de05b7f5f93d39f9671498cb0aa01",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "sheaterOff"
|
||||
},
|
||||
{
|
||||
"name": "sheaterCool",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sheaterHeat",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sheaterPanelOpen"
|
||||
},
|
||||
{
|
||||
"name": "sheaterStandby"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 994 B |
Binary file not shown.
|
After Width: | Height: | Size: 911 B |
Binary file not shown.
|
After Width: | Height: | Size: 5.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 187 B |
Binary file not shown.
|
After Width: | Height: | Size: 338 B |
Reference in New Issue
Block a user