Junior roles

And more! Oof ouch my soul.
This commit is contained in:
JaySparrow
2020-11-04 00:37:23 -06:00
parent adb995f61a
commit ea5b9ca4ef
13 changed files with 386 additions and 60 deletions
+4
View File
@@ -12,6 +12,8 @@
#define ROBOTICIST (1<<8)
#define AI_JF (1<<9)
#define CYBORG (1<<10)
#define JR_OFFICER (1<<11)
#define JR_ENGINEER (1<<12)
#define MEDSCI (1<<1)
@@ -23,6 +25,8 @@
#define DOCTOR (1<<4)
#define GENETICIST (1<<5)
#define VIROLOGIST (1<<6)
#define JR_DOCTOR (1<<7)
#define JR_SCIENTIST (1<<9)
#define CIVILIAN (1<<2)
+1 -1
View File
@@ -1103,7 +1103,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
#undef APPEARANCE_CATEGORY_COLUMN
#undef MAX_MUTANT_ROWS
/datum/preferences/proc/SetChoices(mob/user, limit = 17, list/splitJobs = list("Chief Engineer"), widthPerColumn = 295, height = 620)
/datum/preferences/proc/SetChoices(mob/user, limit = 22, list/splitJobs = list("Chief Engineer"), widthPerColumn = 295, height = 620)
if(!SSjob)
return
+3 -3
View File
@@ -12,8 +12,8 @@ Captain
supervisors = "Kinaris officials and Space law"
selection_color = "#ccccff"
req_admin_notify = 1
minimal_player_age = 20
exp_requirements = 480
minimal_player_age = 30
exp_requirements = 3000
exp_type = EXP_TYPE_COMMAND
exp_type_department = EXP_TYPE_COMMAND
@@ -84,7 +84,7 @@ Head of Personnel
selection_color = "#ddddff"
req_admin_notify = 1
minimal_player_age = 20
exp_requirements = 180
exp_requirements = 1500
exp_type = EXP_TYPE_SERVICE
exp_type_department = EXP_TYPE_SERVICE
+9 -5
View File
@@ -12,15 +12,15 @@ Quartermaster is a real head fuck you
spawn_positions = 1
supervisors = "the captain"
selection_color = "#d7b088"
minimal_player_age = 10
minimal_player_age = 7
exp_type = EXP_TYPE_SUPPLY
exp_type_department = EXP_TYPE_SUPPLY
exp_requirements = 300
exp_requirements = 1200
outfit = /datum/outfit/job/quartermaster
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_VAULT)
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_VAULT)
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE, ACCESS_SEC_DOORS, ACCESS_HEADS, ACCESS_VAULT)
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE, ACCESS_SEC_DOORS, ACCESS_HEADS, ACCESS_VAULT)
blacklisted_quirks = list(/datum/quirk/mute, /datum/quirk/brainproblems, /datum/quirk/insanity)
@@ -35,6 +35,10 @@ Quartermaster is a real head fuck you
glasses = /obj/item/clothing/glasses/sunglasses
l_hand = /obj/item/clipboard
id = /obj/item/card/id/silver
ears = /obj/item/radio/headset/heads/qm
backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1)
chameleon_extras = /obj/item/stamp/qm
/*
@@ -81,7 +85,7 @@ Shaft Miner
selection_color = "#dcba97"
custom_spawn_text = "Remember, you are a miner, not a hunter. Hunting monsters is not a requirement of your job, the only requirement of your job is to provide materials for the station. Don't be afraid to run away if you're inexperienced with fighting the mining area's locals."
minimal_player_age = 1
exp_requirements = 120
exp_requirements = 600
exp_type = EXP_TYPE_CREW
exp_type_department = EXP_TYPE_SUPPLY
+73 -8
View File
@@ -13,8 +13,8 @@ Chief Engineer
supervisors = "the captain"
selection_color = "#ffeeaa"
req_admin_notify = 1
minimal_player_age = 20
exp_requirements = 300
minimal_player_age = 14
exp_requirements = 1500
exp_type = EXP_TYPE_ENGINEERING
exp_type_department = EXP_TYPE_ENGINEERING
@@ -79,8 +79,9 @@ Station Engineer
minimal_player_age = 1
supervisors = "the chief engineer"
selection_color = "#fff5cc"
exp_requirements = 120
exp_type = EXP_TYPE_CREW
exp_requirements = 300
exp_type = EXP_TYPE_ENGINEERING
exp_type_department = EXP_TYPE_ENGINEERING
outfit = /datum/outfit/job/engineer
@@ -136,14 +137,16 @@ Atmospheric Technician
minimal_player_age = 2
supervisors = "the chief engineer"
selection_color = "#fff5cc"
exp_requirements = 180
exp_type = EXP_TYPE_CREW
exp_requirements = 600
exp_type = EXP_TYPE_ENGINEERING
exp_type_department = EXP_TYPE_ENGINEERING
outfit = /datum/outfit/job/atmos
access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS,
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_MINERAL_STOREROOM)
minimal_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS, ACCESS_EMERGENCY_STORAGE, ACCESS_CONSTRUCTION, ACCESS_MINERAL_STOREROOM)
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT, ACCESS_MINERAL_STOREROOM)
minimal_access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS,
ACCESS_EMERGENCY_STORAGE, ACCESS_CONSTRUCTION, ACCESS_MINERAL_STOREROOM)
/datum/outfit/job/atmos
name = "Atmospheric Technician"
@@ -169,3 +172,65 @@ Atmospheric Technician
suit = /obj/item/clothing/suit/space/hardsuit/engine/atmos
suit_store = /obj/item/tank/internals/oxygen
internals_slot = SLOT_S_STORE
/*
Junior Engineer
*/
/datum/job/junior_engineer
title = "Engineering Intern"
flag = JR_ENGINEER
department_head = list("Chief Engineer")
department_flag = ENGSEC
faction = "Station"
total_positions = 2
spawn_positions = 2
minimal_player_age = 0
supervisors = "the chief engineer, and any other more experienced engineers"
selection_color = "#fff5cc"
exp_requirements = 120
exp_type = EXP_TYPE_CREW
outfit = /datum/outfit/job/engineer/junior
access = list(ACCESS_TECH_STORAGE, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_MAINT_TUNNELS,
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT, ACCESS_MINERAL_STOREROOM)
minimal_access = list(ACCESS_TECH_STORAGE, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_MAINT_TUNNELS,
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_TCOMSAT, ACCESS_MINERAL_STOREROOM)
/datum/outfit/job/engineer/junior
name = "Engineering Intern"
jobtype = /datum/job/junior_engineer
belt = /obj/item/storage/belt/utility/full/engi
l_pocket = /obj/item/pda/engineering
ears = /obj/item/radio/headset/headset_eng
uniform = /obj/item/clothing/under/rank/engineer
shoes = /obj/item/clothing/shoes/workboots
head = /obj/item/clothing/head/hardhat
r_pocket = /obj/item/t_scanner
backpack = /obj/item/storage/backpack/industrial
satchel = /obj/item/storage/backpack/satchel/eng
duffelbag = /obj/item/storage/backpack/duffelbag/engineering
box = /obj/item/storage/box/engineer
pda_slot = SLOT_L_STORE
backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced=1)
/datum/outfit/job/engineer/junior/gloved/
name = "Station Engineer (Gloves)"
gloves = /obj/item/clothing/gloves/color/yellow
/datum/outfit/job/engineer/junior/gloved/rig/junior
name = "Station Engineer (Hardsuit)"
mask = /obj/item/clothing/mask/breath
suit = /obj/item/clothing/suit/space/hardsuit/engine
suit_store = /obj/item/tank/internals/oxygen
head = null
internals_slot = SLOT_S_STORE
/datum/job/junior_engineer/after_spawn(mob/living/carbon/human/H, mob/M) //Instead of going through the process of adding spawnpoints
var/turf/T
var/spawn_point = locate(/obj/effect/landmark/start/station_engineer) in GLOB.start_landmarks_list
T = get_turf(spawn_point)
H.Move(T)
+1
View File
@@ -45,6 +45,7 @@
var/outfit = null
//Minutes required in specified job or department type.
var/exp_requirements = 0
var/exp_type = ""
@@ -1,3 +1,5 @@
//This file also determines the order for the choose your occupation chances screen.
//Engineering
/datum/job/chief_engineer
alt_titles = list("Head Engineer", "Construction Coordinator", "Project Manager")
@@ -8,6 +10,8 @@
/datum/job/atmos
alt_titles = list("Firefighter", "Life Support Specialist")
/datum/job/junior_engineer
//Service
/datum/job/assistant
alt_titles = list("Civilian", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist")
@@ -49,6 +53,8 @@
/datum/job/roboticist
alt_titles = list("Biomechanical Engineer", "Mechatronic Engineer", "Mechanic")
/datum/job/junior_scientist
//Medical
/datum/job/cmo
alt_titles = list("Medical Director")
@@ -65,6 +71,8 @@
/datum/job/geneticist
alt_titles = list("Gene Therapist")
/datum/job/junior_doctor
//Security
/datum/job/hos
alt_titles = list("Chief of Security", "Security Commander")
@@ -78,6 +86,8 @@
/datum/job/detective
alt_titles = list("Forensics Technician", "Private Investigator", "Gumshoe")
/datum/job/junior_officer
//Supply
/datum/job/qm
alt_titles = list("Supply Chief")
+63 -8
View File
@@ -13,8 +13,8 @@ Chief Medical Officer
supervisors = "the captain"
selection_color = "#ffddf0"
req_admin_notify = 1
minimal_player_age = 10
exp_requirements = 300
minimal_player_age = 14
exp_requirements = 1500
exp_type = EXP_TYPE_MEDICAL
exp_type_department = EXP_TYPE_MEDICAL
@@ -94,6 +94,8 @@ Medical Doctor
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
/*
@@ -110,8 +112,10 @@ Chemist
minimal_player_age = 1
supervisors = "the chief medical officer"
selection_color = "#ffeef0"
exp_type = EXP_TYPE_CREW
exp_requirements = 60
exp_requirements = 480
exp_type = EXP_TYPE_MEDICAL
exp_type_department = EXP_TYPE_MEDICAL
outfit = /datum/outfit/job/chemist
@@ -133,6 +137,8 @@ Chemist
duffelbag = /obj/item/storage/backpack/duffelbag/med
l_hand = /obj/item/fermichem/pHbooklet
backpack_contents = list(/obj/item/storage/hypospraykit/regular)
chameleon_extras = /obj/item/gun/syringe
/*
@@ -148,8 +154,9 @@ Geneticist
spawn_positions = 2
supervisors = "the chief medical officer and research director"
selection_color = "#ffeef0"
exp_type = EXP_TYPE_CREW
exp_requirements = 30
exp_requirements = 480
exp_type = EXP_TYPE_MEDICAL
exp_type_department = EXP_TYPE_MEDICAL
outfit = /datum/outfit/job/geneticist
@@ -186,8 +193,9 @@ Virologist
minimal_player_age = 2
supervisors = "the chief medical officer"
selection_color = "#ffeef0"
exp_type = EXP_TYPE_CREW
exp_requirements = 120
exp_requirements = 600
exp_type = EXP_TYPE_MEDICAL
exp_type_department = EXP_TYPE_MEDICAL
outfit = /datum/outfit/job/virologist
@@ -209,3 +217,50 @@ Virologist
backpack = /obj/item/storage/backpack/virology
satchel = /obj/item/storage/backpack/satchel/vir
duffelbag = /obj/item/storage/backpack/duffelbag/med
/*
Junior Doctor
*/
/datum/job/junior_doctor
title = "Medical Resident"
flag = JR_DOCTOR
department_head = list("Chief Medical Officer")
department_flag = MEDSCI
faction = "Station"
total_positions = 2
spawn_positions = 2
minimal_player_age = 0
supervisors = "the chief medical officer, and any other senior medical staff"
selection_color = "#ffeef0"
exp_requirements = 120
exp_type = EXP_TYPE_CREW
outfit = /datum/outfit/job/doctor/junior
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM)
/datum/outfit/job/doctor/junior
name = "Medical Resident"
jobtype = /datum/job/junior_doctor
belt = /obj/item/pda/medical
ears = /obj/item/radio/headset/headset_med
uniform = /obj/item/clothing/under/rank/medical
shoes = /obj/item/clothing/shoes/sneakers/white
suit = /obj/item/clothing/suit/toggle/labcoat
l_hand = /obj/item/storage/firstaid/regular
suit_store = /obj/item/flashlight/pen
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
/datum/job/junior_doctor/after_spawn(mob/living/carbon/human/H, mob/M) //Instead of going through the process of adding spawnpoints
var/turf/T
var/spawn_point = locate(/obj/effect/landmark/start/medical_doctor) in GLOB.start_landmarks_list
T = get_turf(spawn_point)
H.Move(T)
+54 -8
View File
@@ -13,10 +13,10 @@ Research Director
supervisors = "the captain"
selection_color = "#ffddff"
req_admin_notify = 1
minimal_player_age = 10
exp_type_department = EXP_TYPE_SCIENCE
exp_requirements = 300
minimal_player_age = 14
exp_requirements = 1500
exp_type = EXP_TYPE_SCIENCE
exp_type_department = EXP_TYPE_SCIENCE
outfit = /datum/outfit/job/rd
@@ -71,12 +71,13 @@ Scientist
department_flag = MEDSCI
faction = "Station"
total_positions = 5
spawn_positions = 3
spawn_positions = 2
minimal_player_age = 1
supervisors = "the research director"
selection_color = "#ffeeff"
exp_requirements = 120
exp_type = EXP_TYPE_CREW
exp_requirements = 480
exp_type = EXP_TYPE_SCIENCE
exp_type_department = EXP_TYPE_SCIENCE
outfit = /datum/outfit/job/scientist
@@ -111,8 +112,10 @@ Roboticist
minimal_player_age = 2
supervisors = "the research director"
selection_color = "#ffeeff"
exp_requirements = 120
exp_type = EXP_TYPE_CREW
exp_requirements = 300
exp_type = EXP_TYPE_SCIENCE
exp_type_department = EXP_TYPE_SCIENCE
outfit = /datum/outfit/job/roboticist
@@ -133,3 +136,46 @@ Roboticist
satchel = /obj/item/storage/backpack/satchel/tox
pda_slot = SLOT_L_STORE
/*
Junior Scientist
*/
/datum/job/junior_scientist
title = "Research Student"
flag = JR_SCIENTIST
department_head = list("Research Director")
department_flag = MEDSCI
faction = "Station"
total_positions = 2
spawn_positions = 1
minimal_player_age = 0
supervisors = "the research director, and any other senior science staff"
selection_color = "#ffeeff"
exp_requirements = 120
exp_type = EXP_TYPE_CREW
outfit = /datum/outfit/job/scientist/junior
access = list(ACCESS_ROBOTICS, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE, ACCESS_GENETICS)
minimal_access = list(ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM)
/datum/outfit/job/scientist/junior
name = "Scientist"
jobtype = /datum/job/scientist
belt = /obj/item/pda/toxins
ears = /obj/item/radio/headset/headset_sci
uniform = /obj/item/clothing/under/rank/scientist
shoes = /obj/item/clothing/shoes/sneakers/white
suit = /obj/item/clothing/suit/toggle/labcoat/science
backpack = /obj/item/storage/backpack/science
satchel = /obj/item/storage/backpack/satchel/tox
/datum/job/junior_scientist/after_spawn(mob/living/carbon/human/H, mob/M) //Instead of going through the process of adding spawnpoints
var/turf/T
var/spawn_point = locate(/obj/effect/landmark/start/scientist) in GLOB.start_landmarks_list
T = get_turf(spawn_point)
H.Move(T)
+153 -10
View File
@@ -20,7 +20,7 @@ Head of Security
selection_color = "#ffdddd"
req_admin_notify = 1
minimal_player_age = 20
exp_requirements = 420
exp_requirements = 2000
exp_type = EXP_TYPE_SECURITY
exp_type_department = EXP_TYPE_SECURITY
@@ -87,9 +87,10 @@ Warden
spawn_positions = 1
supervisors = "the head of security"
selection_color = "#ffeeee"
minimal_player_age = 3
exp_requirements = 360
exp_type = EXP_TYPE_CREW
minimal_player_age = 9
exp_requirements = 720
exp_type = EXP_TYPE_SECURITY
exp_type_department = EXP_TYPE_SECURITY
outfit = /datum/outfit/job/warden
@@ -118,7 +119,9 @@ Warden
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
r_pocket = /obj/item/assembly/flash/handheld
l_pocket = /obj/item/restraints/handcuffs
suit_store = /obj/item/gun/energy/e_gun/advtaser
//suit_store = /obj/item/gun/energy/e_gun/advtaser
suit_store = /obj/item/gun/energy/pumpaction/defender
backpack_contents = list(/obj/item/melee/baton/loaded=1)
backpack = /obj/item/storage/backpack/security
@@ -143,9 +146,10 @@ Detective
spawn_positions = 1
supervisors = "the head of security"
selection_color = "#ffeeee"
minimal_player_age = 2
minimal_player_age = 5
exp_requirements = 300
exp_type = EXP_TYPE_CREW
exp_type = EXP_TYPE_SECURITY
exp_type_department = EXP_TYPE_SECURITY
outfit = /datum/outfit/job/detective
@@ -199,9 +203,10 @@ Security Officer
spawn_positions = 5 //Handled in /datum/controller/occupations/proc/setup_officer_positions()
supervisors = "the head of security, and the head of your assigned department (if applicable)"
selection_color = "#ffeeee"
minimal_player_age = 1
exp_requirements = 300
exp_type = EXP_TYPE_CREW
minimal_player_age = 5
exp_requirements = 420
exp_type = EXP_TYPE_SECURITY
exp_type_department = EXP_TYPE_SECURITY
outfit = /datum/outfit/job/security
@@ -344,3 +349,141 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S
/obj/item/radio/headset/headset_sec/alt/department/sci
keyslot = new /obj/item/encryptionkey/headset_sec
keyslot2 = new /obj/item/encryptionkey/headset_sci
/*
Junior Security Officer
*/
/datum/job/junior_officer
title = "Rookie"
flag = JR_OFFICER
department_head = list("Head of Security")
department_flag = ENGSEC
faction = "Station"
total_positions = 5 //Handled in /datum/controller/occupations/proc/setup_officer_positions()
spawn_positions = 5 //Handled in /datum/controller/occupations/proc/setup_officer_positions()
supervisors = "the head of security, and the head of your assigned department (if applicable), and any other senior officer"
selection_color = "#ffeeee"
minimal_player_age = 3
exp_requirements = 300
exp_type = EXP_TYPE_CREW
outfit = /datum/outfit/job/security/junior
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_FORENSICS_LOCKERS, ACCESS_MINERAL_STOREROOM)
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_MINERAL_STOREROOM) //BUT SEE /DATUM/JOB/WARDEN/GET_ACCESS()
mind_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM)
blacklisted_quirks = list(/datum/quirk/mute, /datum/quirk/nonviolent, /datum/quirk/paraplegic)
/datum/job/junior_officer/get_access()
var/list/L = list()
L |= ..() | check_config_for_sec_maint()
return L
/datum/job/junior_officer/after_spawn(mob/living/carbon/human/H, mob/M)
// Assign department security
var/department
if(M && M.client && M.client.prefs)
department = M.client.prefs.prefered_security_department
if(!LAZYLEN(GLOB.available_depts) || department == "None")
return
else if(department in GLOB.available_depts)
LAZYREMOVE(GLOB.available_depts, department)
else
department = pick_n_take(GLOB.available_depts)
var/ears = null
var/accessory = null
var/list/dep_access = null
var/destination = null
var/spawn_point = locate(/obj/effect/landmark/start/security_officer) in GLOB.start_landmarks_list
switch(department)
if(SEC_DEPT_SUPPLY)
ears = /obj/item/radio/headset/headset_sec/alt/department/supply
dep_access = list(ACCESS_MAILSORTING, ACCESS_MINING, ACCESS_MINING_STATION)
destination = /area/security/checkpoint/supply
spawn_point = locate(/obj/effect/landmark/start/depsec/supply) in GLOB.department_security_spawns
accessory = /obj/item/clothing/accessory/armband/cargo
if(SEC_DEPT_ENGINEERING)
ears = /obj/item/radio/headset/headset_sec/alt/department/engi
dep_access = list(ACCESS_CONSTRUCTION, ACCESS_ENGINE)
destination = /area/security/checkpoint/engineering
spawn_point = locate(/obj/effect/landmark/start/depsec/engineering) in GLOB.department_security_spawns
accessory = /obj/item/clothing/accessory/armband/engine
if(SEC_DEPT_MEDICAL)
ears = /obj/item/radio/headset/headset_sec/alt/department/med
dep_access = list(ACCESS_MEDICAL)
destination = /area/security/checkpoint/medical
spawn_point = locate(/obj/effect/landmark/start/depsec/medical) in GLOB.department_security_spawns
accessory = /obj/item/clothing/accessory/armband/medblue
if(SEC_DEPT_SCIENCE)
ears = /obj/item/radio/headset/headset_sec/alt/department/sci
dep_access = list(ACCESS_RESEARCH)
destination = /area/security/checkpoint/science
spawn_point = locate(/obj/effect/landmark/start/depsec/science) in GLOB.department_security_spawns
accessory = /obj/item/clothing/accessory/armband/science
if(accessory)
var/obj/item/clothing/under/U = H.w_uniform
U.attach_accessory(new accessory)
if(ears)
if(H.ears)
qdel(H.ears)
H.equip_to_slot_or_del(new ears(H),SLOT_EARS)
var/obj/item/card/id/W = H.wear_id
W.access |= dep_access
var/teleport = 0
if(!CONFIG_GET(flag/sec_start_brig))
if(destination || spawn_point)
teleport = 1
if(teleport)
var/turf/T
if(spawn_point)
T = get_turf(spawn_point)
H.Move(T)
else
var/safety = 0
while(safety < 25)
T = safepick(get_area_turfs(destination))
if(T && !H.Move(T))
safety += 1
continue
else
break
if(department)
to_chat(M, "<b>You have been assigned to [department]!</b>")
else
to_chat(M, "<b>You have not been assigned to any department. Patrol the halls and help where needed.</b>")
/datum/outfit/job/security/junior
name = "Security Officer"
jobtype = /datum/job/officer
belt = /obj/item/pda/security
ears = /obj/item/radio/headset/headset_sec/alt
uniform = /obj/item/clothing/under/rank/security
gloves = /obj/item/clothing/gloves/color/black
head = /obj/item/clothing/head/helmet/sec
suit = /obj/item/clothing/suit/armor/vest/alt
shoes = /obj/item/clothing/shoes/jackboots
l_pocket = /obj/item/restraints/handcuffs
r_pocket = /obj/item/assembly/flash/handheld
suit_store = /obj/item/gun/energy/e_gun/advtaser
backpack_contents = list(/obj/item/melee/baton/loaded=1)
backpack = /obj/item/storage/backpack/security
satchel = /obj/item/storage/backpack/satchel/sec
duffelbag = /obj/item/storage/backpack/duffelbag/sec
box = /obj/item/storage/box/security
implants = list(/obj/item/implant/mindshield)
chameleon_extras = list(/obj/item/gun/energy/e_gun/advtaser, /obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/clothing/head/helmet)
//The helmet is necessary because /obj/item/clothing/head/helmet/sec is overwritten in the chameleon list by the standard helmet, which has the same name and icon state
+7 -7
View File
@@ -11,10 +11,10 @@ AI
selection_color = "#ccffcc"
supervisors = "your laws"
req_admin_notify = TRUE
minimal_player_age = 5
exp_requirements = 1200
exp_type = EXP_TYPE_CREW
// exp_type_department = EXP_TYPE_SILICON
minimal_player_age = 14
exp_requirements = 1800
//exp_type = EXP_TYPE_CREW
exp_type_department = EXP_TYPE_SILICON
var/do_special_check = TRUE
/datum/job/ai/equip(mob/living/carbon/human/H, visualsOnly, announce, latejoin, outfit_override)
@@ -78,9 +78,9 @@ Cyborg
spawn_positions = 1
supervisors = "your laws and the AI" //Nodrak
selection_color = "#ddffdd"
// minimal_player_age = 0
// exp_requirements = 120
// exp_type = EXP_TYPE_CREW
minimal_player_age = 0
exp_requirements = 300
exp_type = EXP_TYPE_CREW
/datum/job/cyborg/equip(mob/living/carbon/human/H, visualsOnly = FALSE, announce = TRUE, latejoin = FALSE, outfit_override = null)
return H.Robotize(FALSE, latejoin)
+8 -4
View File
@@ -10,7 +10,8 @@ GLOBAL_LIST_INIT(command_positions, list(
GLOBAL_LIST_INIT(engineering_positions, list(
"Chief Engineer",
"Station Engineer",
"Atmospheric Technician"))
"Atmospheric Technician",
"Engineering Intern"))
GLOBAL_LIST_INIT(medical_positions, list(
@@ -18,13 +19,15 @@ GLOBAL_LIST_INIT(medical_positions, list(
"Medical Doctor",
"Geneticist",
"Virologist",
"Chemist"))
"Chemist",
"Medical Resident"))
GLOBAL_LIST_INIT(science_positions, list(
"Research Director",
"Scientist",
"Roboticist"))
"Roboticist",
"Research Student"))
GLOBAL_LIST_INIT(supply_positions, list(
"Quartermaster",
@@ -48,7 +51,8 @@ GLOBAL_LIST_INIT(security_positions, list(
"Head of Security",
"Warden",
"Detective",
"Security Officer"))
"Security Officer",
"Rookie"))
GLOBAL_LIST_INIT(nonhuman_positions, list(
-6
View File
@@ -3146,12 +3146,6 @@
#include "modular_citadel\code\modules\food_and_drinks\snacks\meat.dm"
#include "modular_citadel\code\modules\integrated_electronics\subtypes\manipulation.dm"
#include "modular_citadel\code\modules\jobs\dresscode_values.dm"
#include "modular_citadel\code\modules\jobs\job_types\captain.dm"
#include "modular_citadel\code\modules\jobs\job_types\cargo_service.dm"
#include "modular_citadel\code\modules\jobs\job_types\engineering.dm"
#include "modular_citadel\code\modules\jobs\job_types\medical.dm"
#include "modular_citadel\code\modules\jobs\job_types\science.dm"
#include "modular_citadel\code\modules\jobs\job_types\security.dm"
#include "modular_citadel\code\modules\keybindings\bindings_carbon.dm"
#include "modular_citadel\code\modules\keybindings\bindings_human.dm"
#include "modular_citadel\code\modules\keybindings\bindings_robot.dm"