From 38e8ab03400c1e846276368591fbff1ac78f041b Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Sat, 26 Nov 2022 22:36:27 -0500 Subject: [PATCH] Exosuit Fabricator (#12760) --- .../Catalog/Research/technologies.yml | 1 + .../Circuitboards/Machine/production.yml | 15 +++++ .../Entities/Structures/Machines/lathe.yml | 36 +++++++++- .../Prototypes/Recipes/Lathes/electronics.yml | 9 +++ .../exosuit_fabricator.rsi/fab-active.png | Bin 0 -> 3573 bytes .../exosuit_fabricator.rsi/fab-idle.png | Bin 0 -> 659 bytes .../exosuit_fabricator.rsi/fab-load.png | Bin 0 -> 684 bytes .../Machines/exosuit_fabricator.rsi/fab-o.png | Bin 0 -> 308 bytes .../Machines/exosuit_fabricator.rsi/meta.json | 62 ++++++++++++++++++ 9 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-active.png create mode 100644 Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-idle.png create mode 100644 Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-load.png create mode 100644 Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/fab-o.png create mode 100644 Resources/Textures/Structures/Machines/exosuit_fabricator.rsi/meta.json 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 0000000000000000000000000000000000000000..7967ade2fc38d4c43a76315119e1f511d06ea484 GIT binary patch literal 3573 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 Mh08|O2B_G70Sy=d-v9sr literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2173f9c79af817f5e2c1e21ed51dfe7599ad96af GIT binary patch literal 659 zcmV;E0&M+>P)Px%O-V#SR9J=OS4~SBK^T5gfgJGR73FK2Zq)UikYq=tddxIN)NKb%+AbaXJbjB&t)<*&-=X3 zzVopg;D1L*hrG1BUJH`s#j~f%JiZMqEw9(M4oHyv=m}vSE_%_fLzY{o#S8UTO z5Ux+TMm!q9@Z*QD?21-`cr z4CHcI7)FPuAr`-{yrf0QwCJ7ObHBefm>$C3-Y!Ql&7?3E6sDO30IcO#aQJ;I1SpQ- z@!>WAV0LaEg~A3GtiqA8iNt6grED7AeoV=|7mfm7?mFI9@W@y^B!0Ki~+C{XgX{EBi; zYG8J5UKyaf@!a=HT?3|>q({$zyZo$ZDmB2(v9YY#Q|m;!jMPA-T2YoN(f0_Y{T*RE zl^Vd};sQ4|K0YBlfTQ7{So|s)aFhI?P}mSIC|PnZa0a~AtF*sEORBRE9Ii^6z6)aa t9@PC$5NY%Nyi%c36+h$7etru9z#riF_U!7Ts)002ovPDHLkV1lN|HK_mq literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9b9d93d5cc1da834cee748bf247a5f5a5013f993 GIT binary patch literal 684 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9F5M?jcysy3fA0|Qf> zr;B4q#hkZyH)ab5${hG8&SCL#lD)%+`2tocqOTsvU*KtS`rk1vFYlk^%Qyk)T`3$& z794z$w=XSBHVVnnNXn@bNP@<0IB7bKTc(D^HW}<3D`wn_q;Ce;@zkzinoP|Bn4<-ls1coPFz0 zFVm4*>K~u%`}b%@(5atu{nStXxwWq8RGtIZ<(DQr?T0U9ZGHAUG+I(&y0n8f%Zaya z7qWhHoN8rEV2d!4>wmnf?%RVsL0h>e{9;?PvrWZ|`A)opLZJD)0FDWl+t)YWvTZ6# zW|#p~-5|-3hK~`U=#cmO^UI%0Z(lCHHGh9r-Ie#>wdZfYsI2ky-=9r;S86_6e|y%< zFMk_CXBV%&H~;_sy(@d`?Gx_uo_P7UA>?x`>p@^Z9uP8r{%oJ+_v^mD-#@!k;V1EY zkLCA2U);^)_wi+Y=Q!0%ghLRHeb0X2v-f|dIGcJi`+2c3tcTuyefsA|UAg|fh9{r( z&;5VXearqw#Lqvs_Q_A^cK`mD(f9L;efA4FV?b`v=5<(GC-&%7yGXeGN)e_daplv` ls!yADrAFQn8tHHN&e-~Fnmpa(4>0*Lc)I$ztaD0e0ss&!EVlpv literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b7694671e17bbbb30dbf7c5aa7e4cf4e11a3041e GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}?>t=`Ln2y} z6C_v{Cy4Yk1sZU<9n^quN)C9eadJ&<{y!z6fLQFrdVUe1dS>wYqGlO}6pkOOI|C?i(YMzPqa{BR22Yy&fw|l=d#Wzp$Py!`gO+u literal 0 HcmV?d00001 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