diff --git a/Resources/Prototypes/Catalog/Research/technologies.yml b/Resources/Prototypes/Catalog/Research/technologies.yml index e8d0c6fd60..89cc48e6e8 100644 --- a/Resources/Prototypes/Catalog/Research/technologies.yml +++ b/Resources/Prototypes/Catalog/Research/technologies.yml @@ -426,6 +426,7 @@ requiredTechnologies: - CompactPowerTechnology unlockedRecipes: + - ExosuitFabricatorMachineCircuitboard - ProximitySensor - LeftArmBorg - RightArmBorg diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml index 7a9a712d96..bdaef2416c 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -85,6 +85,21 @@ DefaultPrototype: Beaker ExamineName: Glass Beaker +- type: entity + id: ExosuitFabricatorMachineCircuitboard + parent: BaseMachineCircuitboard + name: exosuit fabricator machine board + components: + - type: Sprite + state: science + - type: MachineBoard + prototype: ExosuitFabricator + requirements: + MatterBin: 1 + Manipulator: 3 + materialRequirements: + Glass: 5 + - type: entity id: UniformPrinterMachineCircuitboard parent: BaseMachineCircuitboard diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 58a4d1a10b..2fc0ed89e4 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -223,9 +223,6 @@ - PowerCellMedium - PowerCellHigh - RPED - - ProximitySensor - - LeftArmBorg - - RightArmBorg - HolofanProjector - type: entity @@ -301,6 +298,7 @@ - GasRecyclerMachineCircuitboard - SeedExtractorMachineCircuitboard - AnalysisComputerCircuitboard + - ExosuitFabricatorMachineCircuitboard - ArtifactAnalyzerMachineCircuitboard - TraversalDistorterMachineCircuitboard - type: MaterialStorage @@ -310,6 +308,38 @@ - RawMaterial - Ingot +- type: entity + parent: Protolathe + id: ExosuitFabricator + name: exosuit fabricator + description: Creates parts for robotics and other mechanical needs + components: + - type: Sprite + netsync: false + sprite: Structures/Machines/exosuit_fabricator.rsi + layers: + - state: fab-idle + map: ["enum.LatheVisualLayers.IsRunning"] + - state: fab-load + map: ["enum.LatheVisualLayers.IsInserting"] + - state: fab-o + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: ExosuitFabricatorMachineCircuitboard + - type: Lathe + idleState: fab-idle + runningState: fab-active + dynamicRecipes: + - ProximitySensor + - LeftArmBorg + - RightArmBorg + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + - type: entity parent: Protolathe id: SecurityTechFab diff --git a/Resources/Prototypes/Recipes/Lathes/electronics.yml b/Resources/Prototypes/Recipes/Lathes/electronics.yml index 61f82c7993..a00d0af781 100644 --- a/Resources/Prototypes/Recipes/Lathes/electronics.yml +++ b/Resources/Prototypes/Recipes/Lathes/electronics.yml @@ -147,6 +147,15 @@ Steel: 100 Glass: 900 +- type: latheRecipe + id: ExosuitFabricatorMachineCircuitboard + icon: Objects/Misc/module.rsi/science.png + result: ExosuitFabricatorMachineCircuitboard + completetime: 5 + materials: + Steel: 100 + Glass: 900 + - type: latheRecipe id: UniformPrinterMachineCircuitboard icon: Objects/Misc/module.rsi/id_mod.png diff --git a/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-active.png b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-active.png new file mode 100644 index 0000000000..7967ade2fc Binary files /dev/null and b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-active.png differ diff --git a/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-idle.png b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-idle.png new file mode 100644 index 0000000000..2173f9c79a Binary files /dev/null and b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-idle.png differ diff --git a/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-load.png b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-load.png new file mode 100644 index 0000000000..9b9d93d5cc Binary files /dev/null and b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-load.png differ diff --git a/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-o.png b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-o.png new file mode 100644 index 0000000000..b7694671e1 Binary files /dev/null and b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-o.png differ diff --git a/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/meta.json b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/meta.json new file mode 100644 index 0000000000..f0ad6d92af --- /dev/null +++ b/Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/meta.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/1da0b5547e02db0db48d0bc93926c26bd8888347", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "fab-active", + "delays": [ + [ + 1.5, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.05, + 0.1, + 0.3, + 0.1, + 0.05, + 0.1, + 0.3, + 0.1, + 0.05, + 0.1, + 0.3, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "fab-idle" + }, + { + "name": "fab-o" + }, + { + "name": "fab-load", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.2, + 0.3 + ] + ] + } + ] +} \ No newline at end of file