[MIRROR] Cleans Job lists (hardcoded and not) [MDB IGNORE] (#11318)

* Cleans Job lists (hardcoded and not)

* e

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
This commit is contained in:
SkyratBot
2022-02-08 01:47:50 +00:00
committed by GitHub
co-authored by Rohesie Gandalf
parent a0ac28a419
commit 78978cac7a
56 changed files with 243 additions and 193 deletions
+53
View File
@@ -72,3 +72,56 @@
/// cooldown for being shown the images for any particular data hud
#define ADD_HUD_TO_COOLDOWN 20
// Security HUD icon_state defines
#define SECHUD_NO_ID "hudno_id"
#define SECHUD_UNKNOWN "hudunknown"
#define SECHUD_CENTCOM "hudcentcom"
#define SECHUD_ASSISTANT "hudassistant"
#define SECHUD_ATMOSPHERIC_TECHNICIAN "hudatmospherictechnician"
#define SECHUD_BARTENDER "hudbartender"
#define SECHUD_BOTANIST "hudbotanist"
#define SECHUD_CAPTAIN "hudcaptain"
#define SECHUD_CARGO_TECHNICIAN "hudcargotechnician"
#define SECHUD_CHAPLAIN "hudchaplain"
#define SECHUD_CHEMIST "hudchemist"
#define SECHUD_CHIEF_ENGINEER "hudchiefengineer"
#define SECHUD_CHIEF_MEDICAL_OFFICER "hudchiefmedicalofficer"
#define SECHUD_CLOWN "hudclown"
#define SECHUD_COOK "hudcook"
#define SECHUD_CURATOR "hudcurator"
#define SECHUD_DETECTIVE "huddetective"
#define SECHUD_GENETICIST "hudgeneticist"
#define SECHUD_HEAD_OF_PERSONNEL "hudheadofpersonnel"
#define SECHUD_HEAD_OF_SECURITY "hudheadofsecurity"
#define SECHUD_JANITOR "hudjanitor"
#define SECHUD_LAWYER "hudlawyer"
#define SECHUD_MEDICAL_DOCTOR "hudmedicaldoctor"
#define SECHUD_MIME "hudmime"
#define SECHUD_PARAMEDIC "hudparamedic"
#define SECHUD_PRISONER "hudprisoner"
#define SECHUD_PSYCHOLOGIST "hudpsychologist"
#define SECHUD_QUARTERMASTER "hudquartermaster"
#define SECHUD_RESEARCH_DIRECTOR "hudresearchdirector"
#define SECHUD_ROBOTICIST "hudroboticist"
#define SECHUD_SECURITY_OFFICER "hudsecurityofficer"
#define SECHUD_SCIENTIST "hudscientist"
#define SECHUD_SHAFT_MINER "hudshaftminer"
#define SECHUD_STATION_ENGINEER "hudstationengineer"
#define SECHUD_VIROLOGIST "hudvirologist"
#define SECHUD_WARDEN "hudwarden"
#define SECHUD_CHEF "hudchef"
#define SECHUD_DEATH_COMMANDO "huddeathcommando"
#define SECHUD_EMERGENCY_RESPONSE_TEAM_COMMANDER "hudemergencyresponseteamcommander"
#define SECHUD_SECURITY_RESPONSE_OFFICER "hudsecurityresponseofficer"
#define SECHUD_ENGINEERING_RESPONSE_OFFICER "hudengineeringresponseofficer"
#define SECHUD_MEDICAL_RESPONSE_OFFICER "hudmedicalresponseofficer"
#define SECHUD_RELIGIOUS_RESPONSE_OFFICER "hudreligiousresponseofficer"
#define SECHUD_JANITORIAL_RESPONSE_OFFICER "hudjanitorialresponseofficer"
#define SECHUD_ENTERTAINMENT_RESPONSE_OFFICER "hudentertainmentresponseofficer"
+4 -8
View File
@@ -87,14 +87,14 @@
#define JOB_BARBER "Barber" // SKYRAT EDIT ADDITION
#define JOB_BOUNCER "Bouncer" // SKYRAT EDIT ADDITION
//ERTs
#define JOB_ERT_DEATHSQUAD "Death Commando"
#define JOB_ERT_COMMANDER "Emergency Response Team Commander"
#define JOB_ERT_OFFICER "Security Response Officer"
#define JOB_ERT_ENGINEER "Engineering Response Officer"
#define JOB_ERT_MEDICAL_DOCTOR "Medical Response Officer"
#define JOB_ERT_CLOWN "Entertainment Response Officer"
#define JOB_ERT_CHAPLAIN "Religious Response Officer"
#define JOB_ERT_JANITOR "Janitorial Response Officer"
#define JOB_ERT_DEATHSQUAD "Death Commando"
#define JOB_ERT_CLOWN "Entertainment Response Officer"
//CentCom
#define JOB_CENTCOM "Central Command"
#define JOB_CENTCOM_OFFICIAL "CentCom Official"
@@ -208,12 +208,8 @@
#define JOB_REOPEN_ON_ROUNDSTART_LOSS (1<<6)
/// If the player with this job can have quirks assigned to him or not. Relevant for new player joinable jobs and roundstart antags.
#define JOB_ASSIGN_QUIRKS (1<<7)
/* Job type datum job_type_flags */
/// Stating this job is a station job
#define JOB_STATION_JOB (1<<0)
/// Stating this job is a Command/Head of staff job
#define JOB_HEAD_JOB (1<<1)
/// Whether this job can be an intern.
#define JOB_CAN_BE_INTERN (1<<8)
#define FACTION_NONE "None"
+6 -1
View File
@@ -198,7 +198,12 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex)
new_name += pick(GLOB.last_names)
. += new_name
if(2)
. += pick(SSjob.station_jobs)//Returns a job.
var/datum/job/job = pick(SSjob.joinable_occupations)
if(job)
. += job.title //Returns a job.
else
stack_trace("Failed to pick(SSjob.joinable_occupations) on generate_code_phrase()")
. += "Bug"
safety -= 1
if(2)
switch(rand(1,3))//Food, drinks, or places. Only selectable once.
+2
View File
@@ -439,6 +439,7 @@ SUBSYSTEM_DEF(id_access)
id_card.trim_icon_override = trim.trim_icon
id_card.trim_state_override = trim.trim_state
id_card.trim_assignment_override = trim.assignment
id_card.sechud_icon_state_override = trim.sechud_icon_state
if(!check_forged || !id_card.forged)
id_card.assignment = trim.assignment
@@ -455,6 +456,7 @@ SUBSYSTEM_DEF(id_access)
id_card.trim_icon_override = null
id_card.trim_state_override = null
id_card.trim_assignment_override = null
id_card.sechud_icon_state_override = null
/**
* Adds the accesses associated with a trim to an ID card.
-32
View File
@@ -33,15 +33,6 @@ SUBSYSTEM_DEF(job)
/// Lazylist of mob:occupation_string pairs.
var/list/dynamic_forced_occupations
/// A list of all jobs associated with the station. These jobs also have various icons associated with them including sechud and card trims.
var/list/station_jobs = list()
/// A list of all Head of Staff jobs.
var/list/head_of_staff_jobs = list()
/// A list of additional jobs that have various icons associated with them including sechud and card trims.
var/list/additional_jobs_with_icons = list()
/// A list of jobs associed with Centcom and should use the standard NT Centcom icons.
var/list/centcom_jobs = list()
/**
* Keys should be assigned job roles. Values should be >= 1.
* Represents the chain of command on the station. Lower numbers mean higher priority.
@@ -807,29 +798,6 @@ SUBSYSTEM_DEF(job)
/// Builds various lists of jobs based on station, centcom and additional jobs with icons associated with them.
/datum/controller/subsystem/job/proc/setup_job_lists()
for(var/datum/job/job as anything in subtypesof(/datum/job))
if(initial(job.job_type_flags) & JOB_STATION_JOB)
station_jobs |= initial(job.title)
if(initial(job.job_type_flags) & JOB_HEAD_JOB)
head_of_staff_jobs |= initial(job.title)
additional_jobs_with_icons |= list(
JOB_ERT_COMMANDER, JOB_ERT_OFFICER, JOB_ERT_ENGINEER, JOB_ERT_MEDICAL_DOCTOR,
JOB_ERT_CLOWN, JOB_ERT_CHAPLAIN, JOB_ERT_JANITOR, JOB_ERT_DEATHSQUAD,
JOB_SECURITY_OFFICER_MEDICAL, JOB_SECURITY_OFFICER_ENGINEERING, JOB_SECURITY_OFFICER_SCIENCE, JOB_SECURITY_OFFICER_SUPPLY,
JOB_SECURITY_MEDIC, JOB_SECURITY_SERGEANT, JOB_CIVIL_DISPUTES_OFFICER,
JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_ENGINEERING_GUARD, JOB_CUSTOMS_AGENT,
JOB_BLUESHIELD, JOB_NT_REP, JOB_VANGUARD_OPERATIVE,
JOB_SPACE_POLICE, JOB_SOLGOV, JOB_SOLGOV_LIASON,
JOB_BARBER,
)
centcom_jobs |= list(
JOB_CENTCOM, JOB_CENTCOM_OFFICIAL, JOB_CENTCOM_ADMIRAL, JOB_CENTCOM_COMMANDER, JOB_CENTCOM_VIP,
JOB_CENTCOM_BARTENDER, JOB_CENTCOM_CUSTODIAN, JOB_CENTCOM_THUNDERDOME_OVERSEER, JOB_CENTCOM_MEDICAL_DOCTOR,
JOB_CENTCOM_RESEARCH_OFFICER, JOB_CENTCOM_SPECIAL_OFFICER, JOB_CENTCOM_PRIVATE_SECURITY,
)
job_priorities_to_strings = list(
"[JP_LOW]" = "Low Priority",
"[JP_MEDIUM]" = "Medium Priority",
+5 -1
View File
@@ -4,8 +4,12 @@
var/trim_icon = 'icons/obj/card.dmi'
/// Icon state for this trim. Overlayed on advanced ID cards.
var/trim_state
/// Job/assignment associated with this trim. Can be transferred to ID cards holding this trim. Decides the card's HUD icon.
/// Job/assignment associated with this trim. Can be transferred to ID cards holding this trim.
var/assignment
/// The name of the job for interns. If unset it will default to "[assignment] (Intern)".
var/intern_alt_name = null
/// The icon_state associated with this trim, as it will show on the security HUD.
var/sechud_icon_state = SECHUD_UNKNOWN
/// Accesses that this trim unlocks on a card it is imprinted on. These accesses never take wildcard slots and can be added and removed at will.
var/list/access = list()
+28 -19
View File
@@ -1,28 +1,29 @@
/// Trim for basic Centcom cards.
/datum/id_trim/centcom
access = list(ACCESS_CENT_GENERAL)
assignment = "Central Command"
assignment = JOB_CENTCOM
trim_state = "trim_centcom"
sechud_icon_state = SECHUD_CENTCOM
/// Trim for Centcom VIPs
/datum/id_trim/centcom/vip
access = list(ACCESS_CENT_GENERAL)
assignment = "VIP Guest"
assignment = JOB_CENTCOM_VIP
/// Trim for Centcom Custodians.
/datum/id_trim/centcom/custodian
access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_STORAGE)
assignment = "Custodian"
assignment = JOB_CENTCOM_CUSTODIAN
/// Trim for Centcom Thunderdome Overseers.
/datum/id_trim/centcom/thunderdome_overseer
access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_THUNDER)
assignment = "Thunderdome Overseer"
assignment = JOB_CENTCOM_THUNDERDOME_OVERSEER
/// Trim for Centcom Officials.
/datum/id_trim/centcom/official
access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_WEAPONS)
assignment = "CentCom Official"
assignment = JOB_CENTCOM_OFFICIAL
/// Trim for Centcom Interns.
/datum/id_trim/centcom/intern
@@ -46,21 +47,21 @@
/// Trim for Centcom Bartenders.
/datum/id_trim/centcom/bartender
access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_BAR)
assignment = "CentCom Bartender"
assignment = JOB_CENTCOM_BARTENDER
/// Trim for Centcom Medical Officers.
/datum/id_trim/centcom/medical_officer
access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_MEDICAL)
assignment = "Medical Officer"
assignment = JOB_CENTCOM_MEDICAL_DOCTOR
/// Trim for Centcom Research Officers.
/datum/id_trim/centcom/research_officer
access = list(ACCESS_CENT_GENERAL, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_TELEPORTER, ACCESS_CENT_STORAGE)
assignment = "Research Officer"
assignment = JOB_CENTCOM_RESEARCH_OFFICER
/// Trim for Centcom Specops Officers. All Centcom and Station Access.
/datum/id_trim/centcom/specops_officer
assignment = "Special Ops Officer"
assignment = JOB_CENTCOM_SPECIAL_OFFICER
/datum/id_trim/centcom/specops_officer/New()
. = ..()
@@ -69,7 +70,7 @@
/// Trim for Centcom (Soviet) Admirals. All Centcom and Station Access.
/datum/id_trim/centcom/admiral
assignment = "Admiral"
assignment = JOB_CENTCOM_ADMIRAL
/datum/id_trim/centcom/admiral/New()
. = ..()
@@ -78,7 +79,7 @@
/// Trim for Centcom Commanders. All Centcom and Station Access.
/datum/id_trim/centcom/commander
assignment = "CentCom Commander"
assignment = JOB_CENTCOM_COMMANDER
/datum/id_trim/centcom/commander/New()
. = ..()
@@ -87,8 +88,9 @@
/// Trim for Deathsquad officers. All Centcom and Station Access.
/datum/id_trim/centcom/deathsquad
assignment = "Death Commando"
assignment = JOB_ERT_DEATHSQUAD
trim_state = "trim_ert_commander"
sechud_icon_state = SECHUD_DEATH_COMMANDO
/datum/id_trim/centcom/deathsquad/New()
. = ..()
@@ -106,8 +108,9 @@
/// Trim for ERT Commanders. All station and centcom access.
/datum/id_trim/centcom/ert/commander
assignment = "Emergency Response Team Commander"
assignment = JOB_ERT_COMMANDER
trim_state = "trim_ert_commander"
sechud_icon_state = SECHUD_EMERGENCY_RESPONSE_TEAM_COMMANDER
/datum/id_trim/centcom/ert/commander/New()
. = ..()
@@ -116,8 +119,9 @@
/// Trim for generic ERT seccies. No universal ID card changing access.
/datum/id_trim/centcom/ert/security
assignment = "Security Response Officer"
assignment = JOB_ERT_OFFICER
trim_state = "trim_ert_security"
sechud_icon_state = SECHUD_SECURITY_RESPONSE_OFFICER
/datum/id_trim/centcom/ert/security/New()
. = ..()
@@ -126,8 +130,9 @@
/// Trim for generic ERT engineers. No universal ID card changing access.
/datum/id_trim/centcom/ert/engineer
assignment = "Engineering Response Officer"
assignment = JOB_ERT_ENGINEER
trim_state = "trim_ert_engineering"
sechud_icon_state = SECHUD_ENGINEERING_RESPONSE_OFFICER
/datum/id_trim/centcom/ert/engineer/New()
. = ..()
@@ -136,8 +141,9 @@
/// Trim for generic ERT medics. No universal ID card changing access.
/datum/id_trim/centcom/ert/medical
assignment = "Medical Response Officer"
assignment = JOB_ERT_MEDICAL_DOCTOR
trim_state = "trim_ert_medical"
sechud_icon_state = SECHUD_MEDICAL_RESPONSE_OFFICER
/datum/id_trim/centcom/ert/medical/New()
. = ..()
@@ -146,8 +152,9 @@
/// Trim for generic ERT chaplains. No universal ID card changing access.
/datum/id_trim/centcom/ert/chaplain
assignment = "Religious Response Officer"
assignment = JOB_ERT_CHAPLAIN
trim_state = "trim_ert_religious"
sechud_icon_state = SECHUD_RELIGIOUS_RESPONSE_OFFICER
/datum/id_trim/centcom/ert/chaplain/New()
. = ..()
@@ -156,8 +163,9 @@
/// Trim for generic ERT janitors. No universal ID card changing access.
/datum/id_trim/centcom/ert/janitor
assignment = "Janitorial Response Officer"
assignment = JOB_ERT_JANITOR
trim_state = "trim_ert_janitor"
sechud_icon_state = SECHUD_JANITORIAL_RESPONSE_OFFICER
/datum/id_trim/centcom/ert/janitor/New()
. = ..()
@@ -166,8 +174,9 @@
/// Trim for generic ERT clowns. No universal ID card changing access.
/datum/id_trim/centcom/ert/clown
assignment = "Entertainment Response Officer"
assignment = JOB_ERT_CLOWN
trim_state = "trim_ert_entertainment"
sechud_icon_state = SECHUD_ENTERTAINMENT_RESPONSE_OFFICER
/datum/id_trim/centcom/ert/clown/New()
. = ..()
+42
View File
@@ -81,6 +81,7 @@
/datum/id_trim/job/assistant
assignment = "Assistant"
trim_state = "trim_assistant"
sechud_icon_state = SECHUD_ASSISTANT
extra_access = list(ACCESS_MAINT_TUNNELS)
minimal_access = list()
config_job = "assistant"
@@ -100,6 +101,7 @@
/datum/id_trim/job/atmospheric_technician //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM
assignment = "Atmospheric Technician"
trim_state = "trim_atmospherictechnician"
sechud_icon_state = SECHUD_ATMOSPHERIC_TECHNICIAN
extra_access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE)
minimal_access = list(ACCESS_ATMOSPHERICS, ACCESS_AUX_BASE, ACCESS_CONSTRUCTION, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_MAINT_TUNNELS, ACCESS_MECH_ENGINE,
ACCESS_MINERAL_STOREROOM)
@@ -110,6 +112,7 @@
/datum/id_trim/job/bartender
assignment = "Bartender"
trim_state = "trim_bartender"
sechud_icon_state = SECHUD_BARTENDER
extra_access = list(ACCESS_HYDROPONICS, ACCESS_KITCHEN, ACCESS_MORGUE)
minimal_access = list(ACCESS_BAR, ACCESS_MINERAL_STOREROOM, ACCESS_THEATRE, ACCESS_WEAPONS, ACCESS_SERVICE)
config_job = "bartender"
@@ -119,6 +122,7 @@
/datum/id_trim/job/botanist
assignment = "Botanist"
trim_state = "trim_botanist"
sechud_icon_state = SECHUD_BOTANIST
extra_access = list(ACCESS_BAR, ACCESS_KITCHEN)
minimal_access = list(ACCESS_HYDROPONICS, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_SERVICE)
config_job = "botanist"
@@ -127,7 +131,9 @@
/datum/id_trim/job/captain
assignment = "Captain"
intern_alt_name = "Captain-in-Training"
trim_state = "trim_captain"
sechud_icon_state = SECHUD_CAPTAIN
config_job = "captain"
template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS)
job = /datum/job/captain
@@ -144,6 +150,7 @@
/datum/id_trim/job/cargo_technician
assignment = "Cargo Technician"
trim_state = "trim_cargotechnician"
sechud_icon_state = SECHUD_CARGO_TECHNICIAN
extra_access = list(ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION)
minimal_access = list(ACCESS_CARGO, ACCESS_MAILSORTING, ACCESS_MAINT_TUNNELS, ACCESS_MECH_MINING, ACCESS_MINERAL_STOREROOM)
config_job = "cargo_technician"
@@ -153,6 +160,7 @@
/datum/id_trim/job/chaplain
assignment = "Chaplain"
trim_state = "trim_chaplain"
sechud_icon_state = SECHUD_CHAPLAIN
extra_access = list()
minimal_access = list(ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_MORGUE, ACCESS_THEATRE, ACCESS_SERVICE)
config_job = "chaplain"
@@ -162,6 +170,7 @@
/datum/id_trim/job/chemist
assignment = "Chemist"
trim_state = "trim_chemist"
sechud_icon_state = SECHUD_CHEMIST
extra_access = list(ACCESS_SURGERY, ACCESS_VIROLOGY)
minimal_access = list(ACCESS_CHEMISTRY, ACCESS_MECH_MEDICAL, ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_PHARMACY)
config_job = "chemist"
@@ -170,7 +179,9 @@
/datum/id_trim/job/chief_engineer
assignment = "Chief Engineer"
intern_alt_name = "Chief Engineer-in-Training"
trim_state = "trim_chiefengineer"
sechud_icon_state = SECHUD_CHIEF_ENGINEER
extra_access = list(ACCESS_TELEPORTER)
extra_wildcard_access = list()
minimal_access = list(ACCESS_ATMOSPHERICS, ACCESS_AUX_BASE, ACCESS_CE, ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_EVA,
@@ -183,7 +194,9 @@
/datum/id_trim/job/chief_medical_officer
assignment = "Chief Medical Officer"
intern_alt_name = "Chief Medical Officer-in-Training"
trim_state = "trim_chiefmedicalofficer"
sechud_icon_state = SECHUD_CHIEF_MEDICAL_OFFICER
extra_access = list(ACCESS_TELEPORTER)
extra_wildcard_access = list()
minimal_access = list(ACCESS_CHEMISTRY, ACCESS_EVA, ACCESS_HEADS, ACCESS_KEYCARD_AUTH, ACCESS_MAINT_TUNNELS, ACCESS_MECH_MEDICAL,
@@ -197,6 +210,7 @@
/datum/id_trim/job/clown
assignment = "Clown"
trim_state = "trim_clown"
sechud_icon_state = SECHUD_CLOWN
extra_access = list()
minimal_access = list(ACCESS_THEATRE, ACCESS_SERVICE)
config_job = "clown"
@@ -206,15 +220,21 @@
/datum/id_trim/job/cook
assignment = "Cook"
trim_state = "trim_cook"
sechud_icon_state = SECHUD_COOK
extra_access = list(ACCESS_BAR, ACCESS_HYDROPONICS)
minimal_access = list(ACCESS_KITCHEN, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_SERVICE)
config_job = "cook"
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
job = /datum/job/cook
/datum/id_trim/job/cook/chef
assignment = "Chef"
sechud_icon_state = SECHUD_CHEF
/datum/id_trim/job/curator
assignment = "Curator"
trim_state = "trim_curator"
sechud_icon_state = SECHUD_CURATOR
extra_access = list()
minimal_access = list(ACCESS_AUX_BASE, ACCESS_LIBRARY, ACCESS_MINING_STATION, ACCESS_SERVICE)
config_job = "curator"
@@ -224,6 +244,7 @@
/datum/id_trim/job/detective
assignment = "Detective"
trim_state = "trim_detective"
sechud_icon_state = SECHUD_DETECTIVE
extra_access = list()
minimal_access = list(ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS, ACCESS_SEC_DOORS,ACCESS_MAINT_TUNNELS, ACCESS_MORGUE,
ACCESS_MECH_SECURITY, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
@@ -244,6 +265,7 @@
/datum/id_trim/job/geneticist
assignment = "Geneticist"
trim_state = "trim_geneticist"
sechud_icon_state = SECHUD_GENETICIST
extra_access = list(ACCESS_ROBOTICS, ACCESS_TECH_STORAGE, ACCESS_XENOBIOLOGY)
minimal_access = list(ACCESS_GENETICS, ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_RND)
config_job = "geneticist"
@@ -252,7 +274,9 @@
/datum/id_trim/job/head_of_personnel //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM
assignment = "Head of Personnel"
intern_alt_name = "Head of Personnel-in-Training"
trim_state = "trim_headofpersonnel"
sechud_icon_state = SECHUD_HEAD_OF_PERSONNEL
extra_access = list()
extra_wildcard_access = list()
minimal_access = list(ACCESS_AI_UPLOAD, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_AUX_BASE, ACCESS_BAR, ACCESS_CARGO, ACCESS_CHAPEL_OFFICE,
@@ -268,7 +292,9 @@
/datum/id_trim/job/head_of_security //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM
assignment = "Head of Security"
intern_alt_name = "Head of Security-in-Training"
trim_state = "trim_headofsecurity"
sechud_icon_state = SECHUD_HEAD_OF_SECURITY
extra_access = list(ACCESS_TELEPORTER)
extra_wildcard_access = list()
minimal_access = list(ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_ARMORY, ACCESS_AUX_BASE, ACCESS_BRIG, ACCESS_CONSTRUCTION, ACCESS_COURT,
@@ -293,6 +319,7 @@
/datum/id_trim/job/janitor
assignment = "Janitor"
trim_state = "trim_janitor"
sechud_icon_state = SECHUD_JANITOR
extra_access = list()
minimal_access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM, ACCESS_SERVICE)
config_job = "janitor"
@@ -302,6 +329,7 @@
/datum/id_trim/job/lawyer
assignment = "Lawyer"
trim_state = "trim_lawyer"
sechud_icon_state = SECHUD_LAWYER
extra_access = list()
minimal_access = list(ACCESS_COURT, ACCESS_LAWYER, ACCESS_SEC_DOORS, ACCESS_SERVICE)
config_job = "lawyer"
@@ -311,6 +339,7 @@
/datum/id_trim/job/medical_doctor
assignment = "Medical Doctor"
trim_state = "trim_medicaldoctor"
sechud_icon_state = SECHUD_MEDICAL_DOCTOR
extra_access = list(ACCESS_CHEMISTRY, ACCESS_VIROLOGY)
minimal_access = list(ACCESS_MECH_MEDICAL, ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_PHARMACY, ACCESS_SURGERY)
config_job = "medical_doctor"
@@ -320,6 +349,7 @@
/datum/id_trim/job/mime
assignment = "Mime"
trim_state = "trim_mime"
sechud_icon_state = SECHUD_MIME
extra_access = list()
minimal_access = list(ACCESS_THEATRE, ACCESS_SERVICE)
config_job = "mime"
@@ -329,6 +359,7 @@
/datum/id_trim/job/paramedic
assignment = "Paramedic"
trim_state = "trim_paramedic"
sechud_icon_state = SECHUD_PARAMEDIC
extra_access = list(ACCESS_SURGERY)
minimal_access = list(ACCESS_AUX_BASE, ACCESS_CARGO, ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_EVA, ACCESS_HYDROPONICS,
ACCESS_MAINT_TUNNELS, ACCESS_MECH_MEDICAL, ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_RESEARCH)
@@ -339,6 +370,7 @@
/datum/id_trim/job/prisoner
assignment = "Prisoner"
trim_state = "trim_prisoner"
sechud_icon_state = SECHUD_PRISONER
config_job = "prisoner"
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_HOS, ACCESS_CHANGE_IDS)
job = /datum/job/prisoner
@@ -374,6 +406,7 @@
/datum/id_trim/job/psychologist
assignment = "Psychologist"
trim_state = "trim_psychologist"
sechud_icon_state = SECHUD_PSYCHOLOGIST
extra_access = list()
minimal_access = list(ACCESS_MEDICAL, ACCESS_PSYCHOLOGY, ACCESS_SERVICE)
config_job = "psychologist"
@@ -383,6 +416,7 @@
/datum/id_trim/job/quartermaster //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM
assignment = "Quartermaster"
trim_state = "trim_quartermaster"
sechud_icon_state = SECHUD_QUARTERMASTER
extra_access = list()
minimal_access = list(ACCESS_AUX_BASE, ACCESS_CARGO, ACCESS_MAILSORTING, ACCESS_MAINT_TUNNELS, ACCESS_MECH_MINING, ACCESS_MINING_STATION,
ACCESS_MINERAL_STOREROOM, ACCESS_MINING, ACCESS_QM, ACCESS_RC_ANNOUNCE, ACCESS_VAULT)
@@ -392,7 +426,9 @@
/datum/id_trim/job/research_director
assignment = "Research Director"
intern_alt_name = "Research Director-in-Training"
trim_state = "trim_researchdirector"
sechud_icon_state = SECHUD_RESEARCH_DIRECTOR
extra_access = list()
extra_wildcard_access = list()
minimal_access = list(ACCESS_AI_UPLOAD, ACCESS_AUX_BASE, ACCESS_EVA, ACCESS_GATEWAY, ACCESS_GENETICS, ACCESS_HEADS, ACCESS_KEYCARD_AUTH,
@@ -408,6 +444,7 @@
/datum/id_trim/job/roboticist
assignment = "Roboticist"
trim_state = "trim_roboticist"
sechud_icon_state = SECHUD_ROBOTICIST
extra_access = list(ACCESS_GENETICS, ACCESS_ORDNANCE, ACCESS_ORDNANCE_STORAGE, ACCESS_XENOBIOLOGY)
minimal_access = list(ACCESS_AUX_BASE, ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_RND,
ACCESS_ROBOTICS, ACCESS_TECH_STORAGE)
@@ -418,6 +455,7 @@
/datum/id_trim/job/scientist
assignment = "Scientist"
trim_state = "trim_scientist"
sechud_icon_state = SECHUD_SCIENTIST
extra_access = list(ACCESS_GENETICS, ACCESS_ROBOTICS)
minimal_access = list(ACCESS_AUX_BASE, ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_ORDNANCE, ACCESS_ORDNANCE_STORAGE,
ACCESS_RESEARCH, ACCESS_RND, ACCESS_XENOBIOLOGY)
@@ -429,6 +467,7 @@
/datum/id_trim/job/security_officer //SKYRAT EDIT: ID TRIM ACCESS OVERRIDEN IN MODULAR JOBS.DM
assignment = "Security Officer"
trim_state = "trim_securityofficer"
sechud_icon_state = SECHUD_SECURITY_OFFICER
extra_access = list(ACCESS_FORENSICS_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE)
minimal_access = list(ACCESS_BRIG, ACCESS_COURT, ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_MECH_SECURITY,
ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
@@ -473,6 +512,7 @@
/datum/id_trim/job/shaft_miner
assignment = "Shaft Miner"
trim_state = "trim_shaftminer"
sechud_icon_state = SECHUD_SHAFT_MINER
extra_access = list(ACCESS_CARGO, ACCESS_MAINT_TUNNELS, ACCESS_QM)
minimal_access = list(ACCESS_AUX_BASE, ACCESS_MAILSORTING, ACCESS_MECH_MINING, ACCESS_MINERAL_STOREROOM, ACCESS_MINING,
ACCESS_MINING_STATION)
@@ -489,6 +529,7 @@
/datum/id_trim/job/station_engineer
assignment = "Station Engineer"
trim_state = "trim_stationengineer"
sechud_icon_state = SECHUD_STATION_ENGINEER
extra_access = list(ACCESS_ATMOSPHERICS)
minimal_access = list(ACCESS_AUX_BASE, ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_EXTERNAL_AIRLOCKS,
ACCESS_MAINT_TUNNELS, ACCESS_MECH_ENGINE, ACCESS_MINERAL_STOREROOM, ACCESS_TCOMSAT, ACCESS_TECH_STORAGE)
@@ -499,6 +540,7 @@
/datum/id_trim/job/virologist
assignment = "Virologist"
trim_state = "trim_virologist"
sechud_icon_state = SECHUD_VIROLOGIST
extra_access = list(ACCESS_CHEMISTRY, ACCESS_MORGUE, ACCESS_SURGERY)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_VIROLOGY)
config_job = "virologist"
+1 -1
View File
@@ -63,7 +63,7 @@
/// Trim for various Centcom corpses.
/datum/id_trim/centcom/corpse/private_security
assignment = "Private Security Force"
assignment = JOB_CENTCOM_PRIVATE_SECURITY
access = list(ACCESS_CENT_CAPTAIN, ACCESS_CENT_GENERAL, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_STORAGE, ACCESS_SECURITY, ACCESS_MECH_SECURITY)
/// Trim for various Centcom corpses.
+1 -1
View File
@@ -501,7 +501,7 @@
A.admin_remove(usr)
if (href_list["role_edit"])
var/new_role = input("Select new role", "Assigned role", assigned_role.title) as null|anything in sort_list(SSjob.station_jobs)
var/new_role = input("Select new role", "Assigned role", assigned_role.title) as null|anything in sort_list(SSjob.name_occupations)
if(isnull(new_role))
return
var/datum/job/new_job = SSjob.GetJob(new_role)
+17 -4
View File
@@ -936,8 +936,10 @@ What a mess.*/
if((istype(active1, /datum/data/record) && L.Find(rank)))
temp = "<h5>Rank:</h5>"
temp += "<ul>"
for(var/rank in SSjob.station_jobs)
temp += "<li><a href='?src=[REF(src)];choice=Change Rank;rank=[rank]'>[rank]</a></li>"
var/list/station_job_templates = SSid_access.station_job_templates
for(var/path in station_job_templates)
var/rank = station_job_templates[path]
temp += "<li><a href='?src=[REF(src)];choice=Change Rank;rank=[path]'>[rank]</a></li>"
temp += "</ul>"
else
tgui_alert(usr, "You do not have the required rank to do this!")
@@ -947,8 +949,19 @@ What a mess.*/
switch(href_list["choice"])
if("Change Rank")
if(active1)
active1.fields["rank"] = strip_html(href_list["rank"])
active1.fields["trim"] = active1.fields["rank"]
var/text = strip_html(href_list["rank"])
var/path = text2path(text)
if(ispath(path))
var/rank = SSid_access.station_job_templates[path]
if(rank)
active1.fields["rank"] = rank
active1.fields["trim"] = active1.fields["rank"]
else
message_admins("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid path: [path]")
log_game("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid path: [path]")
else if(!isnull(text))
message_admins("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid value: [text]")
log_game("Warning: possible href exploit by [key_name(usr)] - attempted to set change a crew member rank to an invalid value: [text]")
if("Change Criminal Status")
if(active2)
+27 -16
View File
@@ -715,18 +715,22 @@
if(is_intern)
if(assignment)
assignment_string = (assignment in SSjob.head_of_staff_jobs) ? " ([assignment]-in-Training)" : " (Intern [assignment])"
assignment_string = trim?.intern_alt_name || "Intern [assignment]"
else
assignment_string = " (Intern)"
assignment_string = "Intern"
else
assignment_string = " ([assignment])"
assignment_string = assignment
name = "[name_string][assignment_string]"
name = "[name_string] ([assignment_string])"
/// Returns the trim assignment name.
/obj/item/card/id/proc/get_trim_assignment()
return trim?.assignment || assignment
/// Returns the trim sechud icon state.
/obj/item/card/id/proc/get_trim_sechud_icon_state()
return trim?.sechud_icon_state || SECHUD_UNKNOWN
/obj/item/card/id/away
name = "\proper a perfectly generic identification card"
desc = "A perfectly generic identification card. Looks like it could use some flavor."
@@ -819,8 +823,10 @@
var/trim_icon_override
/// If this is set, will manually override the icon state for the trim. Intended for admins to VV edit and chameleon ID cards.
var/trim_state_override
/// If this is set, will manually override the trim's assignmment for SecHUDs. Intended for admins to VV edit and chameleon ID cards.
/// If this is set, will manually override the trim's assignmment as it appears in the crew monitor and elsewhere. Intended for admins to VV edit and chameleon ID cards.
var/trim_assignment_override
/// If this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards.
var/sechud_icon_state_override = null
/obj/item/card/id/advanced/Initialize(mapload)
. = ..()
@@ -847,7 +853,7 @@
var/intern_threshold = (CONFIG_GET(number/use_low_living_hour_intern_hours) * 60) || (CONFIG_GET(number/use_exp_restrictions_heads_hours) * 60) || INTERN_THRESHOLD_FALLBACK_HOURS * 60
var/playtime = user.client.get_exp_living(pure_numeric = TRUE)
if((intern_threshold >= playtime) && (user.mind?.assigned_role.title in SSjob.station_jobs))
if((intern_threshold >= playtime) && (user.mind?.assigned_role.job_flags & JOB_CAN_BE_INTERN))
is_intern = TRUE
update_label()
return
@@ -922,12 +928,17 @@
/obj/item/card/id/advanced/get_trim_assignment()
if(trim_assignment_override)
return trim_assignment_override
else if(ispath(trim))
if(ispath(trim))
var/datum/id_trim/trim_singleton = SSid_access.trim_singletons_by_path[trim]
return trim_singleton.assignment
return ..()
/// Returns the trim sechud icon state.
/obj/item/card/id/advanced/get_trim_sechud_icon_state()
return sechud_icon_state_override || ..()
/obj/item/card/id/advanced/silver
name = "silver identification card"
desc = "A silver card which shows honour and dedication."
@@ -974,7 +985,7 @@
icon_state = "card_centcom"
worn_icon_state = "card_centcom"
assigned_icon_state = "assigned_centcom"
registered_name = "Central Command"
registered_name = JOB_CENTCOM
registered_age = null
trim = /datum/id_trim/centcom
wildcard_slots = WILDCARD_LIMIT_CENTCOM
@@ -987,31 +998,31 @@
trim = /datum/id_trim/centcom/ert
/obj/item/card/id/advanced/centcom/ert
registered_name = "Emergency Response Team Commander"
registered_name = JOB_ERT_COMMANDER
trim = /datum/id_trim/centcom/ert/commander
/obj/item/card/id/advanced/centcom/ert/security
registered_name = "Security Response Officer"
registered_name = JOB_ERT_OFFICER
trim = /datum/id_trim/centcom/ert/security
/obj/item/card/id/advanced/centcom/ert/engineer
registered_name = "Engineering Response Officer"
registered_name = JOB_ERT_ENGINEER
trim = /datum/id_trim/centcom/ert/engineer
/obj/item/card/id/advanced/centcom/ert/medical
registered_name = "Medical Response Officer"
registered_name = JOB_ERT_MEDICAL_DOCTOR
trim = /datum/id_trim/centcom/ert/medical
/obj/item/card/id/advanced/centcom/ert/chaplain
registered_name = "Religious Response Officer"
registered_name = JOB_ERT_CHAPLAIN
trim = /datum/id_trim/centcom/ert/chaplain
/obj/item/card/id/advanced/centcom/ert/janitor
registered_name = "Janitorial Response Officer"
registered_name = JOB_ERT_JANITOR
trim = /datum/id_trim/centcom/ert/janitor
/obj/item/card/id/advanced/centcom/ert/clown
registered_name = "Entertainment Response Officer"
registered_name = JOB_ERT_CLOWN
trim = /datum/id_trim/centcom/ert/clown
/obj/item/card/id/advanced/black
@@ -1025,7 +1036,7 @@
/obj/item/card/id/advanced/black/deathsquad
name = "\improper Death Squad ID"
desc = "A Death Squad ID card."
registered_name = "Death Commando"
registered_name = JOB_ERT_DEATHSQUAD
trim = /datum/id_trim/centcom/deathsquad
wildcard_slots = WILDCARD_LIMIT_DEATHSQUAD
+1 -17
View File
@@ -107,20 +107,4 @@
/obj/item/proc/get_sechud_job_icon_state()
var/obj/item/card/id/id_card = GetID()
if(!id_card)
return "hudno_id"
var/card_assignment = id_card.get_trim_assignment()
// Is this one of the jobs with dedicated HUD icons?
if(card_assignment in SSjob.station_jobs)
return "hud[ckey(card_assignment)]"
if(card_assignment in SSjob.additional_jobs_with_icons)
return "hud[ckey(card_assignment)]"
// If not, is it one of the jobs that should use the NT logo?
if(card_assignment in SSjob.centcom_jobs)
return "hudcentcom"
// If none of the above apply, job name is unknown.
return "hudunknown"
return id_card?.get_trim_sechud_icon_state() || SECHUD_NO_ID
+1 -4
View File
@@ -102,10 +102,7 @@
/// List of family heirlooms this job can get with the family heirloom quirk. List of types.
var/list/family_heirlooms
/// All values = (JOB_STATION_JOB | JOB_HEAD_JOB)
var/job_type_flags = NONE
/// All values = (JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_ASSIGN_QUIRKS)
/// All values = (JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN)
var/job_flags = NONE
/// Multiplier for general usage of the voice of god.
+1 -2
View File
@@ -34,8 +34,7 @@ Assistant
/obj/item/crowbar/large = 1
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
rpg_title = "Lout"
/datum/outfit/job/assistant
@@ -35,8 +35,7 @@
/obj/item/grenade/gas_crystal/nitrous_oxide_crystal = 5,
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
rpg_title = "Aeromancer"
/datum/outfit/job/atmos
+1 -2
View File
@@ -29,8 +29,7 @@
/obj/item/stack/sheet/mineral/uranium = 10,
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
rpg_title = "Tavernkeeper"
/datum/job/bartender/award_service(client/winner, award)
+1 -2
View File
@@ -31,8 +31,7 @@
/obj/item/food/monkeycube/bee = 2
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
rpg_title = "Gardener"
/datum/outfit/job/botanist
+1 -2
View File
@@ -40,8 +40,7 @@
/obj/item/toy/captainsaid/collector = 20
)
job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
rpg_title = "Star Duke"
voice_of_god_power = 1.4 //Command staff has authority
@@ -33,8 +33,7 @@
/obj/item/gun/ballistic/rifle/boltaction = 1
)
rpg_title = "Merchantman"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN | JOB_CAN_BE_INTERN
/datum/outfit/job/cargo_tech
+1 -2
View File
@@ -31,8 +31,7 @@
/obj/item/toy/plush/ratplush = 1
)
rpg_title = "Paladin"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN | JOB_CAN_BE_INTERN
voice_of_god_power = 2 //Chaplains are very good at speaking with the voice of god
+1 -2
View File
@@ -35,8 +35,7 @@
/obj/item/paper/secretrecipe = 1
)
rpg_title = "Alchemist"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/chemist
@@ -43,8 +43,7 @@
/obj/effect/spawner/random/engineering/tool_advanced = 3
)
rpg_title = "Head Crystallomancer"
job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
voice_of_god_power = 1.4 //Command staff has authority
@@ -40,8 +40,7 @@
)
family_heirlooms = list(/obj/item/storage/firstaid/ancient/heirloom)
rpg_title = "High Cleric"
job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
voice_of_god_power = 1.4 //Command staff has authority
+1 -2
View File
@@ -32,8 +32,7 @@
family_heirlooms = list(/obj/item/bikehorn/golden)
rpg_title = "Jester"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
veteran_only = TRUE // SKYRAT EDIT ADDITION
+3 -3
View File
@@ -28,8 +28,7 @@
family_heirlooms = list(/obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/kitchen/rollingpin, /obj/item/clothing/head/chefhat)
rpg_title = "Tavern Chef"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/job/cook/New()
@@ -88,7 +87,7 @@
name = "Cook"
jobtype = /datum/job/cook
id_trim = /datum/id_trim/job/cook
id_trim = /datum/id_trim/job/cook/chef
uniform = /obj/item/clothing/under/rank/civilian/chef
suit = /obj/item/clothing/suit/toggle/chef
backpack_contents = list(
@@ -107,6 +106,7 @@
var/datum/job/cook/J = SSjob.GetJobType(jobtype)
if(J) // Fix for runtime caused by invalid job being passed
if(J.cooks>0)//Cooks
id_trim = /datum/id_trim/job/cook
suit = /obj/item/clothing/suit/apron/chef
head = /obj/item/clothing/head/soft/mime
if(!visualsOnly)
+1 -2
View File
@@ -23,8 +23,7 @@
family_heirlooms = list(/obj/item/pen/fountain, /obj/item/storage/dice)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
voice_of_god_silence_power = 3
rpg_title = "Veteran Adventurer"
+1 -2
View File
@@ -41,8 +41,7 @@
family_heirlooms = list(/obj/item/reagent_containers/food/drinks/bottle/whiskey)
rpg_title = "Thiefcatcher"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/detective
+1 -2
View File
@@ -29,8 +29,7 @@
family_heirlooms = list(/obj/item/clothing/under/shorts/purple)
rpg_title = "Genemancer"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/geneticist
@@ -40,8 +40,7 @@
family_heirlooms = list(/obj/item/reagent_containers/food/drinks/trophy/silver_cup)
rpg_title = "Guild Questgiver"
job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
voice_of_god_power = 1.4 //Command staff has authority
@@ -35,8 +35,7 @@
family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law)
rpg_title = "Guard Leader"
job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
voice_of_god_power = 1.4 //Command staff has authority
+1 -2
View File
@@ -28,8 +28,7 @@
/obj/item/lightreplacer = 10
)
rpg_title = "Groundskeeper"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/janitor
+1 -2
View File
@@ -26,8 +26,7 @@
rpg_title = "Magistrate"
family_heirlooms = list(/obj/item/gavelhammer, /obj/item/book/manual/wiki/security_space_law)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/lawyer
@@ -36,8 +36,7 @@
/obj/effect/spawner/random/medical/memeorgans = 1
)
rpg_title = "Cleric"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/doctor
+1 -2
View File
@@ -29,8 +29,7 @@
/obj/item/book/mimery = 1,
)
rpg_title = "Fool"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
voice_of_god_power = 0.5 //Why are you speaking
voice_of_god_silence_power = 3
+1 -2
View File
@@ -35,8 +35,7 @@
/obj/item/reagent_containers/hypospray/medipen/survival/luxury = 5
)
rpg_title = "Corpse Runner"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/paramedic
+1 -2
View File
@@ -23,8 +23,7 @@
family_heirlooms = list(/obj/item/pen/blue)
rpg_title = "Defeated Miniboss"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/prisoner
+1 -2
View File
@@ -31,8 +31,7 @@
/obj/item/gun/syringe = 1
)
rpg_title = "Snake Oil Salesman"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/psychologist
+1 -2
View File
@@ -35,8 +35,7 @@
/obj/item/circuitboard/machine/emitter = 3
)
rpg_title = "Steward"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/job/quartermaster/after_spawn(mob/living/carbon/human/H, mob/M) //SKYRAT EDIT - Gubman 3.1
@@ -41,8 +41,7 @@
family_heirlooms = list(/obj/item/toy/plush/slimeplushie)
rpg_title = "Archmagister"
job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
voice_of_god_power = 1.4 //Command staff has authority
+1 -2
View File
@@ -31,8 +31,7 @@
family_heirlooms = list(/obj/item/toy/plush/pkplush)
rpg_title = "Necromancer"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/job/roboticist/New()
+1 -2
View File
@@ -31,8 +31,7 @@
/obj/item/camera_bug = 1
)
rpg_title = "Thaumaturgist"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/scientist
@@ -39,8 +39,7 @@
/obj/item/melee/baton/security/boomerang/loaded = 1
)
rpg_title = "Guard"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT_SCIENCE, SEC_DEPT_SUPPLY))
+1 -2
View File
@@ -24,8 +24,7 @@
family_heirlooms = list(/obj/item/pickaxe/mini, /obj/item/shovel)
rpg_title = "Adventurer"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/miner
@@ -35,8 +35,7 @@
/obj/item/clothing/head/hardhat/red/upgraded = 1
)
rpg_title = "Crystallomancer"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/engineer
+1 -2
View File
@@ -36,8 +36,7 @@
/obj/item/stack/sheet/mineral/uranium = 5,
)
rpg_title = "Plague Doctor"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/virologist
+1 -2
View File
@@ -40,8 +40,7 @@
/obj/item/storage/box/rubbershot = 10
)
rpg_title = "Jailor"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/warden
+9 -3
View File
@@ -1,8 +1,14 @@
/datum/unit_test/traitor/Run()
var/datum/dynamic_ruleset/roundstart/traitor/traitor_ruleset = allocate(/datum/dynamic_ruleset/roundstart/traitor)
var/list/possible_jobs = SSjob.station_jobs.Copy()
possible_jobs -= traitor_ruleset.protected_roles
possible_jobs -= traitor_ruleset.restricted_roles
var/list/possible_jobs = list()
var/list/restricted_roles = traitor_ruleset.restricted_roles
for(var/datum/job/job as anything in SSjob.joinable_occupations)
if(!(job.job_flags & JOB_CREW_MEMBER))
continue
var/rank = job.title
if(rank in restricted_roles)
continue
possible_jobs += rank
for(var/job_name in possible_jobs)
var/datum/job/job = SSjob.GetJob(job_name)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

@@ -41,7 +41,6 @@
)
veteran_only = TRUE
job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
/datum/outfit/job/blueshield
@@ -35,8 +35,8 @@
)
rpg_title = "Bailiff"
family_heirlooms = list(/obj/item/book/manual/wiki/security_space_law, /obj/item/clothing/head/beret/sec)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/job/brigoff/after_spawn(mob/living/carbon/human/H, mob/M)
. = ..()
@@ -29,7 +29,7 @@
family_heirlooms = list(/obj/item/binoculars)
veteran_only = TRUE
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
/datum/job/expeditionary_trooper/after_spawn(mob/living/carbon/human/H, mob/M)
@@ -99,8 +99,8 @@
/obj/item/clothing/mask/whistle = 5,
/obj/item/melee/baton/security/boomerang/loaded = 1
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/orderly
name = "Orderly" // You forgot your vaccine *flexes muscles*
@@ -167,8 +167,7 @@
/obj/item/clothing/mask/whistle = 5,
/obj/item/melee/baton/security/boomerang/loaded = 1
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/science_guard
name = "Science Guard"
@@ -237,8 +236,7 @@
/obj/item/clothing/mask/whistle = 5,
/obj/item/melee/baton/security/boomerang/loaded = 1
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/bouncer
name = "Bouncer" // That ID looks a little suspect, pal. You ain't on the list, beat it.
@@ -311,8 +309,7 @@
/obj/item/clothing/mask/whistle = 5,
/obj/item/melee/baton/security/boomerang/loaded = 1
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/customs_agent
name = "Customs Agent"
@@ -379,8 +376,7 @@
/obj/item/clothing/mask/whistle = 5,
/obj/item/melee/baton/security/boomerang/loaded = 1
)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/engineering_guard
name = "Engineering Guard"
@@ -38,7 +38,6 @@
)
veteran_only = TRUE
job_type_flags = JOB_STATION_JOB | JOB_HEAD_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
/datum/job/nanotrasen_representative/after_spawn(mob/living/H, mob/M, latejoin)
+1 -2
View File
@@ -21,8 +21,7 @@
)
family_heirlooms = list(/obj/item/hairbrush/comb, /obj/item/razor)
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/outfit/job/barber
@@ -42,8 +42,7 @@
/obj/item/reagent_containers/hypospray/medipen/survival/luxury = 5
)
rpg_title = "Battle Cleric"
job_type_flags = JOB_STATION_JOB
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS
job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN
/datum/job/security_medic/after_spawn(mob/living/carbon/human/H, mob/M)
. = ..()