Merge pull request #128 from Be1aya/psychology

Psychologist Job
This commit is contained in:
evilew
2025-04-26 15:48:01 +02:00
committed by GitHub
16 changed files with 138 additions and 18 deletions
@@ -0,0 +1,3 @@
/obj/effect/landmark/start/psychologist //GS13: Psychology job
name = "Psychologist"
icon_state = "Medical Doctor"
@@ -0,0 +1,24 @@
//GS13: Psych Pillbottles for Psychologist
/obj/item/storage/pill_bottle/happinesspsych
name = "happiness pill bottle"
desc = "Contains pills used as a last resort means to temporarily stabilize depression and anxiety. WARNING: side effects may include slurred speech, drooling, and severe addiction."
/obj/item/storage/pill_bottle/happinesspsych/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/pill/happinesspsych(src)
/obj/item/storage/pill_bottle/lsdpsych
name = "mindbreaker toxin pill bottle"
desc = "!FOR THERAPEUTIC USE ONLY! Contains pills used to alleviate the symptoms of Reality Dissociation Syndrome."
/obj/item/storage/pill_bottle/lsdpsych/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/pill/lsdpsych(src)
/obj/item/storage/pill_bottle/paxpsych
name = "pacification pill"
desc = "Contains pills used to temporarily pacify patients that are deemed a harm to themselves or others."
/obj/item/storage/pill_bottle/paxpsych/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/pill/paxpsych(src)
@@ -0,0 +1,17 @@
/obj/structure/closet/secure_closet/psychology //GS13: Psychologist job equip locker
name = "psychology locker"
req_access = list(ACCESS_PSYCH)
icon_state = "cabinet"
/obj/structure/closet/secure_closet/psychology/PopulateContents()
. = ..()
new /obj/item/clothing/under/suit/black(src)
new /obj/item/clothing/under/suit/black/skirt(src)
new /obj/item/clothing/shoes/laceup/(src)
new /obj/item/storage/backpack/medic(src)
new /obj/item/radio/headset/headset_med(src)
new /obj/item/clipboard(src)
new /obj/item/clothing/suit/straight_jacket(src)
new /obj/item/clothing/ears/earmuffs(src)
new /obj/item/clothing/mask/muzzle(src)
new /obj/item/clothing/glasses/sunglasses/blindfold(src)
@@ -0,0 +1,43 @@
/datum/job/psychologist
title = "Psychologist"
flag = MED_PSYCH
department_head = list("Chief Medical Officer", "Head of Personnel")
department_flag = MEDSCI
faction = "Station"
total_positions = 1
spawn_positions = 1
minimal_player_age = 1
supervisors = "the chief medical officer, and head of personnel"
selection_color = "#74b5e0"
exp_requirements = 240
exp_type = EXP_TYPE_CREW
outfit = /datum/outfit/job/psychologist
departments = DEPARTMENT_BITFLAG_MEDICAL
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM, ACCESS_PSYCH)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM, ACCESS_PSYCH)
paycheck = PAYCHECK_MEDIUM
paycheck_department = ACCOUNT_MED
bounty_types = CIV_JOB_MED
display_order = JOB_DISPLAY_ORDER_PSYCH
threat = 0.5
/datum/outfit/job/psychologist
name = "Psychologist"
jobtype = /datum/job/psychologist
belt = /obj/item/pda/medical
ears = /obj/item/radio/headset/headset_med
uniform = /obj/item/clothing/under/suit/black
shoes = /obj/item/clothing/shoes/laceup
l_hand = /obj/item/clipboard
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/pill_bottle/mannitol, /obj/item/storage/pill_bottle/psicodine, /obj/item/storage/pill_bottle/paxpsych, /obj/item/storage/pill_bottle/happinesspsych, /obj/item/storage/pill_bottle/lsdpsych)
chameleon_extras = /obj/item/gun/syringe
@@ -0,0 +1,18 @@
//GS13: Pysch pills
/obj/item/reagent_containers/pill/lsdpsych
name = "antipsychotic pill"
desc = "Talk to your healthcare provider immediately if hallucinations worsen or new hallucinations emerge."
icon_state = "pill14"
list_reagents = list(/datum/reagent/toxin/mindbreaker = 5)
/obj/item/reagent_containers/pill/happinesspsych
name = "mood stabilizer pill"
desc = "Used to temporarily alleviate anxiety and depression, take only as prescribed."
icon_state = "pill_happy"
list_reagents = list(/datum/reagent/drug/happiness = 5)
/obj/item/reagent_containers/pill/paxpsych
name = "pacification pill"
desc = "Used to temporarily suppress violent, homicidal, or suicidal behavior in patients."
icon_state = "pill12"
list_reagents = list(/datum/reagent/pax = 5)
+1
View File
@@ -66,6 +66,7 @@
#define ACCESS_CLONING 68 //Cloning room and clone pod ejection
#define ACCESS_ENTER_GENPOP 69
#define ACCESS_LEAVE_GENPOP 70
#define ACCESS_PSYCH 71 //GS13: Psychology room doors
//BEGIN CENTCOM ACCESS
/*Should leave plenty of room if we need to add more access levels.
+10 -8
View File
@@ -28,6 +28,7 @@
#define PARAMEDIC (1<<7)
#define JR_DOCTOR (1<<8)
#define JR_SCIENTIST (1<<9)
#define MED_PSYCH (1<<10)
#define CIVILIAN (1<<2)
@@ -87,14 +88,15 @@
#define JOB_DISPLAY_ORDER_CHEMIST 24
#define JOB_DISPLAY_ORDER_VIROLOGIST 25
#define JOB_DISPLAY_ORDER_GENETICIST 26
#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 27
#define JOB_DISPLAY_ORDER_SCIENTIST 28
#define JOB_DISPLAY_ORDER_ROBOTICIST 29
#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 30
#define JOB_DISPLAY_ORDER_WARDEN 31
#define JOB_DISPLAY_ORDER_DETECTIVE 32
#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 33
#define JOB_DISPLAY_ORDER_PRISONER 34
#define JOB_DISPLAY_ORDER_PSYCH 27 //GS13: Psychologist
#define JOB_DISPLAY_ORDER_RESEARCH_DIRECTOR 28
#define JOB_DISPLAY_ORDER_SCIENTIST 29
#define JOB_DISPLAY_ORDER_ROBOTICIST 30
#define JOB_DISPLAY_ORDER_HEAD_OF_SECURITY 31
#define JOB_DISPLAY_ORDER_WARDEN 32
#define JOB_DISPLAY_ORDER_DETECTIVE 33
#define JOB_DISPLAY_ORDER_SECURITY_OFFICER 34
#define JOB_DISPLAY_ORDER_PRISONER 35
#define DEPARTMENT_UNASSIGNED "No department assigned"
@@ -20,7 +20,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", "Paramedic", "Virologist")
jobs_to_revolt = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Paramedic", "Psychologist", "Virologist") //GS13 edit: Psychologist job
nation_name = pick("Mede", "Healtha", "Recova", "Chemi", "Geneti", "Viro", "Psych")
if("yellow")
jobs_to_revolt = list("Chief Engineer", "Station Engineer", "Atmospheric Technician")
+6 -4
View File
@@ -134,7 +134,7 @@
ACCESS_HYDROPONICS, ACCESS_LIBRARY, ACCESS_LAWYER, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_QM, ACCESS_SURGERY,
ACCESS_THEATRE, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_MAILSORTING, ACCESS_WEAPONS,
ACCESS_VAULT, ACCESS_MINING_STATION, ACCESS_XENOBIOLOGY, ACCESS_CE, ACCESS_HOP, ACCESS_HOS, ACCESS_RC_ANNOUNCE,
ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_NETWORK, ACCESS_CLONING)
ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_NETWORK, ACCESS_CLONING, ACCESS_PSYCH) //GS13: Psychologist job
/proc/get_all_centcom_access()
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_THUNDER, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_LIVING, ACCESS_CENT_STORAGE, ACCESS_CENT_TELEPORTER, ACCESS_CENT_CAPTAIN)
@@ -162,7 +162,7 @@
if(2) //security
return list(ACCESS_SEC_DOORS, ACCESS_WEAPONS, ACCESS_SECURITY, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS, ACCESS_COURT, ACCESS_HOS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP,)
if(3) //medbay
return list(ACCESS_MEDICAL, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_SURGERY, ACCESS_CMO)
return list(ACCESS_MEDICAL, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_SURGERY, ACCESS_CMO, ACCESS_PSYCH) //GS13: Psychologist job
if(4) //research
return list(ACCESS_RESEARCH, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_GENETICS, ACCESS_ROBOTICS, ACCESS_XENOBIOLOGY, ACCESS_MINISAT, ACCESS_RD, ACCESS_NETWORK)
if(5) //engineering and maintenance
@@ -329,6 +329,8 @@
return "Network Access"
if(ACCESS_CLONING)
return "Cloning Room"
if(ACCESS_PSYCH)
return "Psychology Office" //GS13: Psychologist job
/proc/get_centcom_access_desc(A)
switch(A)
@@ -354,8 +356,8 @@
/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", "Engineering Intern",
"Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Paramedic", "Medical Resident",
"Research Director", "Scientist", "Roboticist", "Research Student", "Head of Security", "Warden", "Detective", "Security Officer", "Security Cadet", "Prisoner") //Rookie roles
"Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Paramedic", "Psychologist", "Medical Resident",
"Research Director", "Scientist", "Roboticist", "Research Student", "Head of Security", "Warden", "Detective", "Security Officer", "Security Cadet", "Prisoner") //Rookie + Psychologist roles
/proc/get_all_job_icons() //For all existing HUD icons
return get_all_jobs() + list("Prisoner")
+3
View File
@@ -76,6 +76,9 @@
/datum/job/paramedic
alt_titles = list ("Emergency Medical Technician", "Search and Rescue Technician", "Trauma Team Responder")
/datum/job/psychologist
alt_titles = list("Therapist", "Psychiatrist")
/datum/job/junior_doctor
alt_titles = list("Medical Student", "Fellow", "Trainee Pharmacy Technician", "Trainee Pharmacist", "Junior Pathologist")
@@ -23,10 +23,10 @@
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM,
ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE,
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS)
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS, ACCESS_PSYCH) //GS13 edit: Psychologist job
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM,
ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE,
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS)
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS, ACCESS_PSYCH) //GS13 edit: Psychologist job
paycheck = PAYCHECK_COMMAND
paycheck_department = ACCOUNT_MED
bounty_types = CIV_JOB_MED
@@ -25,13 +25,13 @@
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE,
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_HYDROPONICS, ACCESS_LAWYER,
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_VAULT,
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY)
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_PSYCH) //GS13 edit: Psychologist job
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS,
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_EVA, ACCESS_HEADS,
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE,
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_HYDROPONICS, ACCESS_LAWYER,
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_VAULT,
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY)
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_PSYCH) //GS13 edit: Psychologist job
paycheck = PAYCHECK_COMMAND
paycheck_department = ACCOUNT_SRV
bounty_types = CIV_JOB_RANDOM
+2 -1
View File
@@ -6,7 +6,7 @@ GLOBAL_LIST_INIT(command_positions, list(
"Research Director",
"Chief Medical Officer",
"Quartermaster"))
//GS13 edit: Trainee roles
//GS13 edit: Trainee roles + Psychologist
GLOBAL_LIST_INIT(engineering_positions, list(
"Chief Engineer",
"Station Engineer",
@@ -21,6 +21,7 @@ GLOBAL_LIST_INIT(medical_positions, list(
"Virologist",
"Paramedic",
"Chemist",
"Psychologist",
"Medical Resident"))
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

+1
View File
@@ -333,6 +333,7 @@
"CHIEF MEDICAL OFFICERS",
"MEDICAL DOCTORS",
"PARAMEDICS",
"PSYCHOLOGISTS",
"CHEMISTS",
"GENETICISTS",
"VIROLOGISTS",
+5
View File
@@ -3965,6 +3965,7 @@
#include "GainStation13\code\game\area\ruins.dm"
#include "GainStation13\code\game\objects\tiles.dm"
#include "GainStation13\code\game\objects\turfs.dm"
#include "GainStation13\code\game\objects\effects\landmarks.dm"
#include "GainStation13\code\game\objects\effects\posters.dm"
#include "GainStation13\code\game\objects\effects\decals\cleanable\misc.dm"
#include "GainStation13\code\game\objects\effects\spawners\choco_slime_delivery.dm"
@@ -3973,11 +3974,13 @@
#include "GainStation13\code\game\objects\items\RCD.dm"
#include "GainStation13\code\game\objects\items\toys.dm"
#include "GainStation13\code\game\objects\items\storage\bags.dm"
#include "GainStation13\code\game\objects\items\storage\firstaid.dm"
#include "GainStation13\code\game\objects\structures\barsigns.dm"
#include "GainStation13\code\game\objects\structures\crate.dm"
#include "GainStation13\code\game\objects\structures\medikit.dm"
#include "GainStation13\code\game\objects\structures\sofa.dm"
#include "GainStation13\code\game\objects\structures\statues.dm"
#include "GainStation13\code\game\objects\structures\crates_lockers\closets\secure\psychology.dm"
#include "GainStation13\code\game\turfs\closed.dm"
#include "GainStation13\code\game\turfs\open.dm"
#include "GainStation13\code\machinery\adipoelectric_generator.dm"
@@ -4041,6 +4044,7 @@
#include "GainStation13\code\modules\hydroponics\lipoplant.dm"
#include "GainStation13\code\modules\hydroponics\munchies_weed.dm"
#include "GainStation13\code\modules\hydroponics\grown\berries.dm"
#include "GainStation13\code\modules\jobs\job_types\psychologist.dm"
#include "GainStation13\code\modules\loadout\backpack.dm"
#include "GainStation13\code\modules\loadout\gloves.dm"
#include "GainStation13\code\modules\loadout\neck.dm"
@@ -4080,6 +4084,7 @@
#include "GainStation13\code\modules\reagents\chemistry\recipes\others.dm"
#include "GainStation13\code\modules\reagents\chemistry\recipes\ROCKANDSTONEdrinks.dm"
#include "GainStation13\code\modules\reagents\reagent_containers\barrel_tank.dm"
#include "GainStation13\code\modules\reagents\reagent_containers\pill.dm"
#include "GainStation13\code\modules\research\designs\autolathe.dm"
#include "GainStation13\code\modules\research\designs\biogen.dm"
#include "GainStation13\code\modules\research\designs\borg.dm"