diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml b/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml index 41fe404dc4..c08d82bd28 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml @@ -40,6 +40,8 @@ components: - type: StorageFill contents: + - id: SyndiCrewMonitorEmpty + amount: 1 - id: PowerCellHigh amount: 1 - id: ClothingEyesGlassesHiddenSecurity diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index f9dbd79c49..cc79c46c74 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -165,6 +165,7 @@ - id: ClothingHeadHatBeretCmo - id: ClothingOuterHardsuitMedical - id: Hypospray + - id: HandheldCrewMonitor - id: DoorRemoteMedical - id: RubberStampCMO - id: MedicalTechFabCircuitboard @@ -185,6 +186,7 @@ - id: ClothingBackpackDuffelSurgeryFilled - id: ClothingMaskSterile - id: Hypospray + - id: HandheldCrewMonitor - id: DoorRemoteMedical - id: RubberStampCMO - id: MedicalTechFabCircuitboard diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml new file mode 100644 index 0000000000..486e8b0d8f --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml @@ -0,0 +1,92 @@ +- type: entity + name: handheld crew monitor + parent: + - BaseItem + - PowerCellSlotSmallItem + id: HandheldCrewMonitor + description: A hand-held crew monitor displaying the status of suit sensors. + components: + - type: Sprite + sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi + state: scanner + - type: PowerCellDraw + drawRate: 0 + useRate: 20 + - type: ActivatableUIRequiresPowerCell + - type: ActivatableUI + key: enum.CrewMonitoringUIKey.Key + closeOnHandDeselect: false + - type: UserInterface + interfaces: + - key: enum.CrewMonitoringUIKey.Key + type: CrewMonitoringBoundUserInterface + - type: CrewMonitoringConsole + - type: DeviceNetwork + deviceNetId: Wireless + receiveFrequencyId: CrewMonitor + - type: WirelessNetworkConnection + range: 500 + - type: StationLimitedNetwork + - type: StaticPrice + price: 500 + +- type: entity + id: HandheldCrewMonitorEmpty + parent: HandheldCrewMonitor + suffix: Empty + components: + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + +- type: entity + id: SpyCrewMonitor + name: spy monitor + description: A spy device capable of connecting to crew monitoring servers. + parent: HandheldCrewMonitor + components: + - type: Sprite + sprite: Objects/Tools/spy_device.rsi + state: icon + - type: Item + sprite: Objects/Tools/spy_device.rsi + - type: PowerCellDraw + useRate: 10 + - type: StaticPrice + price: 750 + +- type: entity + id: SpyCrewMonitorEmpty + parent: SpyCrewMonitor + suffix: Empty + components: + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + +- type: entity + id: SyndiCrewMonitor + name: syndicate crew monitor + description: The syndicated version of crew monitor, intercepts information from the server. + parent: HandheldCrewMonitor + components: + - type: Sprite + sprite: Objects/Specific/Medical/syndihandheldcrewmonitor.rsi + state: syndiscanner + - type: Item + sprite: Objects/Specific/Medical/syndihandheldcrewmonitor.rsi + - type: PowerCellDraw + useRate: 40 + +- type: entity + id: SyndiCrewMonitorEmpty + parent: SyndiCrewMonitor + suffix: Empty + components: + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 098ce9de08..d3c505f845 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -264,6 +264,7 @@ - AnomalyScanner - AnomalyLocator - AnomalyLocatorWide + - HandheldCrewMonitor - Scalpel - Retractor - Cautery @@ -839,6 +840,7 @@ - Hemostat - ClothingEyesGlassesChemical dynamicRecipes: + - HandheldCrewMonitor - ChemicalPayload - CryostasisBeaker - BluespaceBeaker diff --git a/Resources/Prototypes/Recipes/Lathes/medical.yml b/Resources/Prototypes/Recipes/Lathes/medical.yml index 655e13202a..635a54b6ab 100644 --- a/Resources/Prototypes/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/medical.yml @@ -77,6 +77,16 @@ materials: Cloth: 200 +- type: latheRecipe + id: HandheldCrewMonitor + result: HandheldCrewMonitorEmpty + category: Tools + completetime: 2 + materials: + Glass: 1200 + Steel: 1000 + Plastic: 1400 + - type: latheRecipe id: ClothingEyesHudMedical icon: { sprite: Clothing/Eyes/Hud/med.rsi, state: icon } diff --git a/Resources/Prototypes/Research/biochemical.yml b/Resources/Prototypes/Research/biochemical.yml new file mode 100644 index 0000000000..14ae362d5e --- /dev/null +++ b/Resources/Prototypes/Research/biochemical.yml @@ -0,0 +1,163 @@ +# Tier 1 + +- type: technology + id: Chemistry + name: research-technology-chemistry + icon: + sprite: Objects/Specific/Chemistry/beaker_large.rsi + state: beakerlarge + discipline: Biochemical + tier: 1 + cost: 5000 + recipeUnlocks: + - LargeBeaker + - Dropper + - HotplateMachineCircuitboard + - ChemicalPayload + - ClothingEyesGlassesChemical + - Jug + +- type: technology + id: SurgicalTools + name: research-technology-surgical-tools + icon: + sprite: Objects/Specific/Medical/Surgery/saw.rsi + state: saw + discipline: Biochemical + tier: 1 + cost: 2500 #this is useless so heavy decrease + recipeUnlocks: + - Scalpel + - Retractor + - Cautery + - Drill + - Saw + - Hemostat + +- type: technology + id: BiochemicalStasis + name: research-technology-biochemical-stasis + icon: + sprite: Structures/Machines/stasis_bed.rsi + state: icon + discipline: Biochemical + tier: 1 + cost: 7500 + recipeUnlocks: + - CryostasisBeaker + - StasisBedMachineCircuitboard + - SyringeCryostasis + +- type: technology + id: MechanizedTreatment + name: research-technology-mechanized-treatment + icon: + sprite: Mobs/Silicon/chassis.rsi + state: medical + discipline: Biochemical + tier: 1 + cost: 7500 + recipeUnlocks: + - BorgModuleDiagnosis + - BorgModuleDefibrillator + +# doesn't do anything right now +# +#- type: technology +# id: Virology +# name: research-technology-virology +# icon: +# sprite: Structures/Machines/diagnoser.rsi +# state: icon +# discipline: Biochemical +# tier: 1 +# cost: 5000 +# recipeUnlocks: +# - VaccinatorMachineCircuitboard +# - DiagnoserMachineCircuitboard + +# Tier 2 + +- type: technology + id: Cryopod + name: research-technology-cryogenics + icon: + sprite: Structures/Machines/cryogenics.rsi + state: pod-on + discipline: Biochemical + tier: 2 + cost: 7500 + recipeUnlocks: + - CryoPodMachineCircuitboard + +- type: technology + id: Biofabrication + name: research-technology-biofabrication + icon: + sprite: Structures/Machines/biofabricator.rsi + state: icon + discipline: Biochemical + tier: 2 + cost: 10000 + recipeUnlocks: + - BiofabricatorMachineCircuitboard + - BiomassReclaimerMachineCircuitboard + +- type: technology + id: ChemicalDispensary + name: research-technology-chemical-dispensary + icon: + sprite: Structures/dispensers.rsi + state: industrial-working + discipline: Biochemical + tier: 2 + cost: 10000 + recipeUnlocks: + - ChemMasterMachineCircuitboard + - ChemDispenserMachineCircuitboard + - BorgModuleAdvancedTreatment + technologyPrerequisites: + - Chemistry + +- type: technology + id: CrewMonitoring + name: research-technology-crew-monitoring + icon: + sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi + state: scanner + discipline: Biochemical + tier: 2 + cost: 10000 + recipeUnlocks: + - HandheldCrewMonitor + +# Tier 3 + +- type: technology + id: BluespaceChemistry + name: research-technology-bluespace-chemistry + icon: + sprite: Objects/Specific/Chemistry/beaker_bluespace.rsi + state: beakerbluespace + discipline: Biochemical + tier: 3 + cost: 10000 + recipeUnlocks: + - BluespaceBeaker + - SyringeBluespace + +# look into revisiting this later once medical isn't a hellhole +#- type: technology +# id: Cloning +# name: research-technology-cloning +# icon: +# sprite: Structures/Machines/cloning.rsi +# state: pod_0 +# discipline: Biochemical +# tier: 3 +# cost: 15000 +# recipeUnlocks: +# - CloningPodMachineCircuitboard +# - MedicalScannerMachineCircuitboard +# - CloningConsoleComputerCircuitboard +# - BiomassReclaimerMachineCircuitboard diff --git a/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/icon.png b/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/icon.png new file mode 100644 index 0000000000..4593188502 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/meta.json b/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/meta.json new file mode 100644 index 0000000000..93459edf34 --- /dev/null +++ b/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation https://github.com/tgstation/tgstation/commit/ab4abf318f293a701754656dd4e9261eb70f8824#diff-9ab5c8a5e47ab7cfaeadd859a23e32b05de1fe839e99ea767fd7e340b6385d67", + "states": [ + { + "name": "scanner", + "directions": 1, + "delays": [ + [ + 0.4, + 0.4 + ] + ] + }, + { + "name": "icon", + "directions": 1 + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/scanner.png b/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/scanner.png new file mode 100644 index 0000000000..2f97a86aba Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/handheldcrewmonitor.rsi/scanner.png differ diff --git a/Resources/Textures/Objects/Specific/Medical/syndihandheldcrewmonitor.rsi/meta.json b/Resources/Textures/Objects/Specific/Medical/syndihandheldcrewmonitor.rsi/meta.json new file mode 100644 index 0000000000..8a4d587e3a --- /dev/null +++ b/Resources/Textures/Objects/Specific/Medical/syndihandheldcrewmonitor.rsi/meta.json @@ -0,0 +1,21 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation https://github.com/tgstation/tgstation/commit/ab4abf318f293a701754656dd4e9261eb70f8824#diff-9ab5c8a5e47ab7cfaeadd859a23e32b05de1fe839e99ea767fd7e340b6385d67,this sprite made(resprite) by Fazansen(https://github.com/Fazansen)", + "states": [ + { + "name": "syndiscanner", + "directions": 1, + "delays": [ + [ + 0.4, + 0.4 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Medical/syndihandheldcrewmonitor.rsi/syndiscanner.png b/Resources/Textures/Objects/Specific/Medical/syndihandheldcrewmonitor.rsi/syndiscanner.png new file mode 100644 index 0000000000..9fa8cba94f Binary files /dev/null and b/Resources/Textures/Objects/Specific/Medical/syndihandheldcrewmonitor.rsi/syndiscanner.png differ