diff --git a/code/__DEFINES/access.dm b/code/__DEFINES/access.dm index bef808698..504792155 100644 --- a/code/__DEFINES/access.dm +++ b/code/__DEFINES/access.dm @@ -67,6 +67,7 @@ #define ACCESS_ENTER_GENPOP 69 #define ACCESS_LEAVE_GENPOP 70 #define ACCESS_PSYCH 71 +#define ACCESS_LAMBENT 72 //BEGIN CENTCOM ACCESS /*Should leave plenty of room if we need to add more access levels. diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 86dd868a4..b0936d040 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -14,6 +14,7 @@ #define CYBORG (1<<10) #define JR_OFFICER (1<<11) #define JR_ENGINEER (1<<12) +#define LAMBENT (1<<13) #define MEDSCI (1<<1) @@ -53,4 +54,4 @@ #define JOB_UNAVAILABLE_PLAYTIME 3 #define JOB_UNAVAILABLE_ACCOUNTAGE 4 #define JOB_UNAVAILABLE_SLOTFULL 5 -#define JOB_UNAVAILABLE_WHITELIST 6 \ No newline at end of file +#define JOB_UNAVAILABLE_WHITELIST 6 diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index a68b5c545..0e235c991 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -952,6 +952,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Private Investigator's Office" icon_state = "detective" +/area/security/lambent + name = "Lambent's Quarters" + icon_state = "detective" + /area/security/range name = "Firing Range" icon_state = "firingrange" diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 2d69b4d8f..aa78f2d93 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -123,6 +123,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) name = "Detective" icon_state = "Detective" +/obj/effect/landmark/start/lambent + name = "Lambent" + icon_state = "Lambent" + /obj/effect/landmark/start/warden name = "Warden" icon_state = "Warden" diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index cd8ac3df9..ed734c98a 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -127,7 +127,7 @@ return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_BAR) /proc/get_all_accesses() - return list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS, ACCESS_COURT, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, + return list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS, ACCESS_COURT, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_LAMBENT, ACCESS_MEDICAL, ACCESS_GENETICS, ACCESS_MORGUE, ACCESS_RD, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_CHEMISTRY, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, @@ -163,7 +163,7 @@ if(1) //station general return list(ACCESS_KITCHEN,ACCESS_BAR, ACCESS_HYDROPONICS, ACCESS_JANITOR, ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_LIBRARY, ACCESS_THEATRE, ACCESS_LAWYER) 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) + 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, ACCESS_LAMBENT) if(3) //medbay return list(ACCESS_MEDICAL, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_SURGERY, ACCESS_CMO, ACCESS_PSYCH) if(4) //research @@ -322,6 +322,8 @@ return "Prison Turnstile Entrance" if(ACCESS_LEAVE_GENPOP) return "Prison Turnstile Exit" + if(ACCESS_LAMBENT) + return "Lambent's Quarters" if(ACCESS_MINERAL_STOREROOM) return "Mineral Storage" if(ACCESS_MINISAT) @@ -360,7 +362,7 @@ 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", "Psychologist", "Medical Resident", - "Research Director", "Scientist", "Roboticist", "Research Student", "Head of Security", "Warden", "Detective", "Security Officer", "Rookie") + "Research Director", "Scientist", "Roboticist", "Research Student", "Head of Security", "Warden", "Detective", "Security Officer", "Rookie", "Lambent") /proc/get_all_job_icons() //For all existing HUD icons return get_all_jobs() + list("Prisoner") diff --git a/code/modules/jobs/job_types/job_alt_titles.dm b/code/modules/jobs/job_types/job_alt_titles.dm index cd29fff71..b96fd9b7f 100644 --- a/code/modules/jobs/job_types/job_alt_titles.dm +++ b/code/modules/jobs/job_types/job_alt_titles.dm @@ -89,6 +89,9 @@ /datum/job/detective alt_titles = list("Forensics Technician", "Private Investigator", "Gumshoe") +/datum/job/lambent + alt_titles = list("Kinaris Protectorate", "Hardshield", "Asset Specialist", "Luminal") + /datum/job/junior_officer //Supply diff --git a/code/modules/jobs/job_types/security.dm b/code/modules/jobs/job_types/security.dm index 0b18fd650..33776f618 100644 --- a/code/modules/jobs/job_types/security.dm +++ b/code/modules/jobs/job_types/security.dm @@ -74,6 +74,62 @@ Head of Security suit_store = /obj/item/tank/internals/oxygen backpack_contents = list(/obj/item/melee/baton/loaded=1, /obj/item/gun/energy/e_gun=1) +/* +Lambent +*/ +/datum/job/lambent + title = "Lambent" + flag = LAMBENT + department_head = list("CentCom") + department_flag = ENGSEC + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "Central Command and Kinaris officials" + selection_color = "#ffedcc" + req_admin_notify = 1 + minimal_player_age = 30 + exp_requirements = 9000 + exp_type = EXP_TYPE_COMMAND + exp_type_department = EXP_TYPE_COMMAND + + outfit = /datum/outfit/job/lambent + + access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_LAMBENT, + ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS, ACCESS_ALL_PERSONAL_LOCKERS, + ACCESS_RESEARCH, ACCESS_ENGINE, ACCESS_MINING, ACCESS_MEDICAL, ACCESS_CONSTRUCTION, ACCESS_MAILSORTING, + ACCESS_HEADS, ACCESS_HOS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) + minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_LAMBENT, + ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS, ACCESS_ALL_PERSONAL_LOCKERS, + ACCESS_RESEARCH, ACCESS_ENGINE, ACCESS_MINING, ACCESS_MEDICAL, ACCESS_CONSTRUCTION, ACCESS_MAILSORTING, + ACCESS_HEADS, ACCESS_HOS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) + + mind_traits = list(TRAIT_CAPTAIN_METABOLISM) + + blacklisted_quirks = list(/datum/quirk/brainproblems, /datum/quirk/insanity, /datum/quirk/nonviolent) + +/datum/outfit/job/lambent + name = "Lambent" + jobtype = /datum/job/lambent + + id = /obj/item/card/id/silver + belt = /obj/item/pda/captain + glasses = /obj/item/clothing/glasses/sunglasses + ears = /obj/item/radio/headset/heads/captain/alt + gloves = /obj/item/clothing/gloves/color/captain + uniform = /obj/item/clothing/under/rank/captain + suit = /obj/item/clothing/suit/armor/vest/capcarapace + shoes = /obj/item/clothing/shoes/sneakers/brown + head = /obj/item/clothing/head/caphat + backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) + + backpack = /obj/item/storage/backpack/captain + satchel = /obj/item/storage/backpack/satchel/cap + duffelbag = /obj/item/storage/backpack/duffelbag/captain + box = /obj/item/storage/box/security + + implants = list(/obj/item/implant/mindshield) + /* Warden */ diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 267680408..3dd039adb 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -1,5 +1,6 @@ GLOBAL_LIST_INIT(command_positions, list( "Captain", + "Lambent", "Head of Personnel", "Head of Security", "Chief Engineer", diff --git a/config/jobs.txt b/config/jobs.txt index 4d00392aa..4156b60e0 100644 --- a/config/jobs.txt +++ b/config/jobs.txt @@ -3,6 +3,7 @@ #Job names must be identical to the title var of each job datum #Positions can be set to -1 to allow unlimited slots Captain=1,1 +Lambent=1,1 Head of Personnel=1,1 Head of Security=1,1 Chief Engineer=1,1