diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 9bc8127c3d..52642ffe48 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -23,6 +23,8 @@ #define DOCTOR (1<<4) #define GENETICIST (1<<5) #define VIROLOGIST (1<<6) +#define PSYCH (1<<7) +#define PARAMEDIC (1<<8) #define CIVILIAN (1<<2) @@ -78,12 +80,14 @@ #define JOB_DISPLAY_ORDER_CHEMIST 21 #define JOB_DISPLAY_ORDER_GENETICIST 22 #define JOB_DISPLAY_ORDER_VIROLOGIST 23 -#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 24 -#define JOB_DISPLAY_ORDER_SCIENTIST 25 -#define JOB_DISPLAY_ORDER_ROBOTICIST 26 -#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 27 -#define JOB_DISPLAY_ORDER_WARDEN 28 -#define JOB_DISPLAY_ORDER_DETECTIVE 29 -#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 30 -#define JOB_DISPLAY_ORDER_AI 31 -#define JOB_DISPLAY_ORDER_CYBORG 32 +#define JOB_DISPLAY_ORDER_PSYCH 24 +#define JOB_DISPLAY_ORDER_PARAMEDIC 25 +#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 26 +#define JOB_DISPLAY_ORDER_SCIENTIST 27 +#define JOB_DISPLAY_ORDER_ROBOTICIST 28 +#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 29 +#define JOB_DISPLAY_ORDER_WARDEN 30 +#define JOB_DISPLAY_ORDER_DETECTIVE 31 +#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 32 +#define JOB_DISPLAY_ORDER_AI 33 +#define JOB_DISPLAY_ORDER_CYBORG 34 diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index b19c6a71f7..7868bad458 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -52,6 +52,8 @@ heirloom_type = pick(/obj/item/cultivator, /obj/item/reagent_containers/glass/bucket, /obj/item/storage/bag/plants, /obj/item/toy/plush/beeplushie) if("Medical Doctor") heirloom_type = /obj/item/healthanalyzer/advanced + if("Paramedic") + heirloom_type = pick(/obj/item/clothing/neck/stethoscope, /obj/item/bodybag) if("Station Engineer") heirloom_type = /obj/item/wirecutters/brass if("Atmospheric Technician") diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index f6d0fcfc0d..01a1d043a2 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -40,6 +40,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) jobs["Geneticist"] = 22 jobs["Virologist"] = 23 jobs["Medical Doctor"] = 24 + jobs["Paramedic"] = 25 jobs["Research Director"] = 30 jobs["Scientist"] = 31 jobs["Roboticist"] = 32 @@ -207,4 +208,4 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) if ("select_person") AI.ai_camera_track(params["name"]) -#undef SENSORS_UPDATE_PERIOD \ No newline at end of file +#undef SENSORS_UPDATE_PERIOD diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 8f09827bd2..621f67554e 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -151,6 +151,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) name = "Medical Doctor" icon_state = "Medical Doctor" +/obj/effect/landmark/start/paramedic + name = "Paramedic" + icon_state = "Paramedic" + /obj/effect/landmark/start/scientist name = "Scientist" icon_state = "Scientist" @@ -485,4 +489,4 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) // Landmark for the mining station /obj/effect/landmark/stationroom/lavaland/station templates = list("Public Mining Base" = 3) - icon = 'icons/rooms/Lavaland/Mining.dmi' \ No newline at end of file + icon = 'icons/rooms/Lavaland/Mining.dmi' diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index c27882aac7..666501282a 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -158,6 +158,23 @@ can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP +/obj/item/clothing/under/rank/medical/paramedic + desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic." + name = "paramedic jumpsuit" + icon_state = "paramedic" + item_state = "w_suit" + permeability_coefficient = 0.5 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + +/obj/item/clothing/under/rank/medical/paramedic/skirt + name = "paramedic jumpskirt" + desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic." + icon_state = "paramedic_skirt" + item_state = "w_suit" + body_parts_covered = CHEST|GROIN|ARMS + can_adjust = FALSE + fitted = FEMALE_UNIFORM_TOP + /obj/item/clothing/under/rank/nursesuit desc = "It's a jumpsuit commonly worn by nursing staff in the medical department." name = "nurse's suit" diff --git a/code/modules/events/wizard/departmentrevolt.dm b/code/modules/events/wizard/departmentrevolt.dm index 67e96455f0..ce6b4802fa 100644 --- a/code/modules/events/wizard/departmentrevolt.dm +++ b/code/modules/events/wizard/departmentrevolt.dm @@ -19,7 +19,7 @@ jobs_to_revolt = list("Assistant") nation_name = pick("Assa", "Mainte", "Tunnel", "Gris", "Grey", "Liath", "Grigio", "Ass", "Assi") if("white") - jobs_to_revolt = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist") + jobs_to_revolt = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Paramedic", "Psychologist", "Virologist") nation_name = pick("Mede", "Healtha", "Recova", "Chemi", "Geneti", "Viro", "Psych") if("yellow") jobs_to_revolt = list("Chief Engineer", "Station Engineer", "Atmospheric Technician") diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 81f47b9a1e..087cce2942 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -357,7 +357,7 @@ /proc/get_all_jobs() return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Cook", "Botanist", "Quartermaster", "Cargo Technician", "Shaft Miner", "Clown", "Mime", "Janitor", "Curator", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", - "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", + "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Psychologist", "Paramedic", "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer") /proc/get_all_job_icons() //For all existing HUD icons diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm new file mode 100644 index 0000000000..5c1b219824 --- /dev/null +++ b/code/modules/jobs/job_types/paramedic.dm @@ -0,0 +1,45 @@ +/datum/job/paramedic + title = "Paramedic" + flag = PARAMEDIC + department_head = list("Chief Medical Officer") + department_flag = MEDSCI + faction = "Station" + total_positions = 3 + spawn_positions = 2 + supervisors = "the chief medical officer" + selection_color = "#74b5e0" + + outfit = /datum/outfit/job/paramedic + + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS, ACCESS_EVA, ACCESS_ENGINE, ACCESS_CARGO, ACCESS_HYDROPONICS, ACCESS_RESEARCH) + minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CLONING, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS, ACCESS_EVA, ACCESS_ENGINE, ACCESS_CARGO, ACCESS_HYDROPONICS, ACCESS_RESEARCH) + + display_order = JOB_DISPLAY_ORDER_PARAMEDIC + +/datum/outfit/job/paramedic + name = "Paramedic" + jobtype = /datum/job/paramedic + + ears = /obj/item/radio/headset/headset_med + gloves = /obj/item/clothing/gloves/color/latex/nitrile + uniform = /obj/item/clothing/under/rank/medical/paramedic + mask = /obj/item/clothing/mask/surgical + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/soft/emt + suit = /obj/item/clothing/suit/toggle/labcoat/emt + belt = /obj/item/storage/belt/medical + l_hand = /obj/item/storage/firstaid/regular + suit_store = /obj/item/flashlight/pen + id = /obj/item/card/id + r_pocket = /obj/item/pinpointer/crew + l_pocket = /obj/item/pda/medical + backpack_contents = list(/obj/item/roller=1) + pda_slot = ITEM_SLOT_LPOCKET + + backpack = /obj/item/storage/backpack/medic + satchel = /obj/item/storage/backpack/satchel/med + duffelbag = /obj/item/storage/backpack/duffelbag/med + + backpack_contents = list(/obj/item/storage/hypospraykit/regular) + + chameleon_extras = /obj/item/gun/syringe diff --git a/code/modules/jobs/job_types/psychologist.dm b/code/modules/jobs/job_types/psychologist.dm new file mode 100644 index 0000000000..da1a290fbd --- /dev/null +++ b/code/modules/jobs/job_types/psychologist.dm @@ -0,0 +1,36 @@ +/datum/job/psych + title = "Psychologist" + flag = PSYCH + department_head = list("Chief Medical Officer") + department_flag = MEDSCI + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the chief medical officer" + selection_color = "#74b5e0" + + outfit = /datum/outfit/job/psych + + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM) + minimal_access = list(ACCESS_MEDICAL, ACCESS_SURGERY, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM) + + display_order = JOB_DISPLAY_ORDER_PSYCH + +/datum/outfit/job/psych + name = "Psychologist" + jobtype = /datum/job/psych + + ears = /obj/item/radio/headset/headset_med + uniform = /obj/item/clothing/under/suit_jacket/green + shoes = /obj/item/clothing/shoes/laceup + l_hand = /obj/item/storage/briefcase/medical + r_hand = /obj/item/clipboard + l_pocket = /obj/item/laser_pointer + r_pocket = /obj/item/pda/medical + pda_slot = ITEM_SLOT_RPOCKET + + backpack = /obj/item/storage/backpack/medic + satchel = /obj/item/storage/backpack/satchel/med + duffelbag = /obj/item/storage/backpack/duffelbag/med + + chameleon_extras = /obj/item/gun/syringe diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 92fd25a811..2d95b4b3c6 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -18,6 +18,8 @@ GLOBAL_LIST_INIT(medical_positions, list( "Medical Doctor", "Geneticist", "Virologist", + "Psychologist", + "Paramedic", "Chemist")) diff --git a/config/jobs.txt b/config/jobs.txt index a0c1ffa970..1bf271763b 100644 --- a/config/jobs.txt +++ b/config/jobs.txt @@ -31,6 +31,7 @@ Station Engineer=5,5 Atmospheric Technician=3,2 Medical Doctor=5,3 +Paramedic=2,2 Chemist=2,2 Geneticist=2,2 Virologist=1,1 @@ -43,4 +44,4 @@ Detective=1,1 Security Officer=5,5 AI=0,1 -Cyborg=0,1 \ No newline at end of file +Cyborg=0,1 diff --git a/strings/ion_laws.json b/strings/ion_laws.json index 1c28d5d5e5..e85d20b7c0 100644 --- a/strings/ion_laws.json +++ b/strings/ion_laws.json @@ -331,7 +331,9 @@ "BOTANISTS", "RESEARCH DIRECTORS", "CHIEF MEDICAL OFFICERS", - "MEDICAL DOCTORS", + "MEDICAL DOCTORS", + "PARAMEDICS", + "PSYCHOLOGISTS", "CHEMISTS", "GENETICISTS", "VIROLOGISTS", diff --git a/tgstation.dme b/tgstation.dme index 456d1ad969..41b45e69cd 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1972,6 +1972,8 @@ #include "code\modules\jobs\job_types\lawyer.dm" #include "code\modules\jobs\job_types\medical_doctor.dm" #include "code\modules\jobs\job_types\mime.dm" +#include "code\modules\jobs\job_types\paramedic.dm" +#include "code\modules\jobs\job_types\psychologist.dm" #include "code\modules\jobs\job_types\quartermaster.dm" #include "code\modules\jobs\job_types\research_director.dm" #include "code\modules\jobs\job_types\roboticist.dm"