mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 19:44:09 +01:00
Adds Skeleton Crew Access (#31389)
* Spooky scary skeletons * Spooky scary skeletons * Spooky scary skeletons * Merge * Merge * Update job_defines.dm * Update support.dm * Update support.dm * Update science_jobs.dm * Update support.dm * Update security_jobs.dm * Update cards_ids.dm * Update cards_ids.dm * Update support.dm * Update cards_ids.dm * config * Update SSjobs.dm * captaincy
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
/// Config holder for all job related things
|
||||
/datum/configuration_section/job_configuration
|
||||
/// Will the crew be given extended access if the manifest count is low enough?
|
||||
var/allow_skeleton_crew_access = TRUE
|
||||
/// Number of crew on the manifest needed to activate skeleton crew access
|
||||
var/skeleton_crew_threshold = 30
|
||||
/// Number of crew on the manifest needed to disable skeleton crew access
|
||||
var/skeleton_crew_escape_threshold = 35
|
||||
/// Do we want to restrict jobs based on account age
|
||||
var/restrict_jobs_on_account_age = FALSE
|
||||
/// Allow admins to bypass age-based job restrictions
|
||||
@@ -29,6 +35,9 @@
|
||||
|
||||
/datum/configuration_section/job_configuration/load_data(list/data)
|
||||
// Use the load wrappers here. That way the default isnt made 'null' if you comment out the config line
|
||||
CONFIG_LOAD_BOOL(allow_skeleton_crew_access, data["allow_skeleton_crew_access"])
|
||||
CONFIG_LOAD_BOOL(skeleton_crew_threshold, data["skeleton_crew_threshold"])
|
||||
CONFIG_LOAD_BOOL(skeleton_crew_escape_threshold, data["skeleton_crew_escape_threshold"])
|
||||
CONFIG_LOAD_BOOL(restrict_jobs_on_account_age, data["restrict_jobs_on_account_age"])
|
||||
CONFIG_LOAD_BOOL(restrict_jobs_on_account_age_admin_bypass, data["restrict_jobs_on_account_age_admin_bypass"])
|
||||
CONFIG_LOAD_BOOL(enable_exp_tracking, data["enable_exp_tracking"])
|
||||
|
||||
@@ -15,6 +15,10 @@ SUBSYSTEM_DEF(jobs)
|
||||
var/probability_of_antag_role_restriction = 100 // Dict probability of a job rolling an antagonist role
|
||||
var/id_change_counter = 1
|
||||
|
||||
/// Is the crew count below the skeleton crew threshold?
|
||||
var/skeleton_crew = FALSE
|
||||
/// Holds a reference to the skeleton timer until it's finished or killed.
|
||||
var/skeleton_revoke_timer
|
||||
///list of station departments and their associated roles and economy payments
|
||||
var/list/station_departments = list()
|
||||
/// Do we spawn everyone at shuttle due to late arivals?
|
||||
@@ -33,6 +37,8 @@ SUBSYSTEM_DEF(jobs)
|
||||
|
||||
// Only fires every 5 minutes
|
||||
/datum/controller/subsystem/jobs/fire()
|
||||
if(GLOB.configuration.jobs.allow_skeleton_crew_access)
|
||||
check_skeleton_crew()
|
||||
if(!SSdbcore.IsConnected() || !GLOB.configuration.jobs.enable_exp_tracking)
|
||||
return
|
||||
batch_update_player_exp(announce = FALSE) // Set this to true if you ever want to inform players about their EXP gains
|
||||
@@ -587,3 +593,20 @@ SUBSYSTEM_DEF(jobs)
|
||||
SSdbcore.MassExecute(playtime_history_update_queries, TRUE, TRUE, FALSE, FALSE)
|
||||
|
||||
log_debug("Successfully updated all EXP data in [stop_watch(start_time)]s")
|
||||
|
||||
/datum/controller/subsystem/jobs/proc/check_skeleton_crew()
|
||||
if(length(GLOB.crew_list) <= GLOB.configuration.jobs.skeleton_crew_threshold)
|
||||
if(skeleton_revoke_timer)
|
||||
deltimer(skeleton_revoke_timer)
|
||||
if(!skeleton_crew)
|
||||
GLOB.minor_announcement.Announce("Due to reduced crew numbers, extended departmental access has been unlocked on crew IDs.", "Extended Access Enabled")
|
||||
skeleton_crew = TRUE
|
||||
else
|
||||
if(skeleton_crew >= GLOB.configuration.jobs.skeleton_crew_escape_threshold)
|
||||
GLOB.minor_announcement.Announce("Crew count is now above minimal levels, extended departmental access will be revoked from crew IDs in 2 minutes. \
|
||||
If your ID access has not been upgraded by the Head of Personnel, please vacate any areas you do not normally have access to.", "Extended Access Disabled")
|
||||
skeleton_revoke_timer = addtimer(CALLBACK(src, PROC_REF(deactivate_skeleton_access)), 2 MINUTES, TIMER_STOPPABLE)
|
||||
|
||||
/datum/controller/subsystem/jobs/proc/deactivate_skeleton_access()
|
||||
skeleton_crew = FALSE
|
||||
deltimer(skeleton_revoke_timer)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
ACCESS_TELEPORTER,
|
||||
ACCESS_WEAPONS
|
||||
)
|
||||
skeleton_access = list(ACCESS_CAPTAIN)
|
||||
minimal_player_age = 21
|
||||
exp_map = list(EXP_TYPE_ENGINEERING = 1200)
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP, DISABILITY_FLAG_PARAPLEGIC)
|
||||
@@ -90,6 +91,7 @@
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_TECH_STORAGE
|
||||
)
|
||||
skeleton_access = list(ACCESS_ATMOSPHERICS)
|
||||
alt_titles = list("Maintenance Technician","Engine Technician","Electrician")
|
||||
minimal_player_age = 7
|
||||
exp_map = list(EXP_TYPE_CREW = 300)
|
||||
@@ -142,6 +144,10 @@
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_TECH_STORAGE
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_STATION_ENGINEER,
|
||||
ACCESS_ENGINE_EQUIP,
|
||||
)
|
||||
alt_titles = list("Atmospheric Technician")
|
||||
minimal_player_age = 7
|
||||
exp_map = list(EXP_TYPE_CREW = 300)
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
/// Job access. A list of constants from access_defines.dm.
|
||||
var/list/access = list()
|
||||
|
||||
/// Extra job access when the number of crew is below the skeleton crew threshold.
|
||||
var/list/skeleton_access = list()
|
||||
|
||||
///Job Bitflag, used for Database entries - DO NOT JUST EDIT THESE
|
||||
var/flag = 0
|
||||
///Department(s) Bitflag, used for Databse entries - DO NOT JUST EDIT THESE
|
||||
@@ -108,6 +111,9 @@
|
||||
/datum/job/proc/get_access()
|
||||
return access.Copy()
|
||||
|
||||
/datum/job/proc/get_skeleton_access()
|
||||
return skeleton_access.Copy()
|
||||
|
||||
//If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1
|
||||
/datum/job/proc/player_old_enough(client/C)
|
||||
if(available_in_days(C) == 0)
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
ACCESS_VIROLOGY,
|
||||
ACCESS_WEAPONS
|
||||
)
|
||||
skeleton_access = list(ACCESS_CAPTAIN)
|
||||
minimal_player_age = 21
|
||||
exp_map = list(EXP_TYPE_MEDICAL = 1200)
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY)
|
||||
@@ -79,6 +80,11 @@
|
||||
ACCESS_MORGUE,
|
||||
ACCESS_SURGERY
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_CHEMISTRY,
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_VIROLOGY,
|
||||
)
|
||||
alt_titles = list("Surgeon","Nurse")
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
@@ -124,6 +130,12 @@
|
||||
ACCESS_MEDICAL,
|
||||
ACCESS_MORGUE
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_SURGERY,
|
||||
ACCESS_CHEMISTRY,
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_VIROLOGY,
|
||||
)
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
outfit = /datum/outfit/job/coroner
|
||||
@@ -196,6 +208,11 @@
|
||||
ACCESS_MEDICAL,
|
||||
ACCESS_MINERAL_STOREROOM
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_MORGUE,
|
||||
ACCESS_SURGERY,
|
||||
ACCESS_VIROLOGY,
|
||||
)
|
||||
alt_titles = list("Pharmacist","Pharmacologist")
|
||||
minimal_player_age = 7
|
||||
exp_map = list(EXP_TYPE_CREW = 300)
|
||||
@@ -242,6 +259,12 @@
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_VIROLOGY
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_MORGUE,
|
||||
ACCESS_SURGERY,
|
||||
ACCESS_CHEMISTRY,
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
)
|
||||
alt_titles = list("Pathologist","Microbiologist")
|
||||
minimal_player_age = 7
|
||||
exp_map = list(EXP_TYPE_CREW = 300)
|
||||
@@ -292,6 +315,13 @@
|
||||
ACCESS_MEDICAL,
|
||||
ACCESS_PSYCHIATRIST
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_MORGUE,
|
||||
ACCESS_SURGERY,
|
||||
ACCESS_CHEMISTRY,
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_VIROLOGY,
|
||||
)
|
||||
alt_titles = list("Psychologist","Therapist")
|
||||
outfit = /datum/outfit/job/psychiatrist
|
||||
standard_paycheck = CREW_PAY_MEDIUM
|
||||
@@ -346,6 +376,12 @@
|
||||
ACCESS_PARAMEDIC,
|
||||
ACCESS_TELEPORTER
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_SURGERY,
|
||||
ACCESS_CHEMISTRY,
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_VIROLOGY,
|
||||
)
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
outfit = /datum/outfit/job/paramedic
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
ACCESS_XENOBIOLOGY,
|
||||
ACCESS_WEAPONS
|
||||
)
|
||||
skeleton_access = list(ACCESS_CAPTAIN)
|
||||
minimal_player_age = 21
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY)
|
||||
exp_map = list(EXP_TYPE_SCIENCE = 1200)
|
||||
@@ -90,6 +91,15 @@
|
||||
ACCESS_TOX_STORAGE,
|
||||
ACCESS_TOX,
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_ROBOTICS,
|
||||
ACCESS_MORGUE,
|
||||
ACCESS_TECH_STORAGE,
|
||||
ACCESS_GENETICS,
|
||||
ACCESS_XENOBIOLOGY,
|
||||
ACCESS_MINING,
|
||||
ACCESS_MINING_STATION,
|
||||
)
|
||||
alt_titles = list("Anomalist", "Plasma Researcher", "Chemical Researcher")
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 300)
|
||||
@@ -144,6 +154,14 @@
|
||||
ACCESS_EXTERNAL_AIRLOCKS,
|
||||
ACCESS_TELEPORTER,
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_TOX_STORAGE,
|
||||
ACCESS_TOX,
|
||||
ACCESS_ROBOTICS,
|
||||
ACCESS_MORGUE,
|
||||
ACCESS_TECH_STORAGE,
|
||||
ACCESS_GENETICS,
|
||||
)
|
||||
alt_titles = list("Xenoarcheologist", "Slime Cultivator", "Slime Rancher")
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 300)
|
||||
@@ -200,6 +218,14 @@
|
||||
ACCESS_ROBOTICS,
|
||||
ACCESS_TECH_STORAGE
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_TOX_STORAGE,
|
||||
ACCESS_TOX,
|
||||
ACCESS_GENETICS,
|
||||
ACCESS_XENOBIOLOGY,
|
||||
ACCESS_MINING,
|
||||
ACCESS_MINING_STATION,
|
||||
)
|
||||
alt_titles = list("Biomechanical Engineer","Mechatronic Engineer")
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
@@ -249,6 +275,17 @@
|
||||
ACCESS_MAINT_TUNNELS,
|
||||
ACCESS_RESEARCH
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_TOX_STORAGE,
|
||||
ACCESS_TOX,
|
||||
ACCESS_ROBOTICS,
|
||||
ACCESS_MORGUE,
|
||||
ACCESS_TECH_STORAGE,
|
||||
ACCESS_XENOBIOLOGY,
|
||||
ACCESS_MINING,
|
||||
ACCESS_MINING_STATION,
|
||||
)
|
||||
minimal_player_age = 3
|
||||
exp_map = list(EXP_TYPE_CREW = 180)
|
||||
outfit = /datum/outfit/job/geneticist
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
ACCESS_SUPPLY_SHUTTLE,
|
||||
ACCESS_WEAPONS
|
||||
)
|
||||
skeleton_access = list(ACCESS_CAPTAIN)
|
||||
minimal_player_age = 21
|
||||
exp_map = list(EXP_TYPE_SECURITY = 1200)
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP, DISABILITY_FLAG_PARAPLEGIC)
|
||||
@@ -99,6 +100,10 @@
|
||||
ACCESS_SECURITY,
|
||||
ACCESS_WEAPONS
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_FORENSICS_LOCKERS,
|
||||
ACCESS_MORGUE,
|
||||
)
|
||||
minimal_player_age = 21
|
||||
exp_map = list(EXP_TYPE_SECURITY = 600)
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP, DISABILITY_FLAG_PARAPLEGIC)
|
||||
@@ -235,6 +240,10 @@
|
||||
ACCESS_SECURITY,
|
||||
ACCESS_WEAPONS
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_FORENSICS_LOCKERS,
|
||||
ACCESS_MORGUE,
|
||||
)
|
||||
minimal_player_age = 14
|
||||
exp_map = list(EXP_TYPE_CREW = 600)
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY, DISABILITY_FLAG_PARAPLEGIC)
|
||||
|
||||
@@ -110,6 +110,7 @@
|
||||
ACCESS_THEATRE,
|
||||
ACCESS_WEAPONS
|
||||
)
|
||||
skeleton_access = list(ACCESS_CAPTAIN)
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY , DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP)
|
||||
outfit = /datum/outfit/job/hop
|
||||
important_information = "This role requires you to coordinate a department. You are required to be familiar with Standard Operating Procedure (Service), basic job duties, and act professionally (roleplay)."
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
ACCESS_EXPEDITION,
|
||||
ACCESS_SMITH
|
||||
)
|
||||
skeleton_access = list(ACCESS_CAPTAIN)
|
||||
blacklisted_disabilities = list(DISABILITY_FLAG_BLIND, DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_DIZZY)
|
||||
outfit = /datum/outfit/job/qm
|
||||
important_information = "This role requires you to coordinate a department. You are required to be familiar with Standard Operating Procedure (Supply), basic job duties, and act professionally (roleplay)."
|
||||
@@ -80,6 +81,11 @@
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_SUPPLY_SHUTTLE,
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_MINING,
|
||||
ACCESS_MINING_STATION,
|
||||
ACCESS_SMITH,
|
||||
)
|
||||
alt_titles = list("Mail Carrier", "Courier")
|
||||
outfit = /datum/outfit/job/cargo_tech
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
@@ -120,7 +126,11 @@
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_MINING,
|
||||
ACCESS_MINING_STATION,
|
||||
ACCESS_SMITH
|
||||
ACCESS_SMITH,
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_MAILSORTING,
|
||||
ACCESS_SUPPLY_SHUTTLE,
|
||||
)
|
||||
alt_titles = list("Metalworker", "Tinkerer")
|
||||
outfit = /datum/outfit/job/smith
|
||||
@@ -162,6 +172,13 @@
|
||||
ACCESS_MINING_STATION,
|
||||
ACCESS_MINING,
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_MAILSORTING,
|
||||
ACCESS_CARGO,
|
||||
ACCESS_CARGO_BAY,
|
||||
ACCESS_SUPPLY_SHUTTLE,
|
||||
ACCESS_SMITH,
|
||||
)
|
||||
alt_titles = list("Spelunker")
|
||||
outfit = /datum/outfit/job/mining
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
@@ -252,7 +269,14 @@
|
||||
ACCESS_TELEPORTER,
|
||||
ACCESS_CARGO,
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_MINING_STATION
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_CARGO_BAY,
|
||||
ACCESS_SUPPLY_SHUTTLE,
|
||||
ACCESS_MAILSORTING,
|
||||
ACCESS_MINING_STATION,
|
||||
ACCESS_MINING,
|
||||
ACCESS_SMITH,
|
||||
)
|
||||
alt_titles = list("Salvage Technician", "Scavenger")
|
||||
outfit = /datum/outfit/job/explorer
|
||||
@@ -294,6 +318,11 @@
|
||||
department_head = list("Head of Personnel")
|
||||
selection_color = "#dddddd"
|
||||
access = list(ACCESS_BAR, ACCESS_MAINT_TUNNELS, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM)
|
||||
skeleton_access = list(
|
||||
ACCESS_KITCHEN,
|
||||
ACCESS_HYDROPONICS,
|
||||
ACCESS_MORGUE,
|
||||
)
|
||||
outfit = /datum/outfit/job/bartender
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
difficulty = LOW_DIFFICULTY
|
||||
@@ -344,6 +373,12 @@
|
||||
ACCESS_KITCHEN,
|
||||
ACCESS_MAINT_TUNNELS
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_BAR,
|
||||
ACCESS_MORGUE,
|
||||
ACCESS_HYDROPONICS,
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
)
|
||||
alt_titles = list("Cook","Culinary Artist","Butcher")
|
||||
outfit = /datum/outfit/job/chef
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
@@ -389,6 +424,11 @@
|
||||
ACCESS_MAINT_TUNNELS,
|
||||
ACCESS_MORGUE
|
||||
)
|
||||
skeleton_access = list(
|
||||
ACCESS_KITCHEN,
|
||||
ACCESS_BAR,
|
||||
ACCESS_MINERAL_STOREROOM,
|
||||
)
|
||||
alt_titles = list("Hydroponicist", "Botanical Researcher")
|
||||
outfit = /datum/outfit/job/hydro
|
||||
standard_paycheck = CREW_PAY_LOW
|
||||
|
||||
@@ -497,6 +497,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
SSjobs.notify_dept_head(modify.rank, "[scan.registered_name] has transferred \"[modify.registered_name]\" the \"[oldrank]\" to \"[temp_t]\".")
|
||||
else
|
||||
var/list/access = list()
|
||||
var/list/skeleton_access = list()
|
||||
var/datum/job/jobdatum
|
||||
if(is_centcom() && islist(get_centcom_access(t1)))
|
||||
access = get_centcom_access(t1)
|
||||
@@ -511,6 +512,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
return
|
||||
|
||||
access = jobdatum.get_access()
|
||||
skeleton_access = jobdatum.get_skeleton_access()
|
||||
|
||||
var/jobnamedata = modify.getRankAndAssignment()
|
||||
log_game("[key_name(usr)] ([scan.assignment]) has reassigned \"[modify.registered_name]\" from \"[jobnamedata]\" to \"[t1]\".")
|
||||
@@ -534,6 +536,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
H.mind.playtime_role = t1
|
||||
|
||||
modify.access = access
|
||||
modify.skeleton_access = skeleton_access
|
||||
modify.rank = t1
|
||||
modify.assignment = t1
|
||||
regenerate_id_name()
|
||||
|
||||
@@ -99,6 +99,7 @@
|
||||
/// Total mining points for the Shift.
|
||||
var/total_mining_points = 0
|
||||
var/list/access = list()
|
||||
var/list/skeleton_access = list()
|
||||
var/registered_name = "Unknown" // The name registered_name on the card
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 100)
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
@@ -220,9 +221,10 @@
|
||||
<img src=[photo_side] height=80 width=80 border=4></td></tr></table>"}
|
||||
|
||||
/obj/item/card/id/GetAccess()
|
||||
if(!guest_pass)
|
||||
return access
|
||||
return access | guest_pass.GetAccess()
|
||||
if(SSjobs.skeleton_crew)
|
||||
return access | guest_pass?.GetAccess() | skeleton_access
|
||||
|
||||
return access | guest_pass?.GetAccess()
|
||||
|
||||
/obj/item/card/id/proc/attach_guest_pass(obj/item/card/id/guest/G, mob/user)
|
||||
if(world.time > G.expiration_time)
|
||||
@@ -428,7 +430,7 @@
|
||||
access = get_all_centcom_access()
|
||||
..()
|
||||
|
||||
|
||||
// MARK: Security
|
||||
/obj/item/card/id/prisoner
|
||||
name = "prisoner ID card"
|
||||
desc = "You are a number, you are not a free man."
|
||||
@@ -486,47 +488,12 @@
|
||||
name = "Prisoner [random_number]"
|
||||
registered_name = name
|
||||
|
||||
/obj/item/card/id/medical
|
||||
name = "Medical ID"
|
||||
registered_name = "Medic"
|
||||
icon_state = "medical"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/coroner
|
||||
name = "Coroner ID"
|
||||
registered_name = "Coroner"
|
||||
icon_state = "coroner"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/virologist
|
||||
name = "Virologist ID"
|
||||
registered_name = "Virologist"
|
||||
icon_state = "virologist"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS)
|
||||
|
||||
/obj/item/card/id/chemist
|
||||
name = "Chemist ID"
|
||||
registered_name = "Chemist"
|
||||
icon_state = "chemist"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/paramedic
|
||||
name = "Paramedic ID"
|
||||
registered_name = "Paramedic"
|
||||
icon_state = "paramedic"
|
||||
access = list(ACCESS_PARAMEDIC, ACCESS_MEDICAL, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_MORGUE)
|
||||
|
||||
/obj/item/card/id/psychiatrist
|
||||
name = "Psychiatrist ID"
|
||||
registered_name = "Psychiatrist"
|
||||
icon_state = "psychiatrist"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_PSYCHIATRIST)
|
||||
|
||||
/obj/item/card/id/security
|
||||
name = "Security ID"
|
||||
registered_name = "Officer"
|
||||
icon_state = "security"
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_EVIDENCE, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS)
|
||||
skeleton_access = list(ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE)
|
||||
|
||||
/obj/item/card/id/detective
|
||||
name = "Detective ID"
|
||||
@@ -539,6 +506,7 @@
|
||||
registered_name = "Warden"
|
||||
icon_state = "warden"
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_EVIDENCE, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS)
|
||||
skeleton_access = list(ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE)
|
||||
|
||||
/obj/item/card/id/internalaffairsagent
|
||||
name = "Internal Affairs Agent ID"
|
||||
@@ -546,66 +514,125 @@
|
||||
icon_state = "internalaffairsagent"
|
||||
access = list(ACCESS_INTERNAL_AFFAIRS, ACCESS_COURT, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS, ACCESS_RESEARCH, ACCESS_MEDICAL, ACCESS_ENGINEERING_GENERAL, ACCESS_MAILSORTING)
|
||||
|
||||
/obj/item/card/id/geneticist
|
||||
name = "Geneticist ID"
|
||||
registered_name = "Geneticist"
|
||||
icon_state = "geneticist"
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_GENETICS, ACCESS_RESEARCH)
|
||||
// MARK: Medical
|
||||
/obj/item/card/id/medical
|
||||
name = "Medical ID"
|
||||
registered_name = "Medic"
|
||||
icon_state = "medical"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM)
|
||||
skeleton_access = list(ACCESS_CHEMISTRY, ACCESS_MINERAL_STOREROOM, ACCESS_VIROLOGY)
|
||||
|
||||
/obj/item/card/id/coroner
|
||||
name = "Coroner ID"
|
||||
registered_name = "Coroner"
|
||||
icon_state = "coroner"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM)
|
||||
skeleton_access = list(ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_MINERAL_STOREROOM, ACCESS_VIROLOGY)
|
||||
|
||||
/obj/item/card/id/chemist
|
||||
name = "Chemist ID"
|
||||
registered_name = "Chemist"
|
||||
icon_state = "chemist"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM)
|
||||
skeleton_access = list(ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_VIROLOGY)
|
||||
|
||||
/obj/item/card/id/virologist
|
||||
name = "Virologist ID"
|
||||
registered_name = "Virologist"
|
||||
icon_state = "virologist"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS)
|
||||
skeleton_access = list(ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/psychiatrist
|
||||
name = "Psychiatrist ID"
|
||||
registered_name = "Psychiatrist"
|
||||
icon_state = "psychiatrist"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_PSYCHIATRIST)
|
||||
skeleton_access = list(ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_MINERAL_STOREROOM, ACCESS_VIROLOGY)
|
||||
|
||||
/obj/item/card/id/paramedic
|
||||
name = "Paramedic ID"
|
||||
registered_name = "Paramedic"
|
||||
icon_state = "paramedic"
|
||||
access = list(ACCESS_PARAMEDIC, ACCESS_MEDICAL, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_MORGUE)
|
||||
skeleton_access = list(ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_MINERAL_STOREROOM, ACCESS_VIROLOGY)
|
||||
|
||||
// MARK: Science
|
||||
/obj/item/card/id/research
|
||||
name = "Research ID"
|
||||
registered_name = "Scientist"
|
||||
icon_state = "research"
|
||||
access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM)
|
||||
skeleton_access = list(ACCESS_ROBOTICS, ACCESS_MORGUE, ACCESS_TECH_STORAGE, ACCESS_GENETICS, ACCESS_XENOBIOLOGY,
|
||||
ACCESS_MINING, ACCESS_MINING_STATION)
|
||||
|
||||
/obj/item/card/id/xenobiology
|
||||
name = "Xenobiology ID"
|
||||
registered_name = "Xenobiologist"
|
||||
icon_state = "xenobiologist"
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_EVA, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_TELEPORTER)
|
||||
skeleton_access = list(ACCESS_TOX_STORAGE, ACCESS_TOX, ACCESS_ROBOTICS, ACCESS_MORGUE, ACCESS_TECH_STORAGE, ACCESS_GENETICS)
|
||||
|
||||
/obj/item/card/id/roboticist
|
||||
name = "Roboticist ID"
|
||||
registered_name = "Roboticist"
|
||||
icon_state = "roboticist"
|
||||
access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM)
|
||||
skeleton_access = list(ACCESS_TOX_STORAGE, ACCESS_TOX, ACCESS_GENETICS, ACCESS_XENOBIOLOGY, ACCESS_MINING, ACCESS_MINING_STATION)
|
||||
|
||||
/obj/item/card/id/geneticist
|
||||
name = "Geneticist ID"
|
||||
registered_name = "Geneticist"
|
||||
icon_state = "geneticist"
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_GENETICS, ACCESS_RESEARCH)
|
||||
skeleton_access = list(ACCESS_MINERAL_STOREROOM, ACCESS_TOX_STORAGE, ACCESS_TOX, ACCESS_ROBOTICS, ACCESS_MORGUE, ACCESS_TECH_STORAGE,
|
||||
ACCESS_XENOBIOLOGY, ACCESS_MINING, ACCESS_MINING_STATION)
|
||||
|
||||
// MARK: Supply
|
||||
/obj/item/card/id/smith
|
||||
name = "Smith ID"
|
||||
registered_name = "Smith"
|
||||
icon_state = "smith"
|
||||
access = list(ACCESS_CARGO_BAY, ACCESS_CARGO, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_SMITH)
|
||||
skeleton_access = list(ACCESS_MAILSORTING, ACCESS_SUPPLY_SHUTTLE)
|
||||
|
||||
/obj/item/card/id/supply
|
||||
name = "Supply ID"
|
||||
registered_name = "Cargonian"
|
||||
icon_state = "cargo"
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/smith
|
||||
name = "Smith ID"
|
||||
registered_name = "Smith"
|
||||
icon_state = "smith"
|
||||
access = list(ACCESS_CARGO_BAY, ACCESS_CARGO, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_SMITH)
|
||||
|
||||
/obj/item/card/id/quartermaster
|
||||
name = "Quartermaster ID"
|
||||
registered_name = "Quartermaster"
|
||||
icon_state = "quartermaster"
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_SMITH)
|
||||
skeleton_access = list(ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_SMITH)
|
||||
|
||||
/obj/item/card/id/shaftminer
|
||||
name = "Shaftminer ID"
|
||||
registered_name = "Shaftminer"
|
||||
icon_state = "shaftminer"
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
|
||||
skeleton_access = list(ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BAY, ACCESS_SUPPLY_SHUTTLE, ACCESS_SMITH)
|
||||
|
||||
/obj/item/card/id/explorer
|
||||
name = "Explorer ID"
|
||||
registered_name = "Explorer"
|
||||
icon_state = "explorer"
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_EXPEDITION, ACCESS_EVA, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_TELEPORTER, ACCESS_CARGO, ACCESS_MINERAL_STOREROOM)
|
||||
skeleton_access = list(ACCESS_CARGO_BAY, ACCESS_SUPPLY_SHUTTLE, ACCESS_MAILSORTING, ACCESS_MINING_STATION, ACCESS_MINING, ACCESS_SMITH)
|
||||
|
||||
// MARK: Engineering
|
||||
/obj/item/card/id/engineering
|
||||
name = "Engineering ID"
|
||||
registered_name = "Engineer"
|
||||
icon_state = "engineering"
|
||||
access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ENGINEERING_GENERAL, ACCESS_ATMOSPHERICS)
|
||||
skeleton_access = list(ACCESS_ATMOSPHERICS)
|
||||
|
||||
/obj/item/card/id/atmostech
|
||||
name = "Life Support Specialist ID"
|
||||
registered_name = "Life Support Specialist"
|
||||
icon_state = "atmostech"
|
||||
access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ENGINEERING_GENERAL, ACCESS_ATMOSPHERICS)
|
||||
skeleton_access = list(ACCESS_STATION_ENGINEER, ACCESS_ENGINE_EQUIP)
|
||||
|
||||
// MARK: Command
|
||||
/obj/item/card/id/captains_spare/assigned
|
||||
name = "Captain ID"
|
||||
icon_state = "captain"
|
||||
@@ -614,88 +641,87 @@
|
||||
name = "Head of Personal ID"
|
||||
registered_name = "HoP"
|
||||
icon_state = "HoP"
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS,
|
||||
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_ENGINEERING_GENERAL, ACCESS_MORGUE,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_INTERNAL_AFFAIRS,
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_CLOWN, ACCESS_MIME, ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM)
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS, 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_ENGINEERING_GENERAL,
|
||||
ACCESS_MORGUE, ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS,
|
||||
ACCESS_INTERNAL_AFFAIRS, ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_CLOWN, ACCESS_MIME, ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/hos
|
||||
name = "Head of Security ID"
|
||||
registered_name = "HoS"
|
||||
icon_state = "HoS"
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_EVIDENCE, ACCESS_ARMORY, ACCESS_COURT,
|
||||
ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS, ACCESS_ALL_PERSONAL_LOCKERS,
|
||||
ACCESS_RESEARCH, ACCESS_ENGINE, ACCESS_MINING, ACCESS_MEDICAL, ACCESS_ENGINEERING_GENERAL, ACCESS_MAILSORTING,
|
||||
ACCESS_HEADS, ACCESS_HOS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS)
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_EVIDENCE, ACCESS_ARMORY, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE,
|
||||
ACCESS_MAINT_TUNNELS, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_RESEARCH, ACCESS_ENGINE, ACCESS_MINING, ACCESS_MEDICAL, ACCESS_ENGINEERING_GENERAL,
|
||||
ACCESS_MAILSORTING, ACCESS_HEADS, ACCESS_HOS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS)
|
||||
|
||||
/obj/item/card/id/cmo
|
||||
name = "Chief Medical Officer ID"
|
||||
registered_name = "CMO"
|
||||
icon_state = "CMO"
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_HEADS,
|
||||
ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE,
|
||||
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_HEADS, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE,
|
||||
ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_PSYCHIATRIST, ACCESS_PARAMEDIC, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/rd
|
||||
name = "Research Director ID"
|
||||
registered_name = "RD"
|
||||
icon_state = "RD"
|
||||
access = list(ACCESS_RD, ACCESS_HEADS, ACCESS_TOX, ACCESS_GENETICS, ACCESS_MORGUE,
|
||||
ACCESS_TOX_STORAGE, ACCESS_TECH_STORAGE, ACCESS_TELEPORTER, ACCESS_SEC_DOORS,
|
||||
ACCESS_RESEARCH, ACCESS_ROBOTICS, ACCESS_XENOBIOLOGY, ACCESS_AI_UPLOAD,
|
||||
ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_EXPEDITION, ACCESS_MINISAT, ACCESS_MINERAL_STOREROOM)
|
||||
access = list(ACCESS_RD, ACCESS_HEADS, ACCESS_TOX, ACCESS_GENETICS, ACCESS_MORGUE, ACCESS_TOX_STORAGE, ACCESS_TECH_STORAGE, ACCESS_TELEPORTER, ACCESS_SEC_DOORS,
|
||||
ACCESS_RESEARCH, ACCESS_ROBOTICS, ACCESS_XENOBIOLOGY, ACCESS_AI_UPLOAD, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_EXPEDITION,
|
||||
ACCESS_MINISAT, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/quartermaster
|
||||
name = "Quartermaster ID"
|
||||
registered_name = "Quartermaster"
|
||||
icon_state = "quartermaster"
|
||||
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_SMITH)
|
||||
|
||||
/obj/item/card/id/ce
|
||||
name = "Chief Engineer ID"
|
||||
registered_name = "CE"
|
||||
icon_state = "CE"
|
||||
access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS,
|
||||
ACCESS_TELEPORTER, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ATMOSPHERICS, ACCESS_EVA,
|
||||
ACCESS_HEADS, ACCESS_ENGINEERING_GENERAL, ACCESS_SEC_DOORS,
|
||||
ACCESS_CE, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_MINISAT, ACCESS_MINERAL_STOREROOM)
|
||||
access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_TELEPORTER, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ATMOSPHERICS,
|
||||
ACCESS_EVA, ACCESS_HEADS, ACCESS_ENGINEERING_GENERAL, ACCESS_SEC_DOORS, ACCESS_CE, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT,
|
||||
ACCESS_MINISAT, ACCESS_MINERAL_STOREROOM)
|
||||
|
||||
/obj/item/card/id/ntrep
|
||||
name = "Nanotrasen Representative ID"
|
||||
registered_name = "NTRep"
|
||||
icon_state = "ntrep"
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS,
|
||||
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_EVA, ACCESS_HEADS,
|
||||
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_ENGINEERING_GENERAL, ACCESS_MORGUE,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_INTERNAL_AFFAIRS,
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_CLOWN, ACCESS_MIME, ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS, ACCESS_NTREP)
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS, ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_EVA,
|
||||
ACCESS_HEADS, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_ENGINEERING_GENERAL, ACCESS_MORGUE,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_INTERNAL_AFFAIRS,
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION, ACCESS_CLOWN, ACCESS_MIME,
|
||||
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS, ACCESS_NTREP)
|
||||
|
||||
/obj/item/card/id/nct
|
||||
name = "\improper Nanotrasen Career Trainer ID"
|
||||
registered_name = "Nanotrasen Career Trainer"
|
||||
icon_state = "nctrainer"
|
||||
access = list(ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_CARGO, ACCESS_ENGINEERING_GENERAL, ACCESS_COURT, ACCESS_EVA, ACCESS_TRAINER, ACCESS_MAINT_TUNNELS,
|
||||
ACCESS_MEDICAL, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_THEATRE, ACCESS_INTERNAL_AFFAIRS)
|
||||
ACCESS_MEDICAL, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_THEATRE, ACCESS_INTERNAL_AFFAIRS)
|
||||
|
||||
/obj/item/card/id/blueshield
|
||||
name = "Blueshield ID"
|
||||
registered_name = "Blueshield"
|
||||
icon_state = "blueshield"
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS,
|
||||
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_EVIDENCE, ACCESS_CHANGE_IDS, ACCESS_EVA, ACCESS_HEADS,
|
||||
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_ENGINEERING_GENERAL, ACCESS_MORGUE,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_INTERNAL_AFFAIRS,
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_CLOWN, ACCESS_MIME, ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS, ACCESS_BLUESHIELD)
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS, ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_EVIDENCE,
|
||||
ACCESS_CHANGE_IDS, ACCESS_EVA, ACCESS_HEADS, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_ENGINEERING_GENERAL,
|
||||
ACCESS_MORGUE, ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS,
|
||||
ACCESS_INTERNAL_AFFAIRS, ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_CLOWN, ACCESS_MIME, ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS, ACCESS_BLUESHIELD)
|
||||
|
||||
/obj/item/card/id/magistrate
|
||||
name = "Magistrate ID"
|
||||
registered_name = "Magistrate"
|
||||
icon_state = "magistrate"
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS,
|
||||
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_EVIDENCE, ACCESS_CHANGE_IDS, ACCESS_EVA, ACCESS_HEADS,
|
||||
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_ENGINEERING_GENERAL, ACCESS_MORGUE,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_INTERNAL_AFFAIRS,
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_CLOWN, ACCESS_MIME, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_MAGISTRATE)
|
||||
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS, ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_EVIDENCE, ACCESS_CHANGE_IDS,
|
||||
ACCESS_EVA, ACCESS_HEADS, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_ENGINEERING_GENERAL, ACCESS_MORGUE,
|
||||
ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MAILSORTING, ACCESS_QM, ACCESS_HYDROPONICS, ACCESS_INTERNAL_AFFAIRS, ACCESS_THEATRE,
|
||||
ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION, ACCESS_CLOWN, ACCESS_MIME, ACCESS_RC_ANNOUNCE,
|
||||
ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_MAGISTRATE)
|
||||
|
||||
// MARK: Service
|
||||
/obj/item/card/id/assistant
|
||||
name = "Assistant ID"
|
||||
registered_name = "Assistant"
|
||||
@@ -752,11 +778,7 @@
|
||||
icon_state = "janitor"
|
||||
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE)
|
||||
|
||||
/obj/item/card/id/explorer
|
||||
name = "Explorer ID"
|
||||
registered_name = "Explorer"
|
||||
icon_state = "explorer"
|
||||
|
||||
/// MARK: Misc. IDs
|
||||
/obj/item/card/id/rainbow
|
||||
name = "Rainbow ID"
|
||||
icon_state = "rainbow"
|
||||
@@ -904,7 +926,7 @@
|
||||
var/datum/ui_module/id_card_modifier/ui = new(target = src)
|
||||
ui.ui_interact(usr)
|
||||
|
||||
// Decals
|
||||
// MARK: Decals
|
||||
/obj/item/id_decal
|
||||
name = "identification card decal"
|
||||
desc = "A nano-cellophane wrap that molds to an ID card to make it look snazzy."
|
||||
|
||||
@@ -440,6 +440,12 @@ details_url = "https://iphub.info/?ip="
|
||||
[job_configuration]
|
||||
# This section contains information on job configuartion, as well as the jon amounts
|
||||
|
||||
# Will the crew be given extended access if the manifest count is low enough?
|
||||
allow_skeleton_crew_access = true
|
||||
# Number of crew on the manifest needed to activate skeleton crew access
|
||||
skeleton_crew_threshold = 30
|
||||
# Number of crew on the manifest needed to disable skeleton crew access
|
||||
skeleton_crew_escape_threshold = 35
|
||||
# Require account agre restrictions for job? Requires the database
|
||||
restrict_jobs_on_account_age = false
|
||||
# Allow admins to bypass all job age restrictions
|
||||
|
||||
Reference in New Issue
Block a user