diff --git a/code/__defines/species.dm b/code/__defines/species.dm
index 75815f857ff..d571de2f5b0 100644
--- a/code/__defines/species.dm
+++ b/code/__defines/species.dm
@@ -101,4 +101,4 @@
SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_UNBRANDED, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, \
SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_TAJARA, \
SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, \
- SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
\ No newline at end of file
+ SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm
index 6fb46f1115e..8d9102fe96a 100644
--- a/code/controllers/subsystems/job.dm
+++ b/code/controllers/subsystems/job.dm
@@ -173,16 +173,19 @@
var/age = V.client.prefs.age
+ var/min_job_age = job.get_minimum_character_age(V.get_species())
+ var/ideal_job_age = job.get_ideal_character_age(V.get_species())
+
switch(age)
- if(job.minimum_character_age to (job.minimum_character_age+10))
+ if(min_job_age to (min_job_age+10))
weightedCandidates[V] = 3 // Still a bit young.
- if((job.minimum_character_age+10) to (job.ideal_character_age-10))
+ if((min_job_age+10) to (ideal_job_age-10))
weightedCandidates[V] = 6 // Better.
- if((job.ideal_character_age-10) to (job.ideal_character_age+10))
+ if((ideal_job_age-10) to (ideal_job_age+10))
weightedCandidates[V] = 10 // Great.
- if((job.ideal_character_age+10) to (job.ideal_character_age+20))
+ if((ideal_job_age+10) to (ideal_job_age+20))
weightedCandidates[V] = 6 // Still good.
- if((job.ideal_character_age+20) to INFINITY)
+ if((ideal_job_age+20) to INFINITY)
weightedCandidates[V] = 3 // Geezer.
else
// If there's ABSOLUTELY NOBODY ELSE
diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm
index f0390114ae3..faafc6e7bfc 100644
--- a/code/game/jobs/job/captain.dm
+++ b/code/game/jobs/job/captain.dm
@@ -16,9 +16,17 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
minimal_player_age = 14
economic_modifier = 20
- minimum_character_age = 35
+ minimum_character_age = list(
+ SPECIES_HUMAN = 35,
+ SPECIES_SKRELL = 100,
+ SPECIES_SKRELL_AXIORI = 100
+ )
- ideal_character_age = 70 // Old geezer captains ftw
+ ideal_character_age = list(
+ SPECIES_HUMAN = 70,
+ SPECIES_SKRELL = 120,
+ SPECIES_SKRELL_AXIORI = 120
+ ) // Old geezer captains ftw
outfit = /datum/outfit/job/captain
@@ -86,9 +94,17 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
selection_color = "#1e59c9"
minimal_player_age = 10
economic_modifier = 10
- ideal_character_age = 50
+ ideal_character_age = list(
+ SPECIES_HUMAN = 50,
+ SPECIES_SKRELL = 100,
+ SPECIES_SKRELL_AXIORI = 100
+ )
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 80,
+ SPECIES_SKRELL_AXIORI = 80
+ )
outfit = /datum/outfit/job/xo
@@ -140,9 +156,17 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
selection_color = "#2b5bb5"
minimal_player_age = 20
economic_modifier = 10
- ideal_character_age = 30
+ ideal_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 75,
+ SPECIES_SKRELL_AXIORI = 75
+ )
- minimum_character_age = 25
+ minimum_character_age = list(
+ SPECIES_HUMAN = 25,
+ SPECIES_SKRELL = 55,
+ SPECIES_SKRELL_AXIORI = 55
+ )
outfit = /datum/outfit/job/bridge_crew
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index 71481fe01cd..3d9f2e6e6aa 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -9,7 +9,11 @@
supervisors = "the executive officer"
selection_color = "#90524b"
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
access = list(access_hydroponics, access_bar, access_kitchen)
minimal_access = list(access_bar)
@@ -47,7 +51,11 @@
supervisors = "the executive officer"
selection_color = "#90524b"
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
access = list(access_hydroponics, access_bar, access_kitchen)
minimal_access = list(access_kitchen)
@@ -88,7 +96,11 @@
supervisors = "the executive officer"
selection_color = "#90524b"
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
access = list(access_hydroponics, access_bar, access_kitchen)
minimal_access = list(access_hydroponics)
@@ -173,7 +185,11 @@
supervisors = "the service managaer"
selection_color = "#90524b"
- minimum_character_age = 20
+ minimum_character_age = list(
+ SPECIES_HUMAN = 20,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
access = list(access_journalist, access_maint_tunnels)
minimal_access = list(access_journalist, access_maint_tunnels)
@@ -346,14 +362,22 @@
selection_color = "#967032"
economic_modifier = 5
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 70,
+ SPECIES_SKRELL_AXIORI = 70
+ )
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_keycard_auth, access_RC_announce, access_heads,
access_sec_doors, access_research, access_medical, access_robotics)
minimal_access = list(access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_keycard_auth, access_RC_announce, access_heads,
access_sec_doors, access_research, access_medical, access_robotics)
- ideal_character_age = 40
+ ideal_character_age = list(
+ SPECIES_HUMAN = 40,
+ SPECIES_SKRELL = 90,
+ SPECIES_SKRELL_AXIORI = 90
+ )
outfit = /datum/outfit/job/operations_manager
@@ -390,7 +414,11 @@
supervisors = "the supply manager"
selection_color = "#7B431C"
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
minimal_access = list(access_cargo, access_cargo_bot, access_mailsorting)
@@ -428,7 +456,11 @@
selection_color = "#7B431C"
economic_modifier = 5
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
minimal_access = list(access_mining, access_mining_station, access_mailsorting)
@@ -476,7 +508,11 @@
selection_color = "#7B431C"
economic_modifier = 5
- minimum_character_age = 25
+ minimum_character_age = list(
+ SPECIES_HUMAN = 25,
+ SPECIES_SKRELL = 55,
+ SPECIES_SKRELL_AXIORI = 55
+ )
access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research, access_mailsorting)
minimal_access = list(access_robotics, access_tech_storage, access_morgue, access_mailsorting)
diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm
index 89b3ee8e449..4eed21b3663 100644
--- a/code/game/jobs/job/engineering.dm
+++ b/code/game/jobs/job/engineering.dm
@@ -11,9 +11,17 @@
selection_color = "#c67519"
economic_modifier = 10
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 80,
+ SPECIES_SKRELL_AXIORI = 80
+ )
- ideal_character_age = 50
+ ideal_character_age = list(
+ SPECIES_HUMAN = 50,
+ SPECIES_SKRELL = 100,
+ SPECIES_SKRELL_AXIORI = 100
+ )
access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
@@ -75,7 +83,11 @@
selection_color = "#c67519"
economic_modifier = 5
- minimum_character_age = 25
+ minimum_character_age = list(
+ SPECIES_HUMAN = 25,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics)
minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction)
@@ -129,7 +141,11 @@
selection_color = "#c67519"
economic_modifier = 5
- minimum_character_age = 25
+ minimum_character_age = list(
+ SPECIES_HUMAN = 25,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_external_airlocks)
minimal_access = list(access_eva, access_engine, access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction, access_external_airlocks)
@@ -185,7 +201,11 @@
outfit = /datum/outfit/job/intern_eng
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
/datum/outfit/job/intern_eng
name = "Engineering Apprentice"
@@ -216,4 +236,4 @@
tab_pda = /obj/item/modular_computer/handheld/pda/engineering
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/engineering
- tablet = /obj/item/modular_computer/handheld/preset/engineering
\ No newline at end of file
+ tablet = /obj/item/modular_computer/handheld/preset/engineering
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index 6444fd6f7ac..5c4feba9041 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -19,9 +19,17 @@
var/list/alt_titles // List of alternate titles, if any
var/list/title_accesses // A map of title -> list of accesses to add if the person has this title.
var/minimal_player_age = 0 // If you have use_age_restriction_for_jobs config option enabled and the database set up, this option will add a requirement for players to be at least minimal_player_age days old. (meaning they first signed in at least that many days before.)
- var/minimum_character_age = 17
- var/list/alt_ages = null // assoc list of alt titles to minimum character ages
- var/ideal_character_age = 30
+ var/list/minimum_character_age = list(// Age restriction, assoc list of species define -> age; if species isn't found, defaults to SPECIES_HUMAN entry
+ SPECIES_HUMAN = 17,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
+ var/list/alt_ages = null // assoc list of alt titles to minimum character ages assoc lists (see above -- yes this is slightly awful)
+ var/list/ideal_character_age = list( // Ideal character ages (for heads), assoc list of species define -> age, see above
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 100,
+ SPECIES_SKRELL_AXIORI = 100
+ )
var/latejoin_at_spawnpoints = FALSE //If this job should use roundstart spawnpoints for latejoin (offstation jobs etc)
@@ -146,6 +154,36 @@
var/total = get_total_positions()
return (current_positions < total) || (total == -1)
+/datum/job/proc/get_minimum_character_age(var/species)
+ if(!species || !(species in minimum_character_age))
+ species = SPECIES_HUMAN
+ return minimum_character_age[species]
+
+/datum/job/proc/get_alt_character_age(var/species, var/title)
+ // call this w/o title to get the most minimum of alt ages, used in occupation.dm:/datum/category_item/player_setup_item/occupation/content
+ if(!species)
+ species = SPECIES_HUMAN
+ var/min_alt_age
+ if(!title)
+ for(var/t in alt_ages)
+ if(species in alt_ages[t])
+ min_alt_age = min(min_alt_age, alt_ages[t][species])
+ else
+ min_alt_age = min(min_alt_age, alt_ages[t][SPECIES_HUMAN])
+ return min_alt_age
+ else if(title in alt_ages)
+ return (species in alt_ages[title]) ? alt_ages[title][species] : alt_ages[title][SPECIES_HUMAN]
+
+/datum/job/proc/get_ideal_character_age(var/species)
+ if(!species)
+ species = SPECIES_HUMAN
+ else if(!(species in ideal_character_age))
+ // try to see if there's a min age set -- ideally this shouldn't happen, but better to take a min age than fall back to human just yet
+ if(species in minimum_character_age) // if there is one, just add 20 and send it
+ return minimum_character_age[species] + 20
+ species = SPECIES_HUMAN // no such luck
+ return ideal_character_age[species]
+
/datum/job/proc/fetch_age_restriction()
if (!config.age_restrictions_from_file)
return
diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm
index 686c5f0a26b..4cde7f32f34 100644
--- a/code/game/jobs/job/medical.dm
+++ b/code/game/jobs/job/medical.dm
@@ -11,7 +11,11 @@
selection_color = "#15903a"
economic_modifier = 10
- minimum_character_age = 35
+ minimum_character_age = list(
+ SPECIES_HUMAN = 35,
+ SPECIES_SKRELL = 80,
+ SPECIES_SKRELL_AXIORI = 80
+ )
access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads,
access_pharmacy, access_virology, access_cmo, access_surgery, access_RC_announce, access_engine, access_construction,
@@ -23,7 +27,11 @@
access_first_responder, access_maint_tunnels, access_intrepid)
minimal_player_age = 10
- ideal_character_age = 50
+ ideal_character_age = list(
+ SPECIES_HUMAN = 50,
+ SPECIES_SKRELL = 100,
+ SPECIES_SKRELL_AXIORI = 100
+ )
outfit = /datum/outfit/job/cmo
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
@@ -65,7 +73,11 @@
selection_color = "#15903a"
economic_modifier = 7
- minimum_character_age = 25
+ minimum_character_age = list(
+ SPECIES_HUMAN = 25,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics, access_eva)
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_genetics, access_eva)
@@ -85,7 +97,11 @@
spawn_positions = 2
total_positions = 2
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics, access_eva)
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_genetics, access_eva)
@@ -152,7 +168,11 @@
selection_color = "#15903a"
economic_modifier = 5
- minimum_character_age = 26
+ minimum_character_age = list(
+ SPECIES_HUMAN = 26,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics)
minimal_access = list(access_medical, access_medical_equip, access_pharmacy, access_virology)
@@ -192,7 +212,11 @@
spawn_positions = 1
economic_modifier = 5
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
supervisors = "the chief medical officer"
selection_color = "#15903a"
@@ -238,7 +262,11 @@
selection_color = "#15903a"
economic_modifier = 4
- minimum_character_age = 20
+ minimum_character_age = list(
+ SPECIES_HUMAN = 20,
+ SPECIES_SKRELL = 55,
+ SPECIES_SKRELL_AXIORI = 55
+ )
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_eva, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_external_airlocks, access_psychiatrist, access_first_responder)
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_eva, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_external_airlocks, access_first_responder)
@@ -286,7 +314,11 @@
selection_color = "#15903a"
access = list(access_medical, access_surgery, access_medical_equip)
minimal_access = list(access_medical, access_surgery, access_medical_equip)
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
outfit = /datum/outfit/job/intern_med
blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
diff --git a/code/game/jobs/job/outsider/merchant.dm b/code/game/jobs/job/outsider/merchant.dm
index 74d8b313013..5e26e45e73c 100644
--- a/code/game/jobs/job/outsider/merchant.dm
+++ b/code/game/jobs/job/outsider/merchant.dm
@@ -8,7 +8,11 @@
supervisors = "yourself and the market"
minimal_player_age = 10
economic_modifier = 5
- ideal_character_age = 30
+ ideal_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
create_record = FALSE
account_allowed = TRUE
diff --git a/code/game/jobs/job/outsider/representative.dm b/code/game/jobs/job/outsider/representative.dm
index 49c94c5c4eb..1cb07628798 100644
--- a/code/game/jobs/job/outsider/representative.dm
+++ b/code/game/jobs/job/outsider/representative.dm
@@ -10,7 +10,11 @@
selection_color = "#6186cf"
economic_modifier = 15
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 80,
+ SPECIES_SKRELL_AXIORI = 80
+ )
access = list(access_lawyer, access_maint_tunnels)
minimal_access = list(access_lawyer)
@@ -94,7 +98,17 @@
selection_color = "#6186cf"
economic_modifier = 15
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 150,
+ SPECIES_SKRELL_AXIORI = 150
+ )
+
+ ideal_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 170,
+ SPECIES_SKRELL_AXIORI = 170
+ )
access = list(access_consular, access_maint_tunnels)
minimal_access = list(access_consular)
diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm
index 8f32d6888b1..0c818656365 100644
--- a/code/game/jobs/job/science.dm
+++ b/code/game/jobs/job/science.dm
@@ -11,7 +11,11 @@
selection_color = "#a44799"
economic_modifier = 15
- minimum_character_age = 35
+ minimum_character_age = list(
+ SPECIES_HUMAN = 35,
+ SPECIES_SKRELL = 80,
+ SPECIES_SKRELL_AXIORI = 80
+ )
access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_eva, access_external_airlocks,
access_tox_storage, access_teleporter, access_sec_doors, access_medical, access_engine, access_construction,
@@ -24,7 +28,11 @@
access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network,
access_maint_tunnels, access_it)
minimal_player_age = 14
- ideal_character_age = 50
+ ideal_character_age = list(
+ SPECIES_HUMAN = 50,
+ SPECIES_SKRELL = 100,
+ SPECIES_SKRELL_AXIORI = 100
+ )
outfit = /datum/outfit/job/rd
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
@@ -66,7 +74,11 @@
selection_color = "#a44799"
economic_modifier = 7
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch)
minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch)
@@ -116,7 +128,11 @@
selection_color = "#a44799"
economic_modifier = 7
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology)
minimal_access = list(access_research, access_xenobiology, access_tox_storage)
@@ -165,4 +181,4 @@
tab_pda = /obj/item/modular_computer/handheld/pda/research
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/research
- tablet = /obj/item/modular_computer/handheld/preset/research
\ No newline at end of file
+ tablet = /obj/item/modular_computer/handheld/preset/research
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index 22eaa1f7e26..a0e8ae46b07 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -11,7 +11,11 @@
selection_color = "#991818"
economic_modifier = 10
- minimum_character_age = 30
+ minimum_character_age = list(
+ SPECIES_HUMAN = 30,
+ SPECIES_SKRELL = 80,
+ SPECIES_SKRELL_AXIORI = 80
+ )
access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory,
access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers,
@@ -73,7 +77,11 @@
selection_color = "#991818"
economic_modifier = 5
- minimum_character_age = 25
+ minimum_character_age = list(
+ SPECIES_HUMAN = 25,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_morgue, access_external_airlocks, access_weapons)
minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_external_airlocks, access_weapons)
@@ -121,7 +129,11 @@
selection_color = "#991818"
economic_modifier = 5
- minimum_character_age = 25
+ minimum_character_age = list(
+ SPECIES_HUMAN = 25,
+ SPECIES_SKRELL = 60,
+ SPECIES_SKRELL_AXIORI = 60
+ )
access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_weapons)
minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_weapons)
@@ -166,7 +178,11 @@
selection_color = "#991818"
economic_modifier = 4
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks, access_weapons)
minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_external_airlocks, access_weapons)
@@ -214,7 +230,11 @@
access = list(access_security, access_sec_doors, access_maint_tunnels)
minimal_access = list(access_security, access_sec_doors)
outfit = /datum/outfit/job/intern_sec
- minimum_character_age = 18
+ minimum_character_age = list(
+ SPECIES_HUMAN = 18,
+ SPECIES_SKRELL = 50,
+ SPECIES_SKRELL_AXIORI = 50
+ )
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER)
diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm
index 62062aaeac6..1d2a99a66d3 100644
--- a/code/modules/client/preference_setup/occupation/occupation.dm
+++ b/code/modules/client/preference_setup/occupation/occupation.dm
@@ -179,7 +179,7 @@
dat += "[dispRank]