Technology Disks (#13077)

* clean up a bunch of R&D code

* don't store components

* brug

* speedrun some sloth review

* technology disks

* expand functionality, begin work on printer

* disk printer ui

* file

* fix the rebase

* disk console is finito

* Update DiskConsoleSystem.cs
This commit is contained in:
Nemanja
2022-12-20 17:39:57 -05:00
committed by GitHub
parent 88ed188b42
commit 050e157005
34 changed files with 659 additions and 151 deletions

View File

@@ -479,6 +479,7 @@
requiredTechnologies:
- BasicResearch
unlockedRecipes:
- TechDiskComputerCircuitboard
- CapacitorStockPart
- MatterBinStockPart
- MicroLaserStockPart

View File

@@ -146,6 +146,17 @@
- type: ComputerBoard
prototype: ComputerAnalysisConsole
- type: entity
parent: BaseComputerCircuitboard
id: TechDiskComputerCircuitboard
name: technology disk terminal board
description: A computer printed circuit board for a technology disk terminal.
components:
- type: Sprite
state: cpu_science
- type: ComputerBoard
prototype: ComputerTechnologyDiskTerminal
- type: entity
parent: BaseComputerCircuitboard
id: CrewMonitoringComputerCircuitboard

View File

@@ -36,3 +36,21 @@
components:
- type: ResearchDisk
unlockAllTech: true
- type: entity
parent: BaseItem
id: TechnologyDisk
name: technology disk
description: A disk for the R&D server containing research technology.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
layers:
- state: datadisk_base
map: ["enum.DamageStateVisualLayers.Base"]
- state: datadisk_label
- type: RandomSprite
available:
- enum.DamageStateVisualLayers.Base:
datadisk_base: Sixteen
- type: TechnologyDisk

View File

@@ -0,0 +1,41 @@
- type: entity
parent: BaseComputer
id: ComputerTechnologyDiskTerminal
name: technology disk terminal
description: A terminal used to print out technology disks.
components:
- type: Sprite
netsync: false
noRot: true
sprite: Structures/Machines/tech_disk_printer.rsi
layers:
- state: icon
map: ["enum.ComputerVisualizer+Layers.Body"]
- state: unshaded
shader: unshaded
map: ["enum.ComputerVisualizer+Layers.Screen"]
- type: Appearance
visuals:
- type: ComputerVisualizer
screen: unshaded
key: ""
body: icon
bodyBroken: icon
- type: DiskConsole
- type: ResearchClient
- type: ActivatableUI
key: enum.DiskConsoleUiKey.Key
- type: ActivatableUIRequiresPower
- type: UserInterface
interfaces:
- key: enum.DiskConsoleUiKey.Key
type: DiskConsoleBoundUserInterface
- key: enum.ResearchClientUiKey.Key
type: ResearchClientBoundUserInterface
- type: ExtensionCableReceiver
- type: Computer
board: TechDiskComputerCircuitboard
- type: PointLight
radius: 0.8
energy: 0.5
color: "#b53ca1"

View File

@@ -292,6 +292,7 @@
- ShuttleConsoleCircuitboard
- RadarConsoleCircuitboard
- CircuitImprinterMachineCircuitboard
- TechDiskComputerCircuitboard
- DawInstrumentMachineCircuitboard
- CloningConsoleComputerCircuitboard
- StasisBedMachineCircuitboard

View File

@@ -233,6 +233,16 @@
Glass: 900
Gold: 100
- type: latheRecipe
id: TechDiskComputerCircuitboard
icon: { sprite: Objects/Misc/module.rsi, state: cpu_science }
result: TechDiskComputerCircuitboard
completetime: 4
materials:
Steel: 100
Glass: 900
Gold: 100
- type: latheRecipe
id: CrewMonitoringComputerCircuitboard
icon: { sprite: Objects/Misc/module.rsi, state: id_mod }