mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-14 09:35:30 +01:00
[MIRROR] Fixes Cook CQC + job change config fixes [MDB IGNORE] (#13592)
* Fixes Cook CQC + job change config fixes * Update _job.dm * Update jobs.dm * Update department_guards.dm Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
This commit is contained in:
@@ -10,8 +10,8 @@
|
||||
"whiteship": "whiteship_delta"
|
||||
},
|
||||
"job_changes": {
|
||||
"cook": {
|
||||
"additional_cqc_areas": ["/area/service/cafeteria"]
|
||||
"Cook": {
|
||||
"additional_cqc_areas": ["/area/station/service/cafeteria"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -44,10 +44,10 @@
|
||||
],
|
||||
"minetype": "none",
|
||||
"job_changes": {
|
||||
"cook": {
|
||||
"additional_cqc_areas": ["/area/service/kitchen/diner"]
|
||||
"Cook": {
|
||||
"additional_cqc_areas": ["/area/station/service/kitchen/diner"]
|
||||
},
|
||||
"captain": {
|
||||
"Captain": {
|
||||
"special_charter": "moon"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
}
|
||||
],
|
||||
"job_changes": {
|
||||
"cook": {
|
||||
"additional_cqc_areas": ["/area/service/bar/atrium"]
|
||||
"Cook": {
|
||||
"additional_cqc_areas": ["/area/station/service/bar/atrium"]
|
||||
},
|
||||
"captain": {
|
||||
"Captain": {
|
||||
"special_charter": "asteroid"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
"emergency": "emergency_meta"
|
||||
},
|
||||
"job_changes": {
|
||||
"cook": {
|
||||
"additional_cqc_areas": ["/area/service/bar", "/area/service/kitchen/coldroom", "/area/commons/lounge"]
|
||||
"Cook": {
|
||||
"additional_cqc_areas": ["/area/station/service/bar", "/area/station/commons/lounge"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
}
|
||||
],
|
||||
"job_changes": {
|
||||
"cook": {
|
||||
"additional_cqc_areas": ["/area/service/kitchen/diner"]
|
||||
"Cook": {
|
||||
"additional_cqc_areas": ["/area/station/service/kitchen/diner"]
|
||||
},
|
||||
"captain": {
|
||||
"Captain": {
|
||||
"special_charter": "asteroid"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ SUBSYSTEM_DEF(job)
|
||||
if(!job.config_check())
|
||||
continue
|
||||
if(!job.map_check()) //Even though we initialize before mapping, this is fine because the config is loaded at new
|
||||
testing("Removed [job.type] due to map config")
|
||||
log_job_debug("Removed [job.title] due to map config")
|
||||
continue
|
||||
new_all_occupations += job
|
||||
name_occupations[job.title] = job
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
var/list/minimal_wildcard_access = list()
|
||||
/// Static list. Cache of any mapping config job changes.
|
||||
var/static/list/job_changes
|
||||
/// What config entry relates to this job. Should be a lowercase job name with underscores for spaces, eg "prisoner" "research_director" "head_of_security"
|
||||
var/config_job
|
||||
/// An ID card with an access in this list can apply this trim to IDs or use it as a job template when adding access to a card. If the list is null, cannot be used as a template. Should be Head of Staff or ID Console accesses or it may do nothing.
|
||||
var/list/template_access
|
||||
/// The typepath to the job datum from the id_trim. This is converted to one of the job singletons in New().
|
||||
@@ -31,11 +29,11 @@
|
||||
if(isnull(job_changes))
|
||||
job_changes = SSmapping.config.job_changes
|
||||
|
||||
if(!length(job_changes) || !config_job)
|
||||
if(!length(job_changes))
|
||||
refresh_trim_access()
|
||||
return
|
||||
|
||||
var/list/access_changes = job_changes[config_job]
|
||||
var/list/access_changes = job_changes[job.title]
|
||||
|
||||
if(!length(access_changes))
|
||||
refresh_trim_access()
|
||||
@@ -84,7 +82,6 @@
|
||||
sechud_icon_state = SECHUD_ASSISTANT
|
||||
extra_access = list(ACCESS_MAINT_TUNNELS)
|
||||
minimal_access = list()
|
||||
config_job = "assistant"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/assistant
|
||||
|
||||
@@ -105,7 +102,6 @@
|
||||
extra_access = list(ACCESS_ENGINE_EQUIP, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE)
|
||||
minimal_access = list(ACCESS_ENGINE, ACCESS_ATMOSPHERICS, ACCESS_AUX_BASE, ACCESS_CONSTRUCTION, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_MAINT_TUNNELS, ACCESS_MECH_ENGINE,
|
||||
ACCESS_MINERAL_STOREROOM)
|
||||
config_job = "atmospheric_technician"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CE, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/atmospheric_technician
|
||||
|
||||
@@ -115,7 +111,6 @@
|
||||
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"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/bartender
|
||||
|
||||
@@ -125,7 +120,6 @@
|
||||
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"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/botanist
|
||||
|
||||
@@ -134,7 +128,6 @@
|
||||
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
|
||||
|
||||
@@ -153,7 +146,6 @@
|
||||
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"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/cargo_technician
|
||||
|
||||
@@ -163,7 +155,6 @@
|
||||
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"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/chaplain
|
||||
|
||||
@@ -173,7 +164,6 @@
|
||||
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"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CMO, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/chemist
|
||||
|
||||
@@ -188,7 +178,6 @@
|
||||
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_HEADS, ACCESS_KEYCARD_AUTH, ACCESS_MAINT_TUNNELS, ACCESS_MECH_ENGINE,
|
||||
ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_RC_ANNOUNCE, ACCESS_BRIG_ENTRANCE, ACCESS_TCOMSAT, ACCESS_TECH_STORAGE)
|
||||
minimal_wildcard_access = list(ACCESS_CE)
|
||||
config_job = "chief_engineer"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/chief_engineer
|
||||
|
||||
@@ -203,7 +192,6 @@
|
||||
ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_PHARMACY, ACCESS_PSYCHOLOGY, ACCESS_RC_ANNOUNCE,
|
||||
ACCESS_BRIG_ENTRANCE, ACCESS_SURGERY, ACCESS_VIROLOGY)
|
||||
minimal_wildcard_access = list(ACCESS_CMO)
|
||||
config_job = "chief_medical_officer"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/chief_medical_officer
|
||||
|
||||
@@ -213,7 +201,6 @@
|
||||
sechud_icon_state = SECHUD_CLOWN
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_THEATRE, ACCESS_SERVICE)
|
||||
config_job = "clown"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/clown
|
||||
|
||||
@@ -223,7 +210,6 @@
|
||||
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
|
||||
|
||||
@@ -237,7 +223,6 @@
|
||||
sechud_icon_state = SECHUD_CURATOR
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_AUX_BASE, ACCESS_LIBRARY, ACCESS_MINING_STATION, ACCESS_SERVICE)
|
||||
config_job = "curator"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/curator
|
||||
|
||||
@@ -248,7 +233,6 @@
|
||||
extra_access = list(ACCESS_BRIG)
|
||||
minimal_access = list(ACCESS_SECURITY, ACCESS_COURT, ACCESS_FORENSICS, ACCESS_BRIG_ENTRANCE,ACCESS_MAINT_TUNNELS, ACCESS_MORGUE,
|
||||
ACCESS_MECH_SECURITY, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
|
||||
config_job = "detective"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOS, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/detective
|
||||
|
||||
@@ -268,7 +252,6 @@
|
||||
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"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_RD, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/geneticist
|
||||
|
||||
@@ -286,7 +269,6 @@
|
||||
ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MORGUE, ACCESS_PSYCHOLOGY, ACCESS_QM, ACCESS_RC_ANNOUNCE,
|
||||
ACCESS_RESEARCH, ACCESS_BRIG_ENTRANCE, ACCESS_TELEPORTER, ACCESS_THEATRE, ACCESS_VAULT, ACCESS_WEAPONS, ACCESS_SERVICE)
|
||||
minimal_wildcard_access = list(ACCESS_HOP)
|
||||
config_job = "head_of_personnel"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/head_of_personnel
|
||||
|
||||
@@ -302,7 +284,6 @@
|
||||
ACCESS_MAILSORTING, ACCESS_MAINT_TUNNELS, ACCESS_MECH_SECURITY, ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_MINING, ACCESS_MORGUE, ACCESS_RC_ANNOUNCE, ACCESS_RESEARCH, ACCESS_SECURITY, ACCESS_BRIG_ENTRANCE, ACCESS_WEAPONS)
|
||||
minimal_wildcard_access = list(ACCESS_HOS)
|
||||
config_job = "head_of_security"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/head_of_security
|
||||
|
||||
@@ -322,7 +303,6 @@
|
||||
sechud_icon_state = SECHUD_JANITOR
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM, ACCESS_SERVICE)
|
||||
config_job = "janitor"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/janitor
|
||||
|
||||
@@ -332,7 +312,6 @@
|
||||
sechud_icon_state = SECHUD_LAWYER
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_COURT, ACCESS_LAWYER, ACCESS_BRIG_ENTRANCE, ACCESS_SERVICE)
|
||||
config_job = "lawyer"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_HOS, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/lawyer
|
||||
|
||||
@@ -342,7 +321,6 @@
|
||||
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"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CMO, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/doctor
|
||||
|
||||
@@ -352,7 +330,6 @@
|
||||
sechud_icon_state = SECHUD_MIME
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_THEATRE, ACCESS_SERVICE)
|
||||
config_job = "mime"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/mime
|
||||
|
||||
@@ -363,7 +340,6 @@
|
||||
extra_access = list(ACCESS_SURGERY)
|
||||
minimal_access = list(ACCESS_CONSTRUCTION, ACCESS_HYDROPONICS, ACCESS_MAINT_TUNNELS, ACCESS_MECH_MEDICAL,
|
||||
ACCESS_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MINING, ACCESS_MORGUE, ACCESS_RESEARCH)
|
||||
config_job = "paramedic"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CMO, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/paramedic
|
||||
|
||||
@@ -371,7 +347,6 @@
|
||||
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
|
||||
|
||||
@@ -409,7 +384,6 @@
|
||||
sechud_icon_state = SECHUD_PSYCHOLOGIST
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_MEDICAL, ACCESS_PSYCHOLOGY, ACCESS_SERVICE)
|
||||
config_job = "psychologist"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CMO, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/psychologist
|
||||
|
||||
@@ -420,7 +394,6 @@
|
||||
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)
|
||||
config_job = "quartermaster"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/quartermaster
|
||||
|
||||
@@ -437,7 +410,6 @@
|
||||
ACCESS_ORDNANCE, ACCESS_ORDNANCE_STORAGE, ACCESS_RC_ANNOUNCE, ACCESS_RESEARCH, ACCESS_RND, ACCESS_ROBOTICS,
|
||||
ACCESS_BRIG_ENTRANCE, ACCESS_TECH_STORAGE, ACCESS_TELEPORTER, ACCESS_XENOBIOLOGY)
|
||||
minimal_wildcard_access = list(ACCESS_RD)
|
||||
config_job = "research_director"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/research_director
|
||||
|
||||
@@ -448,7 +420,6 @@
|
||||
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)
|
||||
config_job = "roboticist"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_RD, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/roboticist
|
||||
|
||||
@@ -459,7 +430,6 @@
|
||||
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)
|
||||
config_job = "scientist"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_RD, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/scientist
|
||||
|
||||
@@ -471,11 +441,10 @@
|
||||
extra_access = list(ACCESS_FORENSICS, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE)
|
||||
minimal_access = list(ACCESS_BRIG, ACCESS_COURT, ACCESS_SECURITY, ACCESS_BRIG_ENTRANCE, ACCESS_MECH_SECURITY,
|
||||
ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
|
||||
/// List of bonus departmental accesses that departmental sec officers get.
|
||||
var/department_access = list()
|
||||
config_job = "security_officer"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOS, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/security_officer
|
||||
/// List of bonus departmental accesses that departmental sec officers get.
|
||||
var/department_access = list()
|
||||
|
||||
/datum/id_trim/job/security_officer/refresh_trim_access()
|
||||
. = ..()
|
||||
@@ -516,7 +485,6 @@
|
||||
extra_access = list(ACCESS_MAINT_TUNNELS, ACCESS_QM)
|
||||
minimal_access = list(ACCESS_CARGO, ACCESS_AUX_BASE, ACCESS_MAILSORTING, ACCESS_MECH_MINING, ACCESS_MINERAL_STOREROOM, ACCESS_MINING,
|
||||
ACCESS_MINING_STATION)
|
||||
config_job = "shaft_miner"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/shaft_miner
|
||||
|
||||
@@ -533,7 +501,6 @@
|
||||
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)
|
||||
config_job = "station_engineer"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CE, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/station_engineer
|
||||
|
||||
@@ -543,7 +510,6 @@
|
||||
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"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CMO, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/virologist
|
||||
|
||||
@@ -554,7 +520,6 @@
|
||||
extra_access = list(ACCESS_FORENSICS, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE)
|
||||
minimal_access = list(ACCESS_ARMORY, ACCESS_BRIG, ACCESS_COURT, ACCESS_MECH_SECURITY, ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_SECURITY, ACCESS_BRIG_ENTRANCE, ACCESS_WEAPONS) // See /datum/job/warden/get_access()
|
||||
config_job = "warden"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOS, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/warden
|
||||
|
||||
|
||||
@@ -222,12 +222,37 @@
|
||||
///Subtype of CQC. Only used for the chef.
|
||||
/datum/martial_art/cqc/under_siege
|
||||
name = "Close Quarters Cooking"
|
||||
var/list/kitchen_areas
|
||||
///List of all areas that CQC will work in, defaults to Kitchen.
|
||||
var/list/kitchen_areas = list(/area/station/service/kitchen)
|
||||
|
||||
/// Refreshes the valid areas from the cook job singleton, otherwise uses the default kitchen area as a fallback option. See also [/datum/job/cook/New].
|
||||
/// Refreshes the valid areas from the cook's mapping config, adding areas in config to the list of possible areas.
|
||||
/datum/martial_art/cqc/under_siege/proc/refresh_valid_areas()
|
||||
var/datum/job/cook/cook_job = SSjob.GetJobType(/datum/job/cook)
|
||||
kitchen_areas = cook_job.kitchen_areas.Copy()
|
||||
var/list/job_changes = SSmapping.config.job_changes
|
||||
|
||||
if(!length(job_changes))
|
||||
return
|
||||
|
||||
var/list/cook_changes = job_changes[JOB_COOK]
|
||||
|
||||
if(!length(cook_changes))
|
||||
return
|
||||
|
||||
var/list/additional_cqc_areas = cook_changes["additional_cqc_areas"]
|
||||
|
||||
if(!additional_cqc_areas)
|
||||
return
|
||||
|
||||
if(!islist(additional_cqc_areas))
|
||||
stack_trace("Incorrect CQC area format from mapping configs. Expected /list, got: \[[additional_cqc_areas.type]\]")
|
||||
return
|
||||
|
||||
for(var/path_as_text in additional_cqc_areas)
|
||||
var/path = text2path(path_as_text)
|
||||
if(!ispath(path, /area))
|
||||
stack_trace("Invalid path in mapping config for chef CQC: \[[path_as_text]\]")
|
||||
continue
|
||||
|
||||
kitchen_areas |= path
|
||||
|
||||
/// Limits where the chef's CQC can be used to only whitelisted areas.
|
||||
/datum/martial_art/cqc/under_siege/can_use(mob/living/owner)
|
||||
|
||||
@@ -128,30 +128,22 @@
|
||||
|
||||
/datum/job/New()
|
||||
. = ..()
|
||||
//SKYRAT ADDITION START
|
||||
// SKYRAT EDIT START
|
||||
if(!job_spawn_title)
|
||||
job_spawn_title = title
|
||||
//SKYRAT ADDITION END
|
||||
var/list/jobs_changes = get_map_changes()
|
||||
if(!jobs_changes)
|
||||
return
|
||||
if(isnum(jobs_changes["spawn_positions"]))
|
||||
spawn_positions = jobs_changes["spawn_positions"]
|
||||
if(isnum(jobs_changes["total_positions"]))
|
||||
total_positions = jobs_changes["total_positions"]
|
||||
|
||||
/// Loads up map configs if necessary and returns job changes for this job.
|
||||
/datum/job/proc/get_map_changes()
|
||||
var/string_type = "[type]"
|
||||
var/list/splits = splittext(string_type, "/")
|
||||
var/endpart = splits[splits.len]
|
||||
|
||||
// SKYRAT EDIT END
|
||||
var/list/job_changes = SSmapping.config.job_changes
|
||||
if(!(endpart in job_changes))
|
||||
return list()
|
||||
if(!job_changes[title])
|
||||
return TRUE
|
||||
|
||||
return job_changes[endpart]
|
||||
var/list/job_positions_edits = job_changes[title]
|
||||
if(!job_positions_edits)
|
||||
return TRUE
|
||||
|
||||
if(isnum(job_positions_edits["spawn_positions"]))
|
||||
spawn_positions = job_positions_edits["spawn_positions"]
|
||||
if(isnum(job_positions_edits["total_positions"]))
|
||||
total_positions = job_positions_edits["total_positions"]
|
||||
|
||||
/// Executes after the mob has been spawned in the map. Client might not be yet in the mob, and is thus a separate variable.
|
||||
/datum/job/proc/after_spawn(mob/living/spawned, client/player_client)
|
||||
@@ -239,10 +231,31 @@
|
||||
/datum/job/proc/config_check()
|
||||
return TRUE
|
||||
|
||||
/**
|
||||
* # map_check
|
||||
*
|
||||
* Checks the map config for job changes
|
||||
* If they have 0 spawn and total positions in the config, the job is entirely removed from occupations prefs for the round.
|
||||
*/
|
||||
/datum/job/proc/map_check()
|
||||
var/list/job_changes = get_map_changes()
|
||||
if(!job_changes)
|
||||
var/list/job_changes = SSmapping.config.job_changes
|
||||
if(!job_changes[title]) //no edits made
|
||||
return TRUE
|
||||
|
||||
var/list/job_positions_edits = job_changes[title]
|
||||
if(!job_positions_edits)
|
||||
return TRUE
|
||||
|
||||
var/available_roundstart = TRUE
|
||||
var/available_latejoin = TRUE
|
||||
if(!isnull(job_positions_edits["spawn_positions"]) && (job_positions_edits["spawn_positions"] == 0))
|
||||
available_roundstart = FALSE
|
||||
if(!isnull(job_positions_edits["total_positions"]) && (job_positions_edits["total_positions"] == 0))
|
||||
available_latejoin = FALSE
|
||||
|
||||
if(!available_roundstart && !available_latejoin) //map config disabled the job
|
||||
return FALSE
|
||||
|
||||
return TRUE
|
||||
|
||||
/datum/job/proc/radio_help_message(mob/M)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
var/list/job_changes = SSmapping.config.job_changes
|
||||
if(!length(job_changes))
|
||||
return
|
||||
var/list/captain_changes = job_changes["captain"]
|
||||
var/list/captain_changes = job_changes[JOB_CAPTAIN]
|
||||
if(!length(captain_changes))
|
||||
return
|
||||
special_charter = captain_changes["special_charter"]
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
selection_color = "#bbe291"
|
||||
exp_granted_type = EXP_TYPE_CREW
|
||||
var/cooks = 0 //Counts cooks amount
|
||||
/// List of areas that are counted as the kitchen for the purposes of CQC. Defaults to just the kitchen. Mapping configs can and should override this.
|
||||
var/list/kitchen_areas = list(/area/station/service/kitchen)
|
||||
|
||||
outfit = /datum/outfit/job/cook
|
||||
plasmaman_outfit = /datum/outfit/plasmaman/chef
|
||||
@@ -26,39 +24,11 @@
|
||||
/datum/job_department/service,
|
||||
)
|
||||
|
||||
family_heirlooms = list(/obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/kitchen/rollingpin, /obj/item/clothing/head/chefhat)
|
||||
rpg_title = "Tavern Chef"
|
||||
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()
|
||||
. = ..()
|
||||
var/list/job_changes = SSmapping.config.job_changes
|
||||
|
||||
if(!length(job_changes))
|
||||
return
|
||||
|
||||
var/list/cook_changes = job_changes[JOB_COOK]
|
||||
|
||||
if(!length(cook_changes))
|
||||
return
|
||||
|
||||
var/list/additional_cqc_areas = cook_changes["additional_cqc_areas"]
|
||||
|
||||
if(!additional_cqc_areas)
|
||||
return
|
||||
|
||||
if(!islist(additional_cqc_areas))
|
||||
stack_trace("Incorrect CQC area format from mapping configs. Expected /list, got: \[[additional_cqc_areas.type]\]")
|
||||
return
|
||||
|
||||
for(var/path_as_text in additional_cqc_areas)
|
||||
var/path = text2path(path_as_text)
|
||||
if(!ispath(path, /area))
|
||||
stack_trace("Invalid path in mapping config for chef CQC: \[[path_as_text]\]")
|
||||
continue
|
||||
|
||||
kitchen_areas |= path
|
||||
family_heirlooms = list(
|
||||
/obj/item/reagent_containers/food/condiment/saltshaker,
|
||||
/obj/item/kitchen/rollingpin,
|
||||
/obj/item/clothing/head/chefhat,
|
||||
)
|
||||
|
||||
mail_goodies = list(
|
||||
/obj/item/storage/box/ingredients/random = 80,
|
||||
@@ -71,6 +41,8 @@
|
||||
/obj/item/knife/butcher = 2
|
||||
)
|
||||
|
||||
rpg_title = "Tavern Chef"
|
||||
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/award_service(client/winner, award)
|
||||
winner.give_award(award, winner.mob)
|
||||
@@ -103,14 +75,14 @@
|
||||
|
||||
/datum/outfit/job/cook/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
..()
|
||||
var/datum/job/cook/J = SSjob.GetJobType(jobtype)
|
||||
if(J) // Fix for runtime caused by invalid job being passed
|
||||
if(J.cooks>0)//Cooks
|
||||
var/datum/job/cook/other_chefs = SSjob.GetJobType(jobtype)
|
||||
if(other_chefs) // If there's other Chefs, you're a Cook
|
||||
if(other_chefs.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)
|
||||
J.cooks++
|
||||
other_chefs.cooks++
|
||||
|
||||
/datum/outfit/job/cook/get_types_to_preload()
|
||||
. = ..()
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
/obj/item/skillchip/job/chef
|
||||
name = "B0RK-X3 skillchip" // bork bork bork
|
||||
name = "B0RK-X3 skillchip" // bork bork bork
|
||||
desc = "This biochip faintly smells of garlic, which is odd for something that is normally wedged inside a user's brain. Consult a dietician before use."
|
||||
skill_name = "Close Quarters Cooking"
|
||||
skill_description = "A specialised form of self defence, developed by skilled sous-chef de cuisines. No man fights harder than a chef to defend his kitchen."
|
||||
skill_icon = "utensils"
|
||||
activate_message = "<span class='notice'>You can visualize how to defend your kitchen with martial arts.</span>"
|
||||
deactivate_message = "<span class='notice'>You forget how to control your muscles to execute kicks, slams and restraints while in a kitchen environment.</span>"
|
||||
/// The Chef CQC given by the skillchip.
|
||||
var/datum/martial_art/cqc/under_siege/style
|
||||
|
||||
/obj/item/skillchip/job/chef/Initialize(mapload)
|
||||
|
||||
@@ -70,7 +70,6 @@
|
||||
ACCESS_RC_ANNOUNCE, ACCESS_HEADS, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP
|
||||
)
|
||||
minimal_wildcard_access = list(ACCESS_CAPTAIN)
|
||||
config_job = "blueshield"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS)
|
||||
|
||||
/datum/id_trim/job/nanotrasen_consultant
|
||||
@@ -87,7 +86,6 @@
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_AUX_BASE, ACCESS_TELEPORTER, ACCESS_CENT_GENERAL)
|
||||
minimal_wildcard_access = list(ACCESS_CAPTAIN, ACCESS_CENT_GENERAL)
|
||||
config_job = "nanotrasen_consultant"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CHANGE_IDS)
|
||||
|
||||
/datum/id_trim/job/security_medic
|
||||
@@ -98,7 +96,6 @@
|
||||
extra_access = list(ACCESS_FORENSICS)
|
||||
minimal_access = list(ACCESS_SECURITY, ACCESS_BRIG_ENTRANCE, ACCESS_BRIG, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_MECH_SECURITY, ACCESS_MINERAL_STOREROOM,
|
||||
ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_MAINT_TUNNELS)
|
||||
config_job = "security_medic"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOS, ACCESS_CHANGE_IDS)
|
||||
|
||||
/datum/id_trim/job/security_medic/New()
|
||||
@@ -116,7 +113,6 @@
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_EVA, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_TELEPORTER, ACCESS_GATEWAY, ACCESS_TECH_STORAGE,
|
||||
ACCESS_CENT_GENERAL, ACCESS_RESEARCH, ACCESS_RND)
|
||||
config_job = "expeditionary_trooper"
|
||||
|
||||
/datum/id_trim/job/brigoff
|
||||
assignment = "Corrections Officer"
|
||||
@@ -126,7 +122,6 @@
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_SECURITY, ACCESS_BRIG_ENTRANCE, ACCESS_BRIG, ACCESS_COURT,
|
||||
ACCESS_MAINT_TUNNELS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP)
|
||||
config_job = "brigoff"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOS, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/brigoff
|
||||
|
||||
@@ -137,6 +132,5 @@
|
||||
sechud_icon_state = SECHUD_BARBER
|
||||
extra_access = list()
|
||||
minimal_access = list(ACCESS_THEATRE, ACCESS_MAINT_TUNNELS, ACCESS_BARBER, ACCESS_SERVICE)
|
||||
config_job = "barber"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/barber
|
||||
|
||||
@@ -167,7 +167,6 @@
|
||||
sechud_icon_state = SECHUD_ORDERLY
|
||||
extra_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
|
||||
minimal_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
|
||||
config_job = "orderly"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CMO, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/orderly
|
||||
|
||||
@@ -238,7 +237,6 @@
|
||||
ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE, ACCESS_GENETICS, ACCESS_AUX_BASE, ACCESS_WEAPONS)
|
||||
minimal_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_ROBOTICS, ACCESS_RND, ACCESS_ORDNANCE, ACCESS_ORDNANCE_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY,
|
||||
ACCESS_MECH_SCIENCE, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE, ACCESS_GENETICS, ACCESS_AUX_BASE, ACCESS_WEAPONS)
|
||||
config_job = "science_guard"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_RD, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/science_guard
|
||||
|
||||
@@ -312,7 +310,6 @@
|
||||
sechud_icon_state = SECHUD_BOUNCER
|
||||
extra_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM, ACCESS_THEATRE, ACCESS_WEAPONS)
|
||||
minimal_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM, ACCESS_THEATRE, ACCESS_SERVICE, ACCESS_WEAPONS)
|
||||
config_job = "bouncer"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_HOP, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/bouncer
|
||||
|
||||
@@ -380,7 +377,6 @@
|
||||
sechud_icon_state = SECHUD_CUSTOMS_AGENT
|
||||
extra_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
|
||||
minimal_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
|
||||
config_job = "customs_agent"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_QM, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/customs_agent
|
||||
|
||||
@@ -450,7 +446,6 @@
|
||||
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
|
||||
minimal_access = list(ACCESS_BRIG_ENTRANCE, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_MECH_ENGINE, ACCESS_AUX_BASE,
|
||||
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT, ACCESS_MINERAL_STOREROOM, ACCESS_WEAPONS)
|
||||
config_job = "engineering_guard"
|
||||
template_access = list(ACCESS_CAPTAIN, ACCESS_CE, ACCESS_CHANGE_IDS)
|
||||
job = /datum/job/engineering_guard
|
||||
|
||||
|
||||
Reference in New Issue
Block a user