April sync (#360)
* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
This commit is contained in:
+194
-194
@@ -1,101 +1,101 @@
|
||||
|
||||
|
||||
/var/const/access_security = 1 // Security equipment
|
||||
/var/const/access_brig = 2 // Brig timers and permabrig
|
||||
/var/const/access_armory = 3
|
||||
/var/const/access_forensics_lockers= 4
|
||||
/var/const/access_medical = 5
|
||||
/var/const/access_morgue = 6
|
||||
/var/const/access_tox = 7
|
||||
/var/const/access_tox_storage = 8
|
||||
/var/const/access_genetics = 9
|
||||
/var/const/access_engine = 10
|
||||
/var/const/access_engine_equip= 11
|
||||
/var/const/access_maint_tunnels = 12
|
||||
/var/const/access_external_airlocks = 13
|
||||
/var/const/access_emergency_storage = 14
|
||||
/var/const/access_change_ids = 15
|
||||
/var/const/access_ai_upload = 16
|
||||
/var/const/access_teleporter = 17
|
||||
/var/const/access_eva = 18
|
||||
/var/const/access_heads = 19
|
||||
/var/const/access_captain = 20
|
||||
/var/const/access_all_personal_lockers = 21
|
||||
/var/const/access_chapel_office = 22
|
||||
/var/const/access_tech_storage = 23
|
||||
/var/const/access_atmospherics = 24
|
||||
/var/const/access_bar = 25
|
||||
/var/const/access_janitor = 26
|
||||
/var/const/access_crematorium = 27
|
||||
/var/const/access_kitchen = 28
|
||||
/var/const/access_robotics = 29
|
||||
/var/const/access_rd = 30
|
||||
/var/const/access_cargo = 31
|
||||
/var/const/access_construction = 32
|
||||
/var/const/access_chemistry = 33
|
||||
/var/const/access_cargo_bot = 34
|
||||
/var/const/access_hydroponics = 35
|
||||
/var/const/access_manufacturing = 36
|
||||
/var/const/access_library = 37
|
||||
/var/const/access_lawyer = 38
|
||||
/var/const/access_virology = 39
|
||||
/var/const/access_cmo = 40
|
||||
/var/const/access_qm = 41
|
||||
/var/const/access_court = 42
|
||||
/var/const/access_surgery = 45
|
||||
/var/const/access_theatre = 46
|
||||
/var/const/access_research = 47
|
||||
/var/const/access_mining = 48
|
||||
/var/const/access_mining_office = 49 //not in use
|
||||
/var/const/access_mailsorting = 50
|
||||
/var/const/access_mint = 51
|
||||
/var/const/access_mint_vault = 52
|
||||
/var/const/access_heads_vault = 53
|
||||
/var/const/access_mining_station = 54
|
||||
/var/const/access_xenobiology = 55
|
||||
/var/const/access_ce = 56
|
||||
/var/const/access_hop = 57
|
||||
/var/const/access_hos = 58
|
||||
/var/const/access_RC_announce = 59 //Request console announcements
|
||||
/var/const/access_keycard_auth = 60 //Used for events which require at least two people to confirm them
|
||||
/var/const/access_tcomsat = 61 // has access to the entire telecomms satellite / machinery
|
||||
/var/const/access_gateway = 62
|
||||
/var/const/access_sec_doors = 63 // Security front doors
|
||||
/var/const/access_mineral_storeroom = 64
|
||||
/var/const/access_minisat = 65
|
||||
/var/const/access_weapons = 66 //Weapon authorization for secbots
|
||||
/var/const/access_network = 67
|
||||
/var/const/access_cloning = 68 //Cloning room
|
||||
GLOBAL_VAR_CONST(access_security, 1) // Security equipment
|
||||
GLOBAL_VAR_CONST(access_brig, 2) // Brig timers and permabrig
|
||||
GLOBAL_VAR_CONST(access_armory, 3)
|
||||
GLOBAL_VAR_CONST(access_forensics_lockers, 4)
|
||||
GLOBAL_VAR_CONST(access_medical, 5)
|
||||
GLOBAL_VAR_CONST(access_morgue, 6)
|
||||
GLOBAL_VAR_CONST(access_tox, 7)
|
||||
GLOBAL_VAR_CONST(access_tox_storage, 8)
|
||||
GLOBAL_VAR_CONST(access_genetics, 9)
|
||||
GLOBAL_VAR_CONST(access_engine, 10)
|
||||
GLOBAL_VAR_CONST(access_engine_equip, 11)
|
||||
GLOBAL_VAR_CONST(access_maint_tunnels, 12)
|
||||
GLOBAL_VAR_CONST(access_external_airlocks, 13)
|
||||
GLOBAL_VAR_CONST(access_emergency_storage, 14)
|
||||
GLOBAL_VAR_CONST(access_change_ids, 15)
|
||||
GLOBAL_VAR_CONST(access_ai_upload, 16)
|
||||
GLOBAL_VAR_CONST(access_teleporter, 17)
|
||||
GLOBAL_VAR_CONST(access_eva, 18)
|
||||
GLOBAL_VAR_CONST(access_heads, 19)
|
||||
GLOBAL_VAR_CONST(access_captain, 20)
|
||||
GLOBAL_VAR_CONST(access_all_personal_lockers, 21)
|
||||
GLOBAL_VAR_CONST(access_chapel_office, 22)
|
||||
GLOBAL_VAR_CONST(access_tech_storage, 23)
|
||||
GLOBAL_VAR_CONST(access_atmospherics, 24)
|
||||
GLOBAL_VAR_CONST(access_bar, 25)
|
||||
GLOBAL_VAR_CONST(access_janitor, 26)
|
||||
GLOBAL_VAR_CONST(access_crematorium, 27)
|
||||
GLOBAL_VAR_CONST(access_kitchen, 28)
|
||||
GLOBAL_VAR_CONST(access_robotics, 29)
|
||||
GLOBAL_VAR_CONST(access_rd, 30)
|
||||
GLOBAL_VAR_CONST(access_cargo, 31)
|
||||
GLOBAL_VAR_CONST(access_construction, 32)
|
||||
GLOBAL_VAR_CONST(access_chemistry, 33)
|
||||
GLOBAL_VAR_CONST(access_cargo_bot, 34)
|
||||
GLOBAL_VAR_CONST(access_hydroponics, 35)
|
||||
GLOBAL_VAR_CONST(access_manufacturing, 36)
|
||||
GLOBAL_VAR_CONST(access_library, 37)
|
||||
GLOBAL_VAR_CONST(access_lawyer, 38)
|
||||
GLOBAL_VAR_CONST(access_virology, 39)
|
||||
GLOBAL_VAR_CONST(access_cmo, 40)
|
||||
GLOBAL_VAR_CONST(access_qm, 41)
|
||||
GLOBAL_VAR_CONST(access_court, 42)
|
||||
GLOBAL_VAR_CONST(access_surgery, 45)
|
||||
GLOBAL_VAR_CONST(access_theatre, 46)
|
||||
GLOBAL_VAR_CONST(access_research, 47)
|
||||
GLOBAL_VAR_CONST(access_mining, 48)
|
||||
GLOBAL_VAR_CONST(access_mining_office, 49) //not in use
|
||||
GLOBAL_VAR_CONST(access_mailsorting, 50)
|
||||
GLOBAL_VAR_CONST(access_mint, 51)
|
||||
GLOBAL_VAR_CONST(access_mint_vault, 52)
|
||||
GLOBAL_VAR_CONST(access_heads_vault, 53)
|
||||
GLOBAL_VAR_CONST(access_mining_station, 54)
|
||||
GLOBAL_VAR_CONST(access_xenobiology, 55)
|
||||
GLOBAL_VAR_CONST(access_ce, 56)
|
||||
GLOBAL_VAR_CONST(access_hop, 57)
|
||||
GLOBAL_VAR_CONST(access_hos, 58)
|
||||
GLOBAL_VAR_CONST(access_RC_announce, 59) //Request console announcements
|
||||
GLOBAL_VAR_CONST(access_keycard_auth, 60) //Used for events which require at least two people to confirm them
|
||||
GLOBAL_VAR_CONST(access_tcomsat, 61) // has access to the entire telecomms satellite / machinery
|
||||
GLOBAL_VAR_CONST(access_gateway, 62)
|
||||
GLOBAL_VAR_CONST(access_sec_doors, 63) // Security front doors
|
||||
GLOBAL_VAR_CONST(access_mineral_storeroom, 64)
|
||||
GLOBAL_VAR_CONST(access_minisat, 65)
|
||||
GLOBAL_VAR_CONST(access_weapons, 66) //Weapon authorization for secbots
|
||||
GLOBAL_VAR_CONST(access_network, 67)
|
||||
GLOBAL_VAR_CONST(access_cloning, 68) //Cloning room
|
||||
|
||||
//BEGIN CENTCOM ACCESS
|
||||
/*Should leave plenty of room if we need to add more access levels.
|
||||
/var/const/Mostly for admin fun times.*/
|
||||
/var/const/access_cent_general = 101//General facilities.
|
||||
/var/const/access_cent_thunder = 102//Thunderdome.
|
||||
/var/const/access_cent_specops = 103//Special Ops.
|
||||
/var/const/access_cent_medical = 104//Medical/Research
|
||||
/var/const/access_cent_living = 105//Living quarters.
|
||||
/var/const/access_cent_storage = 106//Generic storage areas.
|
||||
/var/const/access_cent_teleporter = 107//Teleporter.
|
||||
/var/const/access_cent_captain = 109//Captain's office/ID comp/AI.
|
||||
/var/const/access_cent_bar = 110 // The non-existent Centcom Bar
|
||||
Mostly for admin fun times.*/
|
||||
GLOBAL_VAR_CONST(access_cent_general, 101)//General facilities.
|
||||
GLOBAL_VAR_CONST(access_cent_thunder, 102)//Thunderdome.
|
||||
GLOBAL_VAR_CONST(access_cent_specops, 103)//Special Ops.
|
||||
GLOBAL_VAR_CONST(access_cent_medical, 104)//Medical/Research
|
||||
GLOBAL_VAR_CONST(access_cent_living, 105)//Living quarters.
|
||||
GLOBAL_VAR_CONST(access_cent_storage, 106)//Generic storage areas.
|
||||
GLOBAL_VAR_CONST(access_cent_teleporter, 107)//Teleporter.
|
||||
GLOBAL_VAR_CONST(access_cent_captain, 109)//Captain's office/ID comp/AI.
|
||||
GLOBAL_VAR_CONST(access_cent_bar, 110) // The non-existent Centcom Bar
|
||||
|
||||
//The Syndicate
|
||||
/var/const/access_syndicate = 150//General Syndicate Access
|
||||
/var/const/access_syndicate_leader = 151//Nuke Op Leader Access
|
||||
GLOBAL_VAR_CONST(access_syndicate, 150)//General Syndicate Access
|
||||
GLOBAL_VAR_CONST(access_syndicate_leader, 151)//Nuke Op Leader Access
|
||||
|
||||
//Away Missions or Ruins
|
||||
/*For generic away-mission/ruin access. Why would normal crew have access to a long-abandoned derelict
|
||||
or a 2000 year-old temple? */
|
||||
/var/const/access_away_general = 200//General facilities.
|
||||
/var/const/access_away_maint = 201//Away maintenance
|
||||
/var/const/access_away_med = 202//Away medical
|
||||
/var/const/access_away_sec = 203//Away security
|
||||
/var/const/access_away_engine = 204//Away engineering
|
||||
/var/const/access_away_generic1 = 205//Away generic access
|
||||
/var/const/access_away_generic2 = 206
|
||||
/var/const/access_away_generic3 = 207
|
||||
/var/const/access_away_generic4 = 208
|
||||
GLOBAL_VAR_CONST(access_away_general, 200)//General facilities.
|
||||
GLOBAL_VAR_CONST(access_away_maint, 201)//Away maintenance
|
||||
GLOBAL_VAR_CONST(access_away_med, 202)//Away medical
|
||||
GLOBAL_VAR_CONST(access_away_sec, 203)//Away security
|
||||
GLOBAL_VAR_CONST(access_away_engine, 204)//Away engineering
|
||||
GLOBAL_VAR_CONST(access_away_generic1, 205)//Away generic access
|
||||
GLOBAL_VAR_CONST(access_away_generic2, 206)
|
||||
GLOBAL_VAR_CONST(access_away_generic3, 207)
|
||||
GLOBAL_VAR_CONST(access_away_generic4, 208)
|
||||
|
||||
/obj/var/list/req_access = null
|
||||
/obj/var/req_access_txt = "0"
|
||||
@@ -203,21 +203,21 @@
|
||||
/proc/get_centcom_access(job)
|
||||
switch(job)
|
||||
if("VIP Guest")
|
||||
return list(access_cent_general)
|
||||
return list(GLOB.access_cent_general)
|
||||
if("Custodian")
|
||||
return list(access_cent_general, access_cent_living, access_cent_storage)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_living, GLOB.access_cent_storage)
|
||||
if("Thunderdome Overseer")
|
||||
return list(access_cent_general, access_cent_thunder)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_thunder)
|
||||
if("Centcom Official")
|
||||
return list(access_cent_general, access_cent_living)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_living)
|
||||
if("Medical Officer")
|
||||
return list(access_cent_general, access_cent_living, access_cent_medical)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_living, GLOB.access_cent_medical)
|
||||
if("Death Commando")
|
||||
return list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_specops, GLOB.access_cent_living, GLOB.access_cent_storage)
|
||||
if("Research Officer")
|
||||
return list(access_cent_general, access_cent_specops, access_cent_medical, access_cent_teleporter, access_cent_storage)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_specops, GLOB.access_cent_medical, GLOB.access_cent_teleporter, GLOB.access_cent_storage)
|
||||
if("Special Ops Officer")
|
||||
return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_living, access_cent_storage)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_thunder, GLOB.access_cent_specops, GLOB.access_cent_living, GLOB.access_cent_storage)
|
||||
if("Admiral")
|
||||
return get_all_centcom_access()
|
||||
if("Centcom Commander")
|
||||
@@ -231,56 +231,56 @@
|
||||
if("Medical Response Officer")
|
||||
return get_ert_access("med")
|
||||
if("Centcom Bartender")
|
||||
return list(access_cent_general, access_cent_living, access_cent_bar)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_living, GLOB.access_cent_bar)
|
||||
|
||||
/proc/get_all_accesses()
|
||||
return list(access_security, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_court,
|
||||
access_medical, access_genetics, access_morgue, access_rd,
|
||||
access_tox, access_tox_storage, access_chemistry, access_engine, access_engine_equip, access_maint_tunnels,
|
||||
access_external_airlocks, access_change_ids, access_ai_upload,
|
||||
access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers,
|
||||
access_tech_storage, access_chapel_office, access_atmospherics, access_kitchen,
|
||||
access_bar, access_janitor, access_crematorium, access_robotics, access_cargo, access_construction,
|
||||
access_hydroponics, access_library, access_lawyer, access_virology, access_cmo, access_qm, access_surgery,
|
||||
access_theatre, access_research, access_mining, access_mailsorting, access_weapons,
|
||||
access_heads_vault, access_mining_station, access_xenobiology, access_ce, access_hop, access_hos, access_RC_announce,
|
||||
access_keycard_auth, access_tcomsat, access_gateway, access_mineral_storeroom, access_minisat, access_network, access_cloning)
|
||||
return list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_forensics_lockers, GLOB.access_court,
|
||||
GLOB.access_medical, GLOB.access_genetics, GLOB.access_morgue, GLOB.access_rd,
|
||||
GLOB.access_tox, GLOB.access_tox_storage, GLOB.access_chemistry, GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_maint_tunnels,
|
||||
GLOB.access_external_airlocks, GLOB.access_change_ids, GLOB.access_ai_upload,
|
||||
GLOB.access_teleporter, GLOB.access_eva, GLOB.access_heads, GLOB.access_captain, GLOB.access_all_personal_lockers,
|
||||
GLOB.access_tech_storage, GLOB.access_chapel_office, GLOB.access_atmospherics, GLOB.access_kitchen,
|
||||
GLOB.access_bar, GLOB.access_janitor, GLOB.access_crematorium, GLOB.access_robotics, GLOB.access_cargo, GLOB.access_construction,
|
||||
GLOB.access_hydroponics, GLOB.access_library, GLOB.access_lawyer, GLOB.access_virology, GLOB.access_cmo, GLOB.access_qm, GLOB.access_surgery,
|
||||
GLOB.access_theatre, GLOB.access_research, GLOB.access_mining, GLOB.access_mailsorting, GLOB.access_weapons,
|
||||
GLOB.access_heads_vault, GLOB.access_mining_station, GLOB.access_xenobiology, GLOB.access_ce, GLOB.access_hop, GLOB.access_hos, GLOB.access_RC_announce,
|
||||
GLOB.access_keycard_auth, GLOB.access_tcomsat, GLOB.access_gateway, GLOB.access_mineral_storeroom, GLOB.access_minisat, GLOB.access_network, GLOB.access_cloning)
|
||||
|
||||
/proc/get_all_centcom_access()
|
||||
return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_medical, access_cent_living, access_cent_storage, access_cent_teleporter, access_cent_captain)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_thunder, GLOB.access_cent_specops, GLOB.access_cent_medical, GLOB.access_cent_living, GLOB.access_cent_storage, GLOB.access_cent_teleporter, GLOB.access_cent_captain)
|
||||
|
||||
/proc/get_ert_access(class)
|
||||
switch(class)
|
||||
if("commander")
|
||||
return get_all_centcom_access()
|
||||
if("sec")
|
||||
return list(access_cent_general, access_cent_specops, access_cent_living)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_specops, GLOB.access_cent_living)
|
||||
if("eng")
|
||||
return list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_specops, GLOB.access_cent_living, GLOB.access_cent_storage)
|
||||
if("med")
|
||||
return list(access_cent_general, access_cent_specops, access_cent_medical, access_cent_living)
|
||||
return list(GLOB.access_cent_general, GLOB.access_cent_specops, GLOB.access_cent_medical, GLOB.access_cent_living)
|
||||
|
||||
/proc/get_all_syndicate_access()
|
||||
return list(access_syndicate, access_syndicate)
|
||||
return list(GLOB.access_syndicate, GLOB.access_syndicate)
|
||||
|
||||
/proc/get_region_accesses(code)
|
||||
switch(code)
|
||||
if(0)
|
||||
return get_all_accesses()
|
||||
if(1) //station general
|
||||
return list(access_kitchen,access_bar, access_hydroponics, access_janitor, access_chapel_office, access_crematorium, access_library, access_theatre, access_lawyer)
|
||||
return list(GLOB.access_kitchen,GLOB.access_bar, GLOB.access_hydroponics, GLOB.access_janitor, GLOB.access_chapel_office, GLOB.access_crematorium, GLOB.access_library, GLOB.access_theatre, GLOB.access_lawyer)
|
||||
if(2) //security
|
||||
return list(access_sec_doors, access_weapons, access_security, access_brig, access_armory, access_forensics_lockers, access_court, access_hos)
|
||||
return list(GLOB.access_sec_doors, GLOB.access_weapons, GLOB.access_security, GLOB.access_brig, GLOB.access_armory, GLOB.access_forensics_lockers, GLOB.access_court, GLOB.access_hos)
|
||||
if(3) //medbay
|
||||
return list(access_medical, access_genetics, access_cloning, access_morgue, access_chemistry, access_virology, access_surgery, access_cmo)
|
||||
return list(GLOB.access_medical, GLOB.access_genetics, GLOB.access_cloning, GLOB.access_morgue, GLOB.access_chemistry, GLOB.access_virology, GLOB.access_surgery, GLOB.access_cmo)
|
||||
if(4) //research
|
||||
return list(access_research, access_tox, access_tox_storage, access_genetics, access_robotics, access_xenobiology, access_minisat, access_rd, access_network)
|
||||
return list(GLOB.access_research, GLOB.access_tox, GLOB.access_tox_storage, GLOB.access_genetics, GLOB.access_robotics, GLOB.access_xenobiology, GLOB.access_minisat, GLOB.access_rd, GLOB.access_network)
|
||||
if(5) //engineering and maintenance
|
||||
return list(access_construction, access_maint_tunnels, access_engine, access_engine_equip, access_external_airlocks, access_tech_storage, access_atmospherics, access_tcomsat, access_minisat, access_ce)
|
||||
return list(GLOB.access_construction, GLOB.access_maint_tunnels, GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_external_airlocks, GLOB.access_tech_storage, GLOB.access_atmospherics, GLOB.access_tcomsat, GLOB.access_minisat, GLOB.access_ce)
|
||||
if(6) //supply
|
||||
return list(access_mailsorting, access_mining, access_mining_station, access_mineral_storeroom, access_cargo, access_qm)
|
||||
return list(GLOB.access_mailsorting, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom, GLOB.access_cargo, GLOB.access_qm)
|
||||
if(7) //command
|
||||
return list(access_heads, access_RC_announce, access_keycard_auth, access_change_ids, access_ai_upload, access_teleporter, access_eva, access_gateway, access_all_personal_lockers, access_heads_vault, access_hop, access_captain)
|
||||
return list(GLOB.access_heads, GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_change_ids, GLOB.access_ai_upload, GLOB.access_teleporter, GLOB.access_eva, GLOB.access_gateway, GLOB.access_all_personal_lockers, GLOB.access_heads_vault, GLOB.access_hop, GLOB.access_captain)
|
||||
|
||||
/proc/get_region_accesses_name(code)
|
||||
switch(code)
|
||||
@@ -303,158 +303,158 @@
|
||||
|
||||
/proc/get_access_desc(A)
|
||||
switch(A)
|
||||
if(access_cargo)
|
||||
if(GLOB.access_cargo)
|
||||
return "Cargo Bay"
|
||||
if(access_cargo_bot)
|
||||
if(GLOB.access_cargo_bot)
|
||||
return "Delivery Chutes"
|
||||
if(access_security)
|
||||
if(GLOB.access_security)
|
||||
return "Security"
|
||||
if(access_brig)
|
||||
if(GLOB.access_brig)
|
||||
return "Holding Cells"
|
||||
if(access_court)
|
||||
if(GLOB.access_court)
|
||||
return "Courtroom"
|
||||
if(access_forensics_lockers)
|
||||
if(GLOB.access_forensics_lockers)
|
||||
return "Forensics"
|
||||
if(access_medical)
|
||||
if(GLOB.access_medical)
|
||||
return "Medical"
|
||||
if(access_genetics)
|
||||
if(GLOB.access_genetics)
|
||||
return "Genetics Lab"
|
||||
if(access_morgue)
|
||||
if(GLOB.access_morgue)
|
||||
return "Morgue"
|
||||
if(access_tox)
|
||||
if(GLOB.access_tox)
|
||||
return "R&D Lab"
|
||||
if(access_tox_storage)
|
||||
if(GLOB.access_tox_storage)
|
||||
return "Toxins Lab"
|
||||
if(access_chemistry)
|
||||
if(GLOB.access_chemistry)
|
||||
return "Chemistry Lab"
|
||||
if(access_rd)
|
||||
if(GLOB.access_rd)
|
||||
return "RD Office"
|
||||
if(access_bar)
|
||||
if(GLOB.access_bar)
|
||||
return "Bar"
|
||||
if(access_janitor)
|
||||
if(GLOB.access_janitor)
|
||||
return "Custodial Closet"
|
||||
if(access_engine)
|
||||
if(GLOB.access_engine)
|
||||
return "Engineering"
|
||||
if(access_engine_equip)
|
||||
if(GLOB.access_engine_equip)
|
||||
return "Power Equipment"
|
||||
if(access_maint_tunnels)
|
||||
if(GLOB.access_maint_tunnels)
|
||||
return "Maintenance"
|
||||
if(access_external_airlocks)
|
||||
if(GLOB.access_external_airlocks)
|
||||
return "External Airlocks"
|
||||
if(access_emergency_storage)
|
||||
if(GLOB.access_emergency_storage)
|
||||
return "Emergency Storage"
|
||||
if(access_change_ids)
|
||||
if(GLOB.access_change_ids)
|
||||
return "ID Console"
|
||||
if(access_ai_upload)
|
||||
if(GLOB.access_ai_upload)
|
||||
return "AI Chambers"
|
||||
if(access_teleporter)
|
||||
if(GLOB.access_teleporter)
|
||||
return "Teleporter"
|
||||
if(access_eva)
|
||||
if(GLOB.access_eva)
|
||||
return "EVA"
|
||||
if(access_heads)
|
||||
if(GLOB.access_heads)
|
||||
return "Bridge"
|
||||
if(access_captain)
|
||||
if(GLOB.access_captain)
|
||||
return "Captain"
|
||||
if(access_all_personal_lockers)
|
||||
if(GLOB.access_all_personal_lockers)
|
||||
return "Personal Lockers"
|
||||
if(access_chapel_office)
|
||||
if(GLOB.access_chapel_office)
|
||||
return "Chapel Office"
|
||||
if(access_tech_storage)
|
||||
if(GLOB.access_tech_storage)
|
||||
return "Technical Storage"
|
||||
if(access_atmospherics)
|
||||
if(GLOB.access_atmospherics)
|
||||
return "Atmospherics"
|
||||
if(access_crematorium)
|
||||
if(GLOB.access_crematorium)
|
||||
return "Crematorium"
|
||||
if(access_armory)
|
||||
if(GLOB.access_armory)
|
||||
return "Armory"
|
||||
if(access_construction)
|
||||
if(GLOB.access_construction)
|
||||
return "Construction"
|
||||
if(access_kitchen)
|
||||
if(GLOB.access_kitchen)
|
||||
return "Kitchen"
|
||||
if(access_hydroponics)
|
||||
if(GLOB.access_hydroponics)
|
||||
return "Hydroponics"
|
||||
if(access_library)
|
||||
if(GLOB.access_library)
|
||||
return "Library"
|
||||
if(access_lawyer)
|
||||
if(GLOB.access_lawyer)
|
||||
return "Law Office"
|
||||
if(access_robotics)
|
||||
if(GLOB.access_robotics)
|
||||
return "Robotics"
|
||||
if(access_virology)
|
||||
if(GLOB.access_virology)
|
||||
return "Virology"
|
||||
if(access_cmo)
|
||||
if(GLOB.access_cmo)
|
||||
return "CMO Office"
|
||||
if(access_qm)
|
||||
if(GLOB.access_qm)
|
||||
return "Quartermaster"
|
||||
if(access_surgery)
|
||||
if(GLOB.access_surgery)
|
||||
return "Surgery"
|
||||
if(access_theatre)
|
||||
if(GLOB.access_theatre)
|
||||
return "Theatre"
|
||||
if(access_manufacturing)
|
||||
if(GLOB.access_manufacturing)
|
||||
return "Manufacturing"
|
||||
if(access_research)
|
||||
if(GLOB.access_research)
|
||||
return "Science"
|
||||
if(access_mining)
|
||||
if(GLOB.access_mining)
|
||||
return "Mining"
|
||||
if(access_mining_office)
|
||||
if(GLOB.access_mining_office)
|
||||
return "Mining Office"
|
||||
if(access_mailsorting)
|
||||
if(GLOB.access_mailsorting)
|
||||
return "Cargo Office"
|
||||
if(access_mint)
|
||||
if(GLOB.access_mint)
|
||||
return "Mint"
|
||||
if(access_mint_vault)
|
||||
if(GLOB.access_mint_vault)
|
||||
return "Mint Vault"
|
||||
if(access_heads_vault)
|
||||
if(GLOB.access_heads_vault)
|
||||
return "Main Vault"
|
||||
if(access_mining_station)
|
||||
if(GLOB.access_mining_station)
|
||||
return "Mining EVA"
|
||||
if(access_xenobiology)
|
||||
if(GLOB.access_xenobiology)
|
||||
return "Xenobiology Lab"
|
||||
if(access_hop)
|
||||
if(GLOB.access_hop)
|
||||
return "HoP Office"
|
||||
if(access_hos)
|
||||
if(GLOB.access_hos)
|
||||
return "HoS Office"
|
||||
if(access_ce)
|
||||
if(GLOB.access_ce)
|
||||
return "CE Office"
|
||||
if(access_RC_announce)
|
||||
if(GLOB.access_RC_announce)
|
||||
return "RC Announcements"
|
||||
if(access_keycard_auth)
|
||||
if(GLOB.access_keycard_auth)
|
||||
return "Keycode Auth."
|
||||
if(access_tcomsat)
|
||||
if(GLOB.access_tcomsat)
|
||||
return "Telecommunications"
|
||||
if(access_gateway)
|
||||
if(GLOB.access_gateway)
|
||||
return "Gateway"
|
||||
if(access_sec_doors)
|
||||
if(GLOB.access_sec_doors)
|
||||
return "Brig"
|
||||
if(access_mineral_storeroom)
|
||||
if(GLOB.access_mineral_storeroom)
|
||||
return "Mineral Storage"
|
||||
if(access_minisat)
|
||||
if(GLOB.access_minisat)
|
||||
return "AI Satellite"
|
||||
if(access_weapons)
|
||||
if(GLOB.access_weapons)
|
||||
return "Weapon Permit"
|
||||
if(access_network)
|
||||
if(GLOB.access_network)
|
||||
return "Network Access"
|
||||
if(access_cloning)
|
||||
if(GLOB.access_cloning)
|
||||
return "Cloning Room"
|
||||
|
||||
/proc/get_centcom_access_desc(A)
|
||||
switch(A)
|
||||
if(access_cent_general)
|
||||
if(GLOB.access_cent_general)
|
||||
return "Code Grey"
|
||||
if(access_cent_thunder)
|
||||
if(GLOB.access_cent_thunder)
|
||||
return "Code Yellow"
|
||||
if(access_cent_storage)
|
||||
if(GLOB.access_cent_storage)
|
||||
return "Code Orange"
|
||||
if(access_cent_living)
|
||||
if(GLOB.access_cent_living)
|
||||
return "Code Green"
|
||||
if(access_cent_medical)
|
||||
if(GLOB.access_cent_medical)
|
||||
return "Code White"
|
||||
if(access_cent_teleporter)
|
||||
if(GLOB.access_cent_teleporter)
|
||||
return "Code Blue"
|
||||
if(access_cent_specops)
|
||||
if(GLOB.access_cent_specops)
|
||||
return "Code Black"
|
||||
if(access_cent_captain)
|
||||
if(GLOB.access_cent_captain)
|
||||
return "Code Gold"
|
||||
if(access_cent_bar)
|
||||
if(GLOB.access_cent_bar)
|
||||
return "Code Scotch"
|
||||
|
||||
/proc/get_all_jobs()
|
||||
|
||||
@@ -18,7 +18,7 @@ Assistant
|
||||
/datum/job/assistant/get_access()
|
||||
if((config.jobs_have_maint_access & ASSISTANTS_HAVE_MAINT_ACCESS) || !config.jobs_have_minimal_access) //Config has assistant maint access set
|
||||
. = ..()
|
||||
. |= list(access_maint_tunnels)
|
||||
. |= list(GLOB.access_maint_tunnels)
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Captain
|
||||
|
||||
/datum/job/captain/announce(mob/living/carbon/human/H)
|
||||
..()
|
||||
minor_announce("Captain [H.real_name] on deck!")
|
||||
SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, .proc/minor_announce, "Captain [H.real_name] on deck!"))
|
||||
|
||||
/datum/outfit/job/captain
|
||||
name = "Captain"
|
||||
@@ -67,18 +67,18 @@ Head of Personnel
|
||||
|
||||
outfit = /datum/outfit/job/hop
|
||||
|
||||
access = list(access_security, access_sec_doors, access_court, access_weapons,
|
||||
access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads,
|
||||
access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue,
|
||||
access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer,
|
||||
access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station,
|
||||
access_hop, access_RC_announce, access_keycard_auth, access_gateway, access_mineral_storeroom)
|
||||
minimal_access = list(access_security, access_sec_doors, access_court, access_weapons,
|
||||
access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads,
|
||||
access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue,
|
||||
access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer,
|
||||
access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station,
|
||||
access_hop, access_RC_announce, access_keycard_auth, access_gateway, access_mineral_storeroom)
|
||||
access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_court, GLOB.access_weapons,
|
||||
GLOB.access_medical, GLOB.access_engine, GLOB.access_change_ids, GLOB.access_ai_upload, GLOB.access_eva, GLOB.access_heads,
|
||||
GLOB.access_all_personal_lockers, GLOB.access_maint_tunnels, GLOB.access_bar, GLOB.access_janitor, GLOB.access_construction, GLOB.access_morgue,
|
||||
GLOB.access_crematorium, GLOB.access_kitchen, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_mailsorting, GLOB.access_qm, GLOB.access_hydroponics, GLOB.access_lawyer,
|
||||
GLOB.access_theatre, GLOB.access_chapel_office, GLOB.access_library, GLOB.access_research, GLOB.access_mining, GLOB.access_heads_vault, GLOB.access_mining_station,
|
||||
GLOB.access_hop, GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_gateway, GLOB.access_mineral_storeroom)
|
||||
minimal_access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_court, GLOB.access_weapons,
|
||||
GLOB.access_medical, GLOB.access_engine, GLOB.access_change_ids, GLOB.access_ai_upload, GLOB.access_eva, GLOB.access_heads,
|
||||
GLOB.access_all_personal_lockers, GLOB.access_maint_tunnels, GLOB.access_bar, GLOB.access_janitor, GLOB.access_construction, GLOB.access_morgue,
|
||||
GLOB.access_crematorium, GLOB.access_kitchen, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_mailsorting, GLOB.access_qm, GLOB.access_hydroponics, GLOB.access_lawyer,
|
||||
GLOB.access_theatre, GLOB.access_chapel_office, GLOB.access_library, GLOB.access_research, GLOB.access_mining, GLOB.access_heads_vault, GLOB.access_mining_station,
|
||||
GLOB.access_hop, GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_gateway, GLOB.access_mineral_storeroom)
|
||||
|
||||
|
||||
/datum/outfit/job/hop
|
||||
|
||||
@@ -14,8 +14,8 @@ Quartermaster
|
||||
|
||||
outfit = /datum/outfit/job/quartermaster
|
||||
|
||||
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
|
||||
minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
|
||||
access = list(GLOB.access_maint_tunnels, GLOB.access_mailsorting, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_qm, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
|
||||
minimal_access = list(GLOB.access_maint_tunnels, GLOB.access_mailsorting, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_qm, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
|
||||
|
||||
/datum/outfit/job/quartermaster
|
||||
name = "Quartermaster"
|
||||
@@ -44,8 +44,8 @@ Cargo Technician
|
||||
|
||||
outfit = /datum/outfit/job/cargo_tech
|
||||
|
||||
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
|
||||
minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting, access_mineral_storeroom)
|
||||
access = list(GLOB.access_maint_tunnels, GLOB.access_mailsorting, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_qm, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
|
||||
minimal_access = list(GLOB.access_maint_tunnels, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_mailsorting, GLOB.access_mineral_storeroom)
|
||||
|
||||
/datum/outfit/job/cargo_tech
|
||||
name = "Cargo Technician"
|
||||
@@ -72,8 +72,8 @@ Shaft Miner
|
||||
|
||||
outfit = /datum/outfit/job/miner
|
||||
|
||||
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
|
||||
minimal_access = list(access_mining, access_mining_station, access_mailsorting, access_mineral_storeroom)
|
||||
access = list(GLOB.access_maint_tunnels, GLOB.access_mailsorting, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_qm, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
|
||||
minimal_access = list(GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mailsorting, GLOB.access_mineral_storeroom)
|
||||
|
||||
/datum/outfit/job/miner
|
||||
name = "Shaft Miner (Lavaland)"
|
||||
@@ -148,8 +148,8 @@ Bartender
|
||||
|
||||
outfit = /datum/outfit/job/bartender
|
||||
|
||||
access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
|
||||
minimal_access = list(access_bar)
|
||||
access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_weapons)
|
||||
minimal_access = list(GLOB.access_bar)
|
||||
|
||||
|
||||
/datum/outfit/job/bartender
|
||||
@@ -181,8 +181,8 @@ Cook
|
||||
|
||||
outfit = /datum/outfit/job/cook
|
||||
|
||||
access = list(access_hydroponics, access_bar, access_kitchen, access_morgue)
|
||||
minimal_access = list(access_kitchen, access_morgue)
|
||||
access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue)
|
||||
minimal_access = list(GLOB.access_kitchen, GLOB.access_morgue)
|
||||
|
||||
/datum/outfit/job/cook
|
||||
name = "Cook"
|
||||
@@ -228,8 +228,8 @@ Botanist
|
||||
|
||||
outfit = /datum/outfit/job/botanist
|
||||
|
||||
access = list(access_hydroponics, access_bar, access_kitchen, access_morgue)
|
||||
minimal_access = list(access_hydroponics, access_morgue)
|
||||
access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue)
|
||||
minimal_access = list(GLOB.access_hydroponics, GLOB.access_morgue)
|
||||
// Removed tox and chem access because STOP PISSING OFF THE CHEMIST GUYS
|
||||
// Removed medical access because WHAT THE FUCK YOU AREN'T A DOCTOR YOU GROW WHEAT
|
||||
// Given Morgue access because they have a viable means of cloning.
|
||||
@@ -267,8 +267,8 @@ Janitor
|
||||
|
||||
outfit = /datum/outfit/job/janitor
|
||||
|
||||
access = list(access_janitor, access_maint_tunnels)
|
||||
minimal_access = list(access_janitor, access_maint_tunnels)
|
||||
access = list(GLOB.access_janitor, GLOB.access_maint_tunnels)
|
||||
minimal_access = list(GLOB.access_janitor, GLOB.access_maint_tunnels)
|
||||
|
||||
/datum/outfit/job/janitor
|
||||
name = "Janitor"
|
||||
|
||||
@@ -14,8 +14,8 @@ Clown
|
||||
|
||||
outfit = /datum/outfit/job/clown
|
||||
|
||||
access = list(access_theatre)
|
||||
minimal_access = list(access_theatre)
|
||||
access = list(GLOB.access_theatre)
|
||||
minimal_access = list(GLOB.access_theatre)
|
||||
|
||||
/datum/job/clown/after_spawn(mob/living/carbon/human/H, mob/M)
|
||||
H.rename_self("clown", M.client)
|
||||
@@ -52,7 +52,7 @@ Clown
|
||||
if(visualsOnly)
|
||||
return
|
||||
|
||||
H.fully_replace_character_name(H.real_name, pick(clown_names))
|
||||
H.fully_replace_character_name(H.real_name, pick(GLOB.clown_names))
|
||||
|
||||
/datum/outfit/job/clown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
..()
|
||||
@@ -77,8 +77,8 @@ Mime
|
||||
|
||||
outfit = /datum/outfit/job/mime
|
||||
|
||||
access = list(access_theatre)
|
||||
minimal_access = list(access_theatre)
|
||||
access = list(GLOB.access_theatre)
|
||||
minimal_access = list(GLOB.access_theatre)
|
||||
|
||||
/datum/job/mime/after_spawn(mob/living/carbon/human/H, mob/M)
|
||||
H.rename_self("mime", M.client)
|
||||
@@ -127,8 +127,8 @@ Librarian
|
||||
|
||||
outfit = /datum/outfit/job/librarian
|
||||
|
||||
access = list(access_library)
|
||||
minimal_access = list(access_library)
|
||||
access = list(GLOB.access_library)
|
||||
minimal_access = list(GLOB.access_library)
|
||||
|
||||
/datum/outfit/job/librarian
|
||||
name = "Librarian"
|
||||
@@ -160,8 +160,8 @@ Lawyer
|
||||
|
||||
outfit = /datum/outfit/job/lawyer
|
||||
|
||||
access = list(access_lawyer, access_court, access_sec_doors)
|
||||
minimal_access = list(access_lawyer, access_court, access_sec_doors)
|
||||
access = list(GLOB.access_lawyer, GLOB.access_court, GLOB.access_sec_doors)
|
||||
minimal_access = list(GLOB.access_lawyer, GLOB.access_court, GLOB.access_sec_doors)
|
||||
|
||||
/datum/outfit/job/lawyer
|
||||
name = "Lawyer"
|
||||
|
||||
@@ -15,45 +15,36 @@ Chaplain
|
||||
|
||||
outfit = /datum/outfit/job/chaplain
|
||||
|
||||
access = list(access_morgue, access_chapel_office, access_crematorium)
|
||||
minimal_access = list(access_morgue, access_chapel_office, access_crematorium)
|
||||
|
||||
/datum/outfit/job/chaplain
|
||||
name = "Chaplain"
|
||||
jobtype = /datum/job/chaplain
|
||||
|
||||
belt = /obj/item/device/pda/chaplain
|
||||
uniform = /obj/item/clothing/under/rank/chaplain
|
||||
backpack_contents = list(/obj/item/device/camera/spooky = 1)
|
||||
backpack = /obj/item/weapon/storage/backpack/cultpack
|
||||
satchel = /obj/item/weapon/storage/backpack/cultpack
|
||||
|
||||
|
||||
/datum/outfit/job/chaplain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
..()
|
||||
|
||||
if(visualsOnly)
|
||||
return
|
||||
access = list(GLOB.access_morgue, GLOB.access_chapel_office, GLOB.access_crematorium, GLOB.access_theatre)
|
||||
minimal_access = list(GLOB.access_morgue, GLOB.access_chapel_office, GLOB.access_crematorium, GLOB.access_theatre)
|
||||
|
||||
/datum/job/chaplain/after_spawn(mob/living/H, mob/M)
|
||||
if(H.mind)
|
||||
H.mind.isholy = TRUE
|
||||
|
||||
var/obj/item/weapon/storage/book/bible/B = new /obj/item/weapon/storage/book/bible/booze(H)
|
||||
var/obj/item/weapon/storage/book/bible/booze/B = new
|
||||
|
||||
if(SSreligion.Bible_deity_name)
|
||||
B.deity_name = SSreligion.Bible_deity_name
|
||||
B.name = SSreligion.Bible_name
|
||||
B.icon_state = SSreligion.Bible_icon_state
|
||||
B.item_state = SSreligion.Bible_item_state
|
||||
to_chat(H, "There is already an established religion onboard the station. You are an acolyte of [SSreligion.Bible_deity_name]. Defer to the Chaplain.")
|
||||
if(SSreligion.religion)
|
||||
B.deity_name = SSreligion.deity
|
||||
B.name = SSreligion.bible_name
|
||||
B.icon_state = SSreligion.bible_icon_state
|
||||
B.item_state = SSreligion.bible_item_state
|
||||
to_chat(H, "There is already an established religion onboard the station. You are an acolyte of [SSreligion.deity]. Defer to the Chaplain.")
|
||||
H.equip_to_slot_or_del(B, slot_in_backpack)
|
||||
var/obj/item/weapon/nullrod/N = new(H)
|
||||
var/obj/item/weapon/nullrod/N = new SSreligion.holy_weapon_type(H)
|
||||
H.equip_to_slot_or_del(N, slot_in_backpack)
|
||||
return
|
||||
|
||||
var/new_religion = "Christianity"
|
||||
if(H.client && H.client.prefs.custom_names["religion"])
|
||||
new_religion = H.client.prefs.custom_names["religion"]
|
||||
if(M.client && M.client.prefs.custom_names["religion"])
|
||||
new_religion = M.client.prefs.custom_names["religion"]
|
||||
|
||||
var/new_deity = "Space Jesus"
|
||||
if(M.client && M.client.prefs.custom_names["deity"])
|
||||
new_deity = M.client.prefs.custom_names["deity"]
|
||||
|
||||
B.deity_name = new_deity
|
||||
|
||||
|
||||
switch(lowertext(new_religion))
|
||||
if("christianity")
|
||||
@@ -81,14 +72,24 @@ Chaplain
|
||||
B.name = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition")
|
||||
else
|
||||
B.name = "The Holy Book of [new_religion]"
|
||||
feedback_set_details("religion_name","[new_religion]")
|
||||
SSreligion.Bible_name = B.name
|
||||
|
||||
var/new_deity = "Space Jesus"
|
||||
if(H.client && H.client.prefs.custom_names["deity"])
|
||||
new_deity = H.client.prefs.custom_names["deity"]
|
||||
B.deity_name = new_deity
|
||||
|
||||
SSreligion.Bible_deity_name = B.deity_name
|
||||
feedback_set_details("religion_deity","[new_deity]")
|
||||
if(SSreligion)
|
||||
SSreligion.religion = new_religion
|
||||
SSreligion.bible_name = B.name
|
||||
SSreligion.deity = B.deity_name
|
||||
|
||||
H.equip_to_slot_or_del(B, slot_in_backpack)
|
||||
|
||||
feedback_set_details("religion_name","[new_religion]")
|
||||
feedback_set_details("religion_deity","[new_deity]")
|
||||
|
||||
/datum/outfit/job/chaplain
|
||||
name = "Chaplain"
|
||||
jobtype = /datum/job/chaplain
|
||||
|
||||
belt = /obj/item/device/pda/chaplain
|
||||
uniform = /obj/item/clothing/under/rank/chaplain
|
||||
backpack_contents = list(/obj/item/device/camera/spooky = 1)
|
||||
backpack = /obj/item/weapon/storage/backpack/cultpack
|
||||
satchel = /obj/item/weapon/storage/backpack/cultpack
|
||||
@@ -17,14 +17,14 @@ Chief Engineer
|
||||
|
||||
outfit = /datum/outfit/job/ce
|
||||
|
||||
access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
|
||||
access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva,
|
||||
access_heads, access_construction, access_sec_doors, access_minisat,
|
||||
access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_mineral_storeroom)
|
||||
minimal_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
|
||||
access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva,
|
||||
access_heads, access_construction, access_sec_doors, access_minisat,
|
||||
access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_mineral_storeroom)
|
||||
access = list(GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_tech_storage, GLOB.access_maint_tunnels,
|
||||
GLOB.access_external_airlocks, GLOB.access_atmospherics, GLOB.access_emergency_storage, GLOB.access_eva,
|
||||
GLOB.access_heads, GLOB.access_construction, GLOB.access_sec_doors, GLOB.access_minisat,
|
||||
GLOB.access_ce, GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_tcomsat, GLOB.access_mineral_storeroom)
|
||||
minimal_access = list(GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_tech_storage, GLOB.access_maint_tunnels,
|
||||
GLOB.access_external_airlocks, GLOB.access_atmospherics, GLOB.access_emergency_storage, GLOB.access_eva,
|
||||
GLOB.access_heads, GLOB.access_construction, GLOB.access_sec_doors, GLOB.access_minisat,
|
||||
GLOB.access_ce, GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_tcomsat, GLOB.access_mineral_storeroom)
|
||||
|
||||
/datum/outfit/job/ce
|
||||
name = "Chief Engineer"
|
||||
@@ -74,10 +74,10 @@ Station Engineer
|
||||
|
||||
outfit = /datum/outfit/job/engineer
|
||||
|
||||
access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
|
||||
access_external_airlocks, access_construction, access_atmospherics, access_tcomsat)
|
||||
minimal_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
|
||||
access_external_airlocks, access_construction, access_tcomsat, access_atmospherics)
|
||||
access = list(GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_tech_storage, GLOB.access_maint_tunnels,
|
||||
GLOB.access_external_airlocks, GLOB.access_construction, GLOB.access_atmospherics, GLOB.access_tcomsat)
|
||||
minimal_access = list(GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_tech_storage, GLOB.access_maint_tunnels,
|
||||
GLOB.access_external_airlocks, GLOB.access_construction, GLOB.access_tcomsat)
|
||||
|
||||
/datum/outfit/job/engineer
|
||||
name = "Station Engineer"
|
||||
@@ -125,9 +125,9 @@ Atmospheric Technician
|
||||
|
||||
outfit = /datum/outfit/job/atmos
|
||||
|
||||
access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
|
||||
access_external_airlocks, access_construction, access_atmospherics)
|
||||
minimal_access = list(access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction)
|
||||
access = list(GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_tech_storage, GLOB.access_maint_tunnels,
|
||||
GLOB.access_external_airlocks, GLOB.access_construction, GLOB.access_atmospherics)
|
||||
minimal_access = list(GLOB.access_atmospherics, GLOB.access_maint_tunnels, GLOB.access_emergency_storage, GLOB.access_construction)
|
||||
|
||||
/datum/outfit/job/atmos
|
||||
name = "Atmospheric Technician"
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
if(!visualsOnly && announce)
|
||||
announce(H)
|
||||
|
||||
if(config.enforce_human_authority && (title in command_positions))
|
||||
if(config.enforce_human_authority && (title in GLOB.command_positions))
|
||||
H.dna.features["tail_human"] = "None"
|
||||
H.dna.features["ears"] = "None"
|
||||
H.regenerate_icons()
|
||||
@@ -87,13 +87,12 @@
|
||||
. = src.access.Copy()
|
||||
|
||||
if(config.jobs_have_maint_access & EVERYONE_HAS_MAINT_ACCESS) //Config has global maint access set
|
||||
. |= list(access_maint_tunnels)
|
||||
. |= list(GLOB.access_maint_tunnels)
|
||||
|
||||
/datum/job/proc/announce_head(var/mob/living/carbon/human/H, var/channels) //tells the given channel that the given mob is the new department head. See communications.dm for valid channels.
|
||||
spawn(4) //to allow some initialization
|
||||
if(H && announcement_systems.len)
|
||||
var/obj/machinery/announcement_system/announcer = pick(announcement_systems)
|
||||
announcer.announce("NEWHEAD", H.real_name, H.job, channels)
|
||||
if(H && GLOB.announcement_systems.len)
|
||||
//timer because these should come after the captain announcement
|
||||
SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, .proc/addtimer, CALLBACK(pick(GLOB.announcement_systems), /obj/machinery/announcement_system/proc/announce, "NEWHEAD", H.real_name, H.job, channels), 1))
|
||||
|
||||
//If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1
|
||||
/datum/job/proc/player_old_enough(client/C)
|
||||
|
||||
@@ -3,7 +3,7 @@ Chief Medical Officer
|
||||
*/
|
||||
/datum/job/cmo
|
||||
title = "Chief Medical Officer"
|
||||
flag = CMO
|
||||
flag = CMO_JF
|
||||
department_head = list("Captain")
|
||||
department_flag = MEDSCI
|
||||
head_announce = list("Medical")
|
||||
@@ -17,12 +17,12 @@ Chief Medical Officer
|
||||
|
||||
outfit = /datum/outfit/job/cmo
|
||||
|
||||
access = list(access_medical, access_morgue, access_genetics, access_cloning, access_heads, access_mineral_storeroom,
|
||||
access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce,
|
||||
access_keycard_auth, access_sec_doors, access_maint_tunnels)
|
||||
minimal_access = list(access_medical, access_morgue, access_genetics, access_cloning, access_heads, access_mineral_storeroom,
|
||||
access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce,
|
||||
access_keycard_auth, access_sec_doors, access_maint_tunnels)
|
||||
access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_genetics, GLOB.access_cloning, GLOB.access_heads, GLOB.access_mineral_storeroom,
|
||||
GLOB.access_chemistry, GLOB.access_virology, GLOB.access_cmo, GLOB.access_surgery, GLOB.access_RC_announce,
|
||||
GLOB.access_keycard_auth, GLOB.access_sec_doors, GLOB.access_maint_tunnels)
|
||||
minimal_access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_genetics, GLOB.access_cloning, GLOB.access_heads, GLOB.access_mineral_storeroom,
|
||||
GLOB.access_chemistry, GLOB.access_virology, GLOB.access_cmo, GLOB.access_surgery, GLOB.access_RC_announce,
|
||||
GLOB.access_keycard_auth, GLOB.access_sec_doors, GLOB.access_maint_tunnels)
|
||||
|
||||
/datum/outfit/job/cmo
|
||||
name = "Chief Medical Officer"
|
||||
@@ -58,8 +58,8 @@ Medical Doctor
|
||||
|
||||
outfit = /datum/outfit/job/doctor
|
||||
|
||||
access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_genetics, access_cloning, access_mineral_storeroom)
|
||||
minimal_access = list(access_medical, access_morgue, access_surgery, access_cloning)
|
||||
access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_surgery, GLOB.access_chemistry, GLOB.access_genetics, GLOB.access_cloning, GLOB.access_mineral_storeroom)
|
||||
minimal_access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_surgery, GLOB.access_cloning)
|
||||
|
||||
/datum/outfit/job/doctor
|
||||
name = "Medical Doctor"
|
||||
@@ -93,8 +93,8 @@ Chemist
|
||||
|
||||
outfit = /datum/outfit/job/chemist
|
||||
|
||||
access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_genetics, access_cloning, access_mineral_storeroom)
|
||||
minimal_access = list(access_medical, access_chemistry, access_mineral_storeroom)
|
||||
access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_surgery, GLOB.access_chemistry, GLOB.access_genetics, GLOB.access_cloning, GLOB.access_mineral_storeroom)
|
||||
minimal_access = list(GLOB.access_medical, GLOB.access_chemistry, GLOB.access_mineral_storeroom)
|
||||
|
||||
/datum/outfit/job/chemist
|
||||
name = "Chemist"
|
||||
@@ -127,8 +127,8 @@ Geneticist
|
||||
|
||||
outfit = /datum/outfit/job/geneticist
|
||||
|
||||
access = list(access_medical, access_morgue, access_chemistry, access_genetics, access_cloning, access_research, access_mineral_storeroom)
|
||||
minimal_access = list(access_medical, access_morgue, access_genetics, access_cloning,)
|
||||
access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_chemistry, GLOB.access_genetics, GLOB.access_cloning, GLOB.access_research, GLOB.access_xenobiology, GLOB.access_robotics, GLOB.access_mineral_storeroom, GLOB.access_tech_storage)
|
||||
minimal_access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_genetics, GLOB.access_cloning, GLOB.access_research)
|
||||
|
||||
/datum/outfit/job/geneticist
|
||||
name = "Geneticist"
|
||||
@@ -161,8 +161,8 @@ Virologist
|
||||
|
||||
outfit = /datum/outfit/job/virologist
|
||||
|
||||
access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_cloning, access_mineral_storeroom)
|
||||
minimal_access = list(access_medical, access_virology, access_mineral_storeroom)
|
||||
access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_surgery, GLOB.access_chemistry, GLOB.access_virology, GLOB.access_genetics, GLOB.access_cloning, GLOB.access_mineral_storeroom)
|
||||
minimal_access = list(GLOB.access_medical, GLOB.access_virology, GLOB.access_mineral_storeroom)
|
||||
|
||||
/datum/outfit/job/virologist
|
||||
name = "Virologist"
|
||||
|
||||
@@ -3,7 +3,7 @@ Research Director
|
||||
*/
|
||||
/datum/job/rd
|
||||
title = "Research Director"
|
||||
flag = RD
|
||||
flag = RD_JF
|
||||
department_head = list("Captain")
|
||||
department_flag = MEDSCI
|
||||
head_announce = list("Science")
|
||||
@@ -17,16 +17,16 @@ Research Director
|
||||
|
||||
outfit = /datum/outfit/job/rd
|
||||
|
||||
access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue,
|
||||
access_tox_storage, access_teleporter, access_sec_doors,
|
||||
access_research, access_robotics, access_xenobiology, access_ai_upload,
|
||||
access_RC_announce, access_keycard_auth, access_gateway, access_mineral_storeroom,
|
||||
access_tech_storage, access_minisat, access_maint_tunnels, access_network)
|
||||
minimal_access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue,
|
||||
access_tox_storage, access_teleporter, access_sec_doors,
|
||||
access_research, access_robotics, access_xenobiology, access_ai_upload,
|
||||
access_RC_announce, access_keycard_auth, access_gateway, access_mineral_storeroom,
|
||||
access_tech_storage, access_minisat, access_maint_tunnels, access_network)
|
||||
access = list(GLOB.access_rd, GLOB.access_heads, GLOB.access_tox, GLOB.access_genetics, GLOB.access_morgue,
|
||||
GLOB.access_tox_storage, GLOB.access_teleporter, GLOB.access_sec_doors,
|
||||
GLOB.access_research, GLOB.access_robotics, GLOB.access_xenobiology, GLOB.access_ai_upload,
|
||||
GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_gateway, GLOB.access_mineral_storeroom,
|
||||
GLOB.access_tech_storage, GLOB.access_minisat, GLOB.access_maint_tunnels, GLOB.access_network)
|
||||
minimal_access = list(GLOB.access_rd, GLOB.access_heads, GLOB.access_tox, GLOB.access_genetics, GLOB.access_morgue,
|
||||
GLOB.access_tox_storage, GLOB.access_teleporter, GLOB.access_sec_doors,
|
||||
GLOB.access_research, GLOB.access_robotics, GLOB.access_xenobiology, GLOB.access_ai_upload,
|
||||
GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_gateway, GLOB.access_mineral_storeroom,
|
||||
GLOB.access_tech_storage, GLOB.access_minisat, GLOB.access_maint_tunnels, GLOB.access_network)
|
||||
|
||||
/datum/outfit/job/rd
|
||||
name = "Research Director"
|
||||
@@ -70,8 +70,8 @@ Scientist
|
||||
|
||||
outfit = /datum/outfit/job/scientist
|
||||
|
||||
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom, access_tech_storage, access_genetics)
|
||||
minimal_access = list(access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom)
|
||||
access = list(GLOB.access_robotics, GLOB.access_tox, GLOB.access_tox_storage, GLOB.access_research, GLOB.access_xenobiology, GLOB.access_mineral_storeroom, GLOB.access_tech_storage, GLOB.access_genetics)
|
||||
minimal_access = list(GLOB.access_tox, GLOB.access_tox_storage, GLOB.access_research, GLOB.access_xenobiology, GLOB.access_mineral_storeroom)
|
||||
|
||||
/datum/outfit/job/scientist
|
||||
name = "Scientist"
|
||||
@@ -102,8 +102,8 @@ Roboticist
|
||||
|
||||
outfit = /datum/outfit/job/roboticist
|
||||
|
||||
access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research, access_mineral_storeroom, access_xenobiology, access_genetics)
|
||||
minimal_access = list(access_robotics, access_tech_storage, access_morgue, access_research, access_mineral_storeroom)
|
||||
access = list(GLOB.access_robotics, GLOB.access_tox, GLOB.access_tox_storage, GLOB.access_tech_storage, GLOB.access_morgue, GLOB.access_research, GLOB.access_mineral_storeroom, GLOB.access_xenobiology, GLOB.access_genetics)
|
||||
minimal_access = list(GLOB.access_robotics, GLOB.access_tech_storage, GLOB.access_morgue, GLOB.access_research, GLOB.access_mineral_storeroom)
|
||||
|
||||
/datum/outfit/job/roboticist
|
||||
name = "Roboticist"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//Warden and regular officers add this result to their get_access()
|
||||
/datum/job/proc/check_config_for_sec_maint()
|
||||
if(config.jobs_have_maint_access & SECURITY_HAS_MAINT_ACCESS)
|
||||
return list(access_maint_tunnels)
|
||||
return list(GLOB.access_maint_tunnels)
|
||||
return list()
|
||||
|
||||
/*
|
||||
@@ -23,14 +23,14 @@ Head of Security
|
||||
|
||||
outfit = /datum/outfit/job/hos
|
||||
|
||||
access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_weapons,
|
||||
access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers,
|
||||
access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting,
|
||||
access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_maint_tunnels)
|
||||
minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_weapons,
|
||||
access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers,
|
||||
access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting,
|
||||
access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_maint_tunnels)
|
||||
access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_court, GLOB.access_weapons,
|
||||
GLOB.access_forensics_lockers, GLOB.access_morgue, GLOB.access_maint_tunnels, GLOB.access_all_personal_lockers,
|
||||
GLOB.access_research, GLOB.access_engine, GLOB.access_mining, GLOB.access_medical, GLOB.access_construction, GLOB.access_mailsorting,
|
||||
GLOB.access_heads, GLOB.access_hos, GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_gateway, GLOB.access_maint_tunnels)
|
||||
minimal_access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_court, GLOB.access_weapons,
|
||||
GLOB.access_forensics_lockers, GLOB.access_morgue, GLOB.access_maint_tunnels, GLOB.access_all_personal_lockers,
|
||||
GLOB.access_research, GLOB.access_engine, GLOB.access_mining, GLOB.access_medical, GLOB.access_construction, GLOB.access_mailsorting,
|
||||
GLOB.access_heads, GLOB.access_hos, GLOB.access_RC_announce, GLOB.access_keycard_auth, GLOB.access_gateway, GLOB.access_maint_tunnels)
|
||||
|
||||
/datum/outfit/job/hos
|
||||
name = "Head of Security"
|
||||
@@ -74,8 +74,8 @@ Warden
|
||||
|
||||
outfit = /datum/outfit/job/warden
|
||||
|
||||
access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
|
||||
minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_weapons) //See /datum/job/warden/get_access()
|
||||
access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_court, GLOB.access_maint_tunnels, GLOB.access_morgue, GLOB.access_weapons, GLOB.access_forensics_lockers)
|
||||
minimal_access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_court, GLOB.access_weapons) //See /datum/job/warden/get_access()
|
||||
|
||||
/datum/job/warden/get_access()
|
||||
var/list/L = list()
|
||||
@@ -124,8 +124,8 @@ Detective
|
||||
|
||||
outfit = /datum/outfit/job/detective
|
||||
|
||||
access = list(access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court, access_brig, access_weapons)
|
||||
minimal_access = list(access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court, access_brig, access_weapons)
|
||||
access = list(GLOB.access_sec_doors, GLOB.access_forensics_lockers, GLOB.access_morgue, GLOB.access_maint_tunnels, GLOB.access_court, GLOB.access_brig, GLOB.access_weapons)
|
||||
minimal_access = list(GLOB.access_sec_doors, GLOB.access_forensics_lockers, GLOB.access_morgue, GLOB.access_maint_tunnels, GLOB.access_court, GLOB.access_brig, GLOB.access_weapons)
|
||||
|
||||
/datum/outfit/job/detective
|
||||
name = "Detective"
|
||||
@@ -172,8 +172,8 @@ Security Officer
|
||||
|
||||
outfit = /datum/outfit/job/security
|
||||
|
||||
access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
|
||||
minimal_access = list(access_security, access_sec_doors, access_brig, access_court, access_weapons) //But see /datum/job/warden/get_access()
|
||||
access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_court, GLOB.access_maint_tunnels, GLOB.access_morgue, GLOB.access_weapons, GLOB.access_forensics_lockers)
|
||||
minimal_access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_court, GLOB.access_weapons) //But see /datum/job/warden/get_access()
|
||||
|
||||
|
||||
/datum/job/officer/get_access()
|
||||
@@ -181,19 +181,19 @@ Security Officer
|
||||
L |= ..() | check_config_for_sec_maint()
|
||||
return L
|
||||
|
||||
var/list/available_depts = list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT_SCIENCE, SEC_DEPT_SUPPLY)
|
||||
GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT_SCIENCE, SEC_DEPT_SUPPLY))
|
||||
|
||||
/datum/job/officer/after_spawn(mob/living/carbon/human/H, mob/M)
|
||||
// Assign department security
|
||||
var/department
|
||||
if(M && M.client && M.client.prefs)
|
||||
department = M.client.prefs.prefered_security_department
|
||||
if(!LAZYLEN(available_depts) || department == "None")
|
||||
if(!LAZYLEN(GLOB.available_depts) || department == "None")
|
||||
return
|
||||
else if(department in available_depts)
|
||||
LAZYREMOVE(available_depts, department)
|
||||
else if(department in GLOB.available_depts)
|
||||
LAZYREMOVE(GLOB.available_depts, department)
|
||||
else
|
||||
department = pick_n_take(available_depts)
|
||||
department = pick_n_take(GLOB.available_depts)
|
||||
var/ears = null
|
||||
var/tie = null
|
||||
var/list/dep_access = null
|
||||
@@ -202,27 +202,27 @@ var/list/available_depts = list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT
|
||||
switch(department)
|
||||
if(SEC_DEPT_SUPPLY)
|
||||
ears = /obj/item/device/radio/headset/headset_sec/alt/department/supply
|
||||
dep_access = list(access_mailsorting, access_mining, access_mining_station)
|
||||
dep_access = list(GLOB.access_mailsorting, GLOB.access_mining, GLOB.access_mining_station)
|
||||
destination = /area/security/checkpoint/supply
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/supply) in department_security_spawns
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/supply) in GLOB.department_security_spawns
|
||||
tie = /obj/item/clothing/tie/armband/cargo
|
||||
if(SEC_DEPT_ENGINEERING)
|
||||
ears = /obj/item/device/radio/headset/headset_sec/alt/department/engi
|
||||
dep_access = list(access_construction, access_engine)
|
||||
dep_access = list(GLOB.access_construction, GLOB.access_engine)
|
||||
destination = /area/security/checkpoint/engineering
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/engineering) in department_security_spawns
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/engineering) in GLOB.department_security_spawns
|
||||
tie = /obj/item/clothing/tie/armband/engine
|
||||
if(SEC_DEPT_MEDICAL)
|
||||
ears = /obj/item/device/radio/headset/headset_sec/alt/department/med
|
||||
dep_access = list(access_medical)
|
||||
dep_access = list(GLOB.access_medical)
|
||||
destination = /area/security/checkpoint/medical
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/medical) in department_security_spawns
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/medical) in GLOB.department_security_spawns
|
||||
tie = /obj/item/clothing/tie/armband/medblue
|
||||
if(SEC_DEPT_SCIENCE)
|
||||
ears = /obj/item/device/radio/headset/headset_sec/alt/department/sci
|
||||
dep_access = list(access_research)
|
||||
dep_access = list(GLOB.access_research)
|
||||
destination = /area/security/checkpoint/science
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/science) in department_security_spawns
|
||||
spawn_point = locate(/obj/effect/landmark/start/depsec/science) in GLOB.department_security_spawns
|
||||
tie = /obj/item/clothing/tie/armband/science
|
||||
|
||||
if(tie)
|
||||
|
||||
@@ -3,7 +3,7 @@ AI
|
||||
*/
|
||||
/datum/job/ai
|
||||
title = "AI"
|
||||
flag = AI
|
||||
flag = AI_JF
|
||||
department_flag = ENGSEC
|
||||
faction = "Station"
|
||||
total_positions = 0
|
||||
@@ -20,8 +20,8 @@ AI
|
||||
AI.rename_self("ai", M.client)
|
||||
|
||||
//we may have been created after our borg
|
||||
if(ticker.current_state == GAME_STATE_SETTING_UP)
|
||||
for(var/mob/living/silicon/robot/R in silicon_mobs)
|
||||
if(SSticker.current_state == GAME_STATE_SETTING_UP)
|
||||
for(var/mob/living/silicon/robot/R in GLOB.silicon_mobs)
|
||||
if(!R.connected_ai)
|
||||
R.TryConnectToAI()
|
||||
|
||||
|
||||
+32
-95
@@ -1,100 +1,40 @@
|
||||
|
||||
var/const/ENGSEC =(1<<0)
|
||||
|
||||
var/const/CAPTAIN =(1<<0)
|
||||
var/const/HOS =(1<<1)
|
||||
var/const/WARDEN =(1<<2)
|
||||
var/const/DETECTIVE =(1<<3)
|
||||
var/const/OFFICER =(1<<4)
|
||||
var/const/CHIEF =(1<<5)
|
||||
var/const/ENGINEER =(1<<6)
|
||||
var/const/ATMOSTECH =(1<<7)
|
||||
var/const/ROBOTICIST =(1<<8)
|
||||
var/const/AI =(1<<9)
|
||||
var/const/CYBORG =(1<<10)
|
||||
|
||||
|
||||
var/const/MEDSCI =(1<<1)
|
||||
|
||||
var/const/RD =(1<<0)
|
||||
var/const/SCIENTIST =(1<<1)
|
||||
var/const/CHEMIST =(1<<2)
|
||||
var/const/CMO =(1<<3)
|
||||
var/const/DOCTOR =(1<<4)
|
||||
var/const/GENETICIST =(1<<5)
|
||||
var/const/VIROLOGIST =(1<<6)
|
||||
|
||||
|
||||
var/const/CIVILIAN =(1<<2)
|
||||
|
||||
var/const/HOP =(1<<0)
|
||||
var/const/BARTENDER =(1<<1)
|
||||
var/const/BOTANIST =(1<<2)
|
||||
var/const/COOK =(1<<3)
|
||||
var/const/JANITOR =(1<<4)
|
||||
var/const/LIBRARIAN =(1<<5)
|
||||
var/const/QUARTERMASTER =(1<<6)
|
||||
var/const/CARGOTECH =(1<<7)
|
||||
var/const/MINER =(1<<8)
|
||||
var/const/LAWYER =(1<<9)
|
||||
var/const/CHAPLAIN =(1<<10)
|
||||
var/const/CLOWN =(1<<11)
|
||||
var/const/MIME =(1<<12)
|
||||
var/const/ASSISTANT =(1<<13)
|
||||
|
||||
|
||||
var/list/assistant_occupations = list(
|
||||
"Assistant",
|
||||
"Atmospheric Technician",
|
||||
"Cargo Technician",
|
||||
"Chaplain",
|
||||
"Lawyer",
|
||||
"Librarian"
|
||||
)
|
||||
|
||||
|
||||
var/list/command_positions = list(
|
||||
GLOBAL_LIST_INIT(command_positions, list(
|
||||
"Captain",
|
||||
"Head of Personnel",
|
||||
"Head of Security",
|
||||
"Chief Engineer",
|
||||
"Research Director",
|
||||
"Chief Medical Officer"
|
||||
)
|
||||
"Chief Medical Officer"))
|
||||
|
||||
|
||||
var/list/engineering_positions = list(
|
||||
GLOBAL_LIST_INIT(engineering_positions, list(
|
||||
"Chief Engineer",
|
||||
"Station Engineer",
|
||||
"Atmospheric Technician",
|
||||
)
|
||||
"Atmospheric Technician"))
|
||||
|
||||
|
||||
var/list/medical_positions = list(
|
||||
GLOBAL_LIST_INIT(medical_positions, list(
|
||||
"Chief Medical Officer",
|
||||
"Medical Doctor",
|
||||
"Geneticist",
|
||||
"Virologist",
|
||||
"Chemist"
|
||||
)
|
||||
"Chemist"))
|
||||
|
||||
|
||||
var/list/science_positions = list(
|
||||
GLOBAL_LIST_INIT(science_positions, list(
|
||||
"Research Director",
|
||||
"Scientist",
|
||||
"Roboticist"
|
||||
)
|
||||
"Roboticist"))
|
||||
|
||||
|
||||
var/list/supply_positions = list(
|
||||
GLOBAL_LIST_INIT(supply_positions, list(
|
||||
"Head of Personnel",
|
||||
"Quartermaster",
|
||||
"Cargo Technician",
|
||||
"Shaft Miner",
|
||||
)
|
||||
"Shaft Miner"))
|
||||
|
||||
|
||||
var/list/civilian_positions = list(
|
||||
GLOBAL_LIST_INIT(civilian_positions, list(
|
||||
"Bartender",
|
||||
"Botanist",
|
||||
"Cook",
|
||||
@@ -104,27 +44,24 @@ var/list/civilian_positions = list(
|
||||
"Chaplain",
|
||||
"Clown",
|
||||
"Mime",
|
||||
"Assistant"
|
||||
)
|
||||
"Assistant"))
|
||||
|
||||
|
||||
var/list/security_positions = list(
|
||||
GLOBAL_LIST_INIT(security_positions, list(
|
||||
"Head of Security",
|
||||
"Warden",
|
||||
"Detective",
|
||||
"Security Officer"
|
||||
)
|
||||
"Security Officer"))
|
||||
|
||||
|
||||
var/list/nonhuman_positions = list(
|
||||
GLOBAL_LIST_INIT(nonhuman_positions, list(
|
||||
"AI",
|
||||
"Cyborg",
|
||||
"pAI"
|
||||
)
|
||||
"pAI"))
|
||||
|
||||
|
||||
/proc/guest_jobbans(job)
|
||||
return ((job in command_positions) || (job in nonhuman_positions) || (job in security_positions))
|
||||
return ((job in GLOB.command_positions) || (job in GLOB.nonhuman_positions) || (job in GLOB.security_positions))
|
||||
|
||||
|
||||
|
||||
@@ -138,22 +75,22 @@ var/list/nonhuman_positions = list(
|
||||
if(J.title == job_title)
|
||||
return J.department_head //this is a list
|
||||
|
||||
var/static/regex/cap_expand = new("cap(?!tain)")
|
||||
var/static/regex/cmo_expand = new("cmo")
|
||||
var/static/regex/hos_expand = new("hos")
|
||||
var/static/regex/hop_expand = new("hop")
|
||||
var/static/regex/rd_expand = new("rd")
|
||||
var/static/regex/ce_expand = new("ce")
|
||||
var/static/regex/qm_expand = new("qm")
|
||||
var/static/regex/sec_expand = new("(?<!security )officer")
|
||||
var/static/regex/engi_expand = new("(?<!station )engineer")
|
||||
var/static/regex/atmos_expand = new("atmos tech")
|
||||
var/static/regex/doc_expand = new("(?<!medical )doctor|medic(?!al)")
|
||||
var/static/regex/mine_expand = new("(?<!shaft )miner")
|
||||
var/static/regex/chef_expand = new("chef")
|
||||
var/static/regex/borg_expand = new("(?<!cy)borg")
|
||||
|
||||
/proc/get_full_job_name(job)
|
||||
var/static/regex/cap_expand = new("cap(?!tain)")
|
||||
var/static/regex/cmo_expand = new("cmo")
|
||||
var/static/regex/hos_expand = new("hos")
|
||||
var/static/regex/hop_expand = new("hop")
|
||||
var/static/regex/rd_expand = new("rd")
|
||||
var/static/regex/ce_expand = new("ce")
|
||||
var/static/regex/qm_expand = new("qm")
|
||||
var/static/regex/sec_expand = new("(?<!security )officer")
|
||||
var/static/regex/engi_expand = new("(?<!station )engineer")
|
||||
var/static/regex/atmos_expand = new("atmos tech")
|
||||
var/static/regex/doc_expand = new("(?<!medical )doctor|medic(?!al)")
|
||||
var/static/regex/mine_expand = new("(?<!shaft )miner")
|
||||
var/static/regex/chef_expand = new("chef")
|
||||
var/static/regex/borg_expand = new("(?<!cy)borg")
|
||||
|
||||
job = lowertext(job)
|
||||
job = cap_expand.Replace(job, "captain")
|
||||
job = cmo_expand.Replace(job, "chief medical officer")
|
||||
|
||||
Reference in New Issue
Block a user