From 50267d9f202f1375a63d2cb57d88ec3839f5505e Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Thu, 2 Feb 2023 12:23:55 -0500 Subject: [PATCH] Research Assistant (#13774) --- .../Locale/en-US/job/job-description.ftl | 1 + Resources/Locale/en-US/job/job-names.ftl | 2 ++ .../Entities/Markers/Spawners/jobs.yml | 8 +++++ .../Entities/Objects/Devices/pda.yml | 15 +++++++++ .../Objects/Misc/identification_cards.yml | 12 ++++++++ .../Roles/Jobs/Science/research_assistant.yml | 29 ++++++++++++++++++ .../Roles/Jobs/Science/scientist.yml | 4 +++ .../Prototypes/Roles/Jobs/departments.yml | 2 ++ .../Prototypes/Roles/play_time_trackers.yml | 3 ++ .../Misc/job_icons.rsi/ResearchAssistant.png | Bin 0 -> 163 bytes .../Interface/Misc/job_icons.rsi/meta.json | 3 ++ .../Objects/Devices/pda.rsi/meta.json | 3 ++ .../Objects/Devices/pda.rsi/pda-internsci.png | Bin 0 -> 506 bytes .../Misc/id_cards.rsi/idintern-sci.png | Bin 0 -> 176 bytes .../Objects/Misc/id_cards.rsi/meta.json | 3 ++ 15 files changed, 85 insertions(+) create mode 100644 Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml create mode 100644 Resources/Textures/Interface/Misc/job_icons.rsi/ResearchAssistant.png create mode 100644 Resources/Textures/Objects/Devices/pda.rsi/pda-internsci.png create mode 100644 Resources/Textures/Objects/Misc/id_cards.rsi/idintern-sci.png diff --git a/Resources/Locale/en-US/job/job-description.ftl b/Resources/Locale/en-US/job/job-description.ftl index 15270ac74a..17524b1718 100644 --- a/Resources/Locale/en-US/job/job-description.ftl +++ b/Resources/Locale/en-US/job/job-description.ftl @@ -33,6 +33,7 @@ job-description-passenger = Enjoy your stay aboard the station with no obligatio job-description-psychologist = Provide emotional support to traumatized crew. Not available on all maps! job-description-qm = Manage the supplies of the station & the cargo department, keep the salvage specialists working, make sure all orders are fulfilled, and keep the money flowing. job-description-rd = Manage the science department, unlocking technologies, acquiring & researching artifacts, and performing experiments. +job-description-research-assistant = Learn the basics of how to research various artifacts and anomalies. job-description-reporter = Entertain & inform the crew with your vibrant journalism through wireless cameras and the radio. Not available on all maps! job-description-salvagespec = Use the salvage magnet to draw in derelicts & asteroids to loot and enrich the station, and fight off any space fauna along the way. job-description-scientist = Research alien artifacts, unlock new technologies, upgrade machines around the station, and make everything run more efficiently. diff --git a/Resources/Locale/en-US/job/job-names.ftl b/Resources/Locale/en-US/job/job-names.ftl index 4b01ed3d77..fbeef390a5 100644 --- a/Resources/Locale/en-US/job/job-names.ftl +++ b/Resources/Locale/en-US/job/job-names.ftl @@ -4,6 +4,7 @@ job-name-cadet = Security Cadet job-name-hos = Head of Security job-name-detective = Detective job-name-scientist = Scientist +job-name-research-assistant = Research Assistant job-name-rd = Research Director job-name-psychologist = Psychologist job-name-intern = Medical Intern @@ -74,6 +75,7 @@ JobPassenger = Passenger JobPsychologist = Psychologist JobQuartermaster = Quartermaster JobReporter = Reporter +JobResearchAssistant = Research Assistant JobResearchDirector = Research Director JobSalvageSpecialist = Salvage Specialist JobScientist = Scientist diff --git a/Resources/Prototypes/Entities/Markers/Spawners/jobs.yml b/Resources/Prototypes/Entities/Markers/Spawners/jobs.yml index fbd654271c..5989e8c93a 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/jobs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/jobs.yml @@ -113,6 +113,14 @@ - type: SpawnPoint job_id: SecurityCadet +- type: entity + id: SpawnPointResearchAssistant + parent: SpawnPointAssistant + name: research assistant + components: + - type: SpawnPoint + job_id: ResearchAssistant + - type: entity id: SpawnPointServiceWorker parent: SpawnPointAssistant diff --git a/Resources/Prototypes/Entities/Objects/Devices/pda.yml b/Resources/Prototypes/Entities/Objects/Devices/pda.yml index 7d29a5ce14..46d8068223 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/pda.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/pda.yml @@ -158,6 +158,21 @@ - type: Icon state: pda-interncadet +- type: entity + parent: BasePDA + id: ResearchAssistantPDA + name: research assistant PDA + description: Why isn't it purple? + components: + - type: PDA + id: ResearchAssistantIDCard + - type: Appearance + visuals: + - type: PDAVisualizer + state: pda-internsci + - type: Icon + state: pda-internsci + - type: entity parent: BasePDA id: ServiceWorkerPDA diff --git a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml index 55dbf95144..bdb9ccf37c 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml @@ -58,6 +58,18 @@ - state: default - state: idintern-med +- type: entity + parent: PassengerIDCard + id: ResearchAssistantIDCard + name: research assistant ID card + components: + - type: PresetIdCard + job: ResearchAssistant + - type: Sprite + layers: + - state: default + - state: idintern-sci + - type: entity parent: PassengerIDCard id: SecurityCadetIDCard diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml b/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml new file mode 100644 index 0000000000..babb1cdcae --- /dev/null +++ b/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml @@ -0,0 +1,29 @@ +- type: job + id: ResearchAssistant + name: job-name-research-assistant + description: job-description-research-assistant + playTimeTracker: JobResearchAssistant + requirements: + - !type:DepartmentTimeRequirement + department: Science + time: 7200 + inverted: true # stop playing intern if you're good at science! + startingGear: ResearchAssistantGear + icon: "ResearchAssistant" + supervisors: job-supervisors-rd + canBeAntag: false + access: + - Research + - Maintenance + +- type: startingGear + id: ResearchAssistantGear + equipment: + jumpsuit: ClothingUniformJumpsuitColorWhite + back: ClothingBackpackScienceFilled + shoes: ClothingShoesColorWhite + id: ResearchAssistantPDA + ears: ClothingHeadsetScience + innerclothingskirt: ClothingUniformJumpskirtColorWhite + satchel: ClothingBackpackSatchelScienceFilled + duffelbag: ClothingBackpackDuffelScienceFilled diff --git a/Resources/Prototypes/Roles/Jobs/Science/scientist.yml b/Resources/Prototypes/Roles/Jobs/Science/scientist.yml index 3f00cb2199..debec221a6 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/scientist.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/scientist.yml @@ -3,6 +3,10 @@ name: job-name-scientist description: job-description-scientist playTimeTracker: JobScientist + requirements: + - !type:DepartmentTimeRequirement + department: Science + time: 1800 startingGear: ScientistGear icon: "Scientist" supervisors: job-supervisors-rd diff --git a/Resources/Prototypes/Roles/Jobs/departments.yml b/Resources/Prototypes/Roles/Jobs/departments.yml index 79867645d9..b46bc0214d 100644 --- a/Resources/Prototypes/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/Roles/Jobs/departments.yml @@ -30,6 +30,7 @@ - SecurityCadet - ServiceWorker - TechnicalAssistant + - ResearchAssistant - type: department id: Command @@ -84,3 +85,4 @@ roles: - ResearchDirector - Scientist + - ResearchAssistant diff --git a/Resources/Prototypes/Roles/play_time_trackers.yml b/Resources/Prototypes/Roles/play_time_trackers.yml index c3682037ea..f8b06580e7 100644 --- a/Resources/Prototypes/Roles/play_time_trackers.yml +++ b/Resources/Prototypes/Roles/play_time_trackers.yml @@ -97,6 +97,9 @@ - type: playTimeTracker id: JobReporter +- type: playTimeTracker + id: JobResearchAssistant + - type: playTimeTracker id: JobResearchDirector diff --git a/Resources/Textures/Interface/Misc/job_icons.rsi/ResearchAssistant.png b/Resources/Textures/Interface/Misc/job_icons.rsi/ResearchAssistant.png new file mode 100644 index 0000000000000000000000000000000000000000..486a2fa89a78ab235d6ca1abeaf8e25ec5502c00 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|Vm)0PLnNlQ z_HX2EP!MsEZ)@DJFip`%XHHX7ORGUy#Kw!;FDWSgdR0E%npMC@ge|8ultp;y4;|a1 z>6~g^Y#UB87U=z+yzOM+8PU68_mWO~zmR5Fc5%nFc*ld^&vLtL*9ka(T1O3N5re0z KpUXO@geCw<)Hr$o literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json b/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json index 4986b4191c..3ecce5d124 100644 --- a/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json +++ b/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json @@ -67,6 +67,9 @@ { "name": "Scientist" }, + { + "name": "ResearchAssistant" + }, { "name": "Geneticist" }, diff --git a/Resources/Textures/Objects/Devices/pda.rsi/meta.json b/Resources/Textures/Objects/Devices/pda.rsi/meta.json index 4d580a650e..baafb528fb 100644 --- a/Resources/Textures/Objects/Devices/pda.rsi/meta.json +++ b/Resources/Textures/Objects/Devices/pda.rsi/meta.json @@ -157,6 +157,9 @@ { "name": "pda-internmed" }, + { + "name": "pda-internsci" + }, { "name": "pda-internservice" }, diff --git a/Resources/Textures/Objects/Devices/pda.rsi/pda-internsci.png b/Resources/Textures/Objects/Devices/pda.rsi/pda-internsci.png new file mode 100644 index 0000000000000000000000000000000000000000..9f8b2557eb561fe79a00fca0bf4b1c31a6182734 GIT binary patch literal 506 zcmVPx$v`IukR9J=WmA^~FP!PvI{zz4#^#@g)6hShHPASrYICXVxXGJ?X*+u7eseeEf z93@>{Gj*|u!9j5zx_ zJNy?(y)YyY(^6HXZ;)Y>ewE)fKvk92-tLa`EhSSO{$?%0PdvfaPhp!fRnE@dIiFgdt zvTqH96lSq7l><$otU?P`2D@o6F!Y-+T#q@g RDhD)$!PC{xWt~$(69ADKHp&11 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json b/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json index 66e1d52beb..228d88ec55 100644 --- a/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json +++ b/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json @@ -151,6 +151,9 @@ { "name": "idzookeeper" }, + { + "name": "idintern-sci" + }, { "name": "idintern-cadet" },