Merge pull request #4165 from Anewbe/id_fix

Fixes the access config issue
This commit is contained in:
Neerti
2017-10-26 19:51:54 -04:00
committed by GitHub
2 changed files with 87 additions and 131 deletions

View File

@@ -103,7 +103,7 @@
outfit_type = /decl/hierarchy/outfit/job/medical/psychiatrist outfit_type = /decl/hierarchy/outfit/job/medical/psychiatrist
alt_titles = list("Psychologist" = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist) alt_titles = list("Psychologist" = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist)
/datum/job/Paramedic /datum/job/paramedic
title = "Paramedic" title = "Paramedic"
flag = PARAMEDIC flag = PARAMEDIC
department = "Medical" department = "Medical"

View File

@@ -23,6 +23,8 @@
var/primary_color = rgb(0,0,0) // Obtained by eyedroppering the stripe in the middle of the card var/primary_color = rgb(0,0,0) // Obtained by eyedroppering the stripe in the middle of the card
var/secondary_color = rgb(0,0,0) // Likewise for the oval in the top-left corner var/secondary_color = rgb(0,0,0) // Likewise for the oval in the top-left corner
var/datum/job/job_access_type = /datum/job/assistant // Job type to acquire access rights from, if any
//alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system //alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system
var/assignment = null //can be alt title or the actual job var/assignment = null //can be alt title or the actual job
var/rank = null //actual job var/rank = null //actual job
@@ -110,28 +112,31 @@
usr << "The fingerprint hash on the card is [fingerprint_hash]." usr << "The fingerprint hash on the card is [fingerprint_hash]."
return return
/obj/item/weapon/card/id/New()
..()
var/datum/job/jobdatum
for(var/jobtype in typesof(/datum/job))
var/datum/job/J = new jobtype
if(J.title == rank)
jobdatum = J
access = jobdatum.get_access()
return
/obj/item/weapon/card/id/silver /obj/item/weapon/card/id/silver
name = "identification card" name = "identification card"
desc = "A silver card which shows honour and dedication." desc = "A silver card which shows honour and dedication."
icon_state = "silver" icon_state = "silver"
item_state = "silver_id" item_state = "silver_id"
/obj/item/weapon/card/id/silver/secretary/New() /obj/item/weapon/card/id/silver/secretary
..()
assignment = "Command Secretary" assignment = "Command Secretary"
rank = "Command Secretary" rank = "Command Secretary"
access |= list(access_heads) job_access_type = /datum/job/secretary
/obj/item/weapon/card/id/silver/hop/New() /obj/item/weapon/card/id/silver/hop
..()
assignment = "Head of Personnel" assignment = "Head of Personnel"
rank = "Head of Personnel" rank = "Head of Personnel"
access |= list(access_security, access_sec_doors, access_brig, access_forensics_lockers, job_access_type = /datum/job/hop
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_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station,
access_hop, access_RC_announce, access_keycard_auth, access_gateway)
/obj/item/weapon/card/id/gold /obj/item/weapon/card/id/gold
name = "identification card" name = "identification card"
@@ -140,17 +145,16 @@
item_state = "gold_id" item_state = "gold_id"
preserve_item = 1 preserve_item = 1
/obj/item/weapon/card/id/gold/captain/New() /obj/item/weapon/card/id/gold/captain
assignment = "Colony Director" assignment = "Colony Director"
rank = "Colony Director" rank = "Colony Director"
access = get_all_station_access() job_access_type = /datum/job/captain
..()
/obj/item/weapon/card/id/gold/captain/spare /obj/item/weapon/card/id/gold/captain/spare
name = "colony director's spare ID" name = "colony director's spare ID"
desc = "The spare ID of the High Lord himself." desc = "The spare ID of the High Lord himself."
registered_name = "Colony Director" registered_name = "Colony Director"
assignment = "Colony Director" job_access_type = /datum/job/captain
/obj/item/weapon/card/id/synthetic /obj/item/weapon/card/id/synthetic
name = "\improper Synthetic ID" name = "\improper Synthetic ID"
@@ -160,8 +164,8 @@
assignment = "Synthetic" assignment = "Synthetic"
/obj/item/weapon/card/id/synthetic/New() /obj/item/weapon/card/id/synthetic/New()
access = get_all_station_access() + access_synth
..() ..()
access = get_all_station_access() + access_synth
/obj/item/weapon/card/id/centcom /obj/item/weapon/card/id/centcom
name = "\improper CentCom. ID" name = "\improper CentCom. ID"
@@ -194,50 +198,41 @@
icon_state = "med" icon_state = "med"
primary_color = rgb(189,237,237) primary_color = rgb(189,237,237)
secondary_color = rgb(223,255,255) secondary_color = rgb(223,255,255)
access = list(access_medical, access_medical_equip)
/obj/item/weapon/card/id/medical/doctor/New() /obj/item/weapon/card/id/medical/doctor
..()
assignment = "Medical Doctor" assignment = "Medical Doctor"
rank = "Medical Doctor" rank = "Medical Doctor"
access |= list(access_morgue, access_surgery, access_virology, access_eva) job_access_type = /datum/job/doctor
/obj/item/weapon/card/id/medical/chemist/New() /obj/item/weapon/card/id/medical/chemist
..()
assignment = "Chemist" assignment = "Chemist"
rank = "Chemist" rank = "Chemist"
access |= list(access_chemistry) job_access_type = /datum/job/chemist
/obj/item/weapon/card/id/medical/geneticist/New() /obj/item/weapon/card/id/medical/geneticist
..()
assignment = "Geneticist" assignment = "Geneticist"
rank = "Geneticist" rank = "Geneticist"
access |= list(access_morgue, access_genetics) job_access_type = /datum/job/doctor //geneticist
/obj/item/weapon/card/id/medical/psychiatrist/New() /obj/item/weapon/card/id/medical/psychiatrist
..()
assignment = "Psychiatrist" assignment = "Psychiatrist"
rank = "Psychiatrist" rank = "Psychiatrist"
access |= list(access_psychiatrist) job_access_type = /datum/job/psychiatrist
/obj/item/weapon/card/id/medical/paramedic/New() /obj/item/weapon/card/id/medical/paramedic
..()
assignment = "Paramedic" assignment = "Paramedic"
rank = "Paramedic" rank = "Paramedic"
access |= list(access_morgue, access_eva, access_maint_tunnels, access_external_airlocks) job_access_type = /datum/job/paramedic
/obj/item/weapon/card/id/medical/head /obj/item/weapon/card/id/medical/head
name = "identification card" name = "identification card"
desc = "A card which represents care and compassion." desc = "A card which represents care and compassion."
assignment = "Chief Medical Officer"
rank = "Chief Medical Officer"
icon_state = "medGold" icon_state = "medGold"
primary_color = rgb(189,237,237) primary_color = rgb(189,237,237)
secondary_color = rgb(255,223,127) secondary_color = rgb(255,223,127)
assignment = "Chief Medical Officer"
/obj/item/weapon/card/id/medical/head/New() rank = "Chief Medical Officer"
access |= list(access_morgue, access_genetics, access_heads, access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, job_access_type = /datum/job/cmo
access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels)
/obj/item/weapon/card/id/security /obj/item/weapon/card/id/security
name = "identification card" name = "identification card"
@@ -245,40 +240,31 @@
icon_state = "sec" icon_state = "sec"
primary_color = rgb(189,47,0) primary_color = rgb(189,47,0)
secondary_color = rgb(223,127,95) secondary_color = rgb(223,127,95)
access = list(access_security, access_sec_doors, access_maint_tunnels, access_external_airlocks, access_eva)
/obj/item/weapon/card/id/security/officer/New() /obj/item/weapon/card/id/security/officer
..() assignment = "Security Officer"
assignment = "Assignment"
rank = "Security Officer" rank = "Security Officer"
access |= list(access_brig) job_access_type = /datum/job/officer
/obj/item/weapon/card/id/security/detective/New() /obj/item/weapon/card/id/security/detective
..()
assignment = "Detective" assignment = "Detective"
rank = "Detective" rank = "Detective"
access |= list(access_forensics_lockers, access_morgue) job_access_type = /datum/job/detective
/obj/item/weapon/card/id/security/warden/New() /obj/item/weapon/card/id/security/warden
..()
assignment = "Warden" assignment = "Warden"
rank = "Warden" rank = "Warden"
access |= list(access_brig, access_armory) job_access_type = /datum/job/warden
/obj/item/weapon/card/id/security/head /obj/item/weapon/card/id/security/head
name = "identification card" name = "identification card"
desc = "A card which represents honor and protection." desc = "A card which represents honor and protection."
icon_state = "secGold" icon_state = "secGold"
assignment = "Head of Security"
rank = "Head of Security"
primary_color = rgb(189,47,0) primary_color = rgb(189,47,0)
secondary_color = rgb(255,223,127) secondary_color = rgb(255,223,127)
assignment = "Head of Security"
/obj/item/weapon/card/id/security/head/New() rank = "Head of Security"
..() job_access_type = /datum/job/hos
access |= list(access_brig, access_armory, access_forensics_lockers, access_morgue, 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)
/obj/item/weapon/card/id/engineering /obj/item/weapon/card/id/engineering
name = "identification card" name = "identification card"
@@ -286,33 +272,26 @@
icon_state = "eng" icon_state = "eng"
primary_color = rgb(189,94,0) primary_color = rgb(189,94,0)
secondary_color = rgb(223,159,95) secondary_color = rgb(223,159,95)
access = list(access_eva, access_engine, access_maint_tunnels, access_construction, access_external_airlocks)
/obj/item/weapon/card/id/engineering/engineer/New() /obj/item/weapon/card/id/engineering/engineer
..()
assignment = "Station Engineer" assignment = "Station Engineer"
rank = "Station Engineer" rank = "Station Engineer"
access |= list(access_engine_equip, access_tech_storage) job_access_type = /datum/job/engineer
/obj/item/weapon/card/id/engineering/atmos/New() /obj/item/weapon/card/id/engineering/atmos
..()
assignment = "Atmospheric Technician" assignment = "Atmospheric Technician"
rank = "Atmospheric Technician" rank = "Atmospheric Technician"
access |= list(access_atmospherics, access_emergency_storage) job_access_type = /datum/job/atmos
/obj/item/weapon/card/id/engineering/head /obj/item/weapon/card/id/engineering/head
name = "identification card" name = "identification card"
desc = "A card which represents creativity and ingenuity." desc = "A card which represents creativity and ingenuity."
icon_state = "engGold" icon_state = "engGold"
assignment = "Chief Engineer"
rank = "Chief Engineer"
primary_color = rgb(189,94,0) primary_color = rgb(189,94,0)
secondary_color = rgb(255,223,127) secondary_color = rgb(255,223,127)
assignment = "Chief Engineer"
/obj/item/weapon/card/id/engineering/head/New() rank = "Chief Engineer"
..() job_access_type = /datum/job/chief_engineer
access |= list(access_engine_equip, access_tech_storage, access_teleporter, access_atmospherics, access_emergency_storage,
access_heads, access_sec_doors, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload)
/obj/item/weapon/card/id/science /obj/item/weapon/card/id/science
name = "identification card" name = "identification card"
@@ -320,40 +299,31 @@
icon_state = "sci" icon_state = "sci"
primary_color = rgb(142,47,142) primary_color = rgb(142,47,142)
secondary_color = rgb(191,127,191) secondary_color = rgb(191,127,191)
access = list(access_research)
/obj/item/weapon/card/id/science/scientist/New() /obj/item/weapon/card/id/science/scientist
..()
assignment = "Scientist" assignment = "Scientist"
rank = "Scientist" rank = "Scientist"
access |= list(access_tox, access_tox_storage, access_xenoarch) job_access_type = /datum/job/scientist
/obj/item/weapon/card/id/science/xenobiologist/New() /obj/item/weapon/card/id/science/xenobiologist
..()
assignment = "Xenobiologist" assignment = "Xenobiologist"
rank = "Xenobiologist" rank = "Xenobiologist"
access |= list(access_xenobiology, access_hydroponics, access_tox_storage) job_access_type = /datum/job/xenobiologist
/obj/item/weapon/card/id/science/roboticist/New() /obj/item/weapon/card/id/science/roboticist
..()
assignment = "Roboticist" assignment = "Roboticist"
rank = "Roboticist" rank = "Roboticist"
access |= list(access_robotics, access_tech_storage, access_morgue) job_access_type = /datum/job/roboticist
/obj/item/weapon/card/id/science/head /obj/item/weapon/card/id/science/head
name = "identification card" name = "identification card"
desc = "A card which represents knowledge and reasoning." desc = "A card which represents knowledge and reasoning."
icon_state = "sciGold" icon_state = "sciGold"
assignment = "Research Director"
rank = "Research Director"
primary_color = rgb(142,47,142) primary_color = rgb(142,47,142)
secondary_color = rgb(255,223,127) secondary_color = rgb(255,223,127)
assignment = "Research Director"
/obj/item/weapon/card/id/science/head/New() rank = "Research Director"
..() job_access_type = /datum/job/rd
access |= list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_tox_storage, access_teleporter, access_sec_doors,
access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, access_RC_announce, access_keycard_auth,
access_tcomsat, access_gateway, access_xenoarch)
/obj/item/weapon/card/id/cargo /obj/item/weapon/card/id/cargo
name = "identification card" name = "identification card"
@@ -361,90 +331,76 @@
icon_state = "cargo" icon_state = "cargo"
primary_color = rgb(142,94,0) primary_color = rgb(142,94,0)
secondary_color = rgb(191,159,95) secondary_color = rgb(191,159,95)
access = list(access_mailsorting)
/obj/item/weapon/card/id/cargo/cargo_tech/New() /obj/item/weapon/card/id/cargo/cargo_tech
..()
assignment = "Cargo Technician" assignment = "Cargo Technician"
rank = "Cargo Technician" rank = "Cargo Technician"
access |= list(access_maint_tunnels, access_cargo, access_cargo_bot) job_access_type = /datum/job/cargo_tech
/obj/item/weapon/card/id/cargo/mining/New() /obj/item/weapon/card/id/cargo/mining
..()
assignment = "Shaft Miner" assignment = "Shaft Miner"
rank = "Shaft Miner" rank = "Shaft Miner"
access |= list(access_mining, access_mining_station) job_access_type = /datum/job/mining
/obj/item/weapon/card/id/cargo/head /obj/item/weapon/card/id/cargo/head
name = "identification card" name = "identification card"
desc = "A card which represents service and planning." desc = "A card which represents service and planning."
icon_state = "cargoGold" icon_state = "cargoGold"
assignment = "Quartermaster"
rank = "Quartermaster"
primary_color = rgb(142,94,0) primary_color = rgb(142,94,0)
secondary_color = rgb(255,223,127) secondary_color = rgb(255,223,127)
assignment = "Quartermaster"
/obj/item/weapon/card/id/cargo/head/New() rank = "Quartermaster"
..() job_access_type = /datum/job/qm
access |= list(access_maint_tunnels, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
/obj/item/weapon/card/id/assistant /obj/item/weapon/card/id/assistant
name = "identification card" assignment = "Assistant"
// assignment = "Assistant" rank = "Assistant"
// rank = "Assistant" job_access_type = /datum/job/assistant
access = list()
/obj/item/weapon/card/id/civilian /obj/item/weapon/card/id/civilian
name = "identification card" name = "identification card"
desc = "A card issued to station civilian staff." desc = "A card issued to station civilian staff."
icon_state = "civ" icon_state = "civ"
assignment = "Civilian"
rank = "Assistant"
primary_color = rgb(0,94,142) primary_color = rgb(0,94,142)
secondary_color = rgb(95,159,191) secondary_color = rgb(95,159,191)
access = list() assignment = "Civilian"
rank = "Assistant"
job_access_type = /datum/job/assistant
/obj/item/weapon/card/id/civilian/bartender/New() /obj/item/weapon/card/id/civilian/bartender
..()
assignment = "Bartender" assignment = "Bartender"
rank = "Bartender" rank = "Bartender"
access |= list(access_bar) job_access_type = /datum/job/bartender
/obj/item/weapon/card/id/civilian/botanist/New() /obj/item/weapon/card/id/civilian/botanist
..()
assignment = "Gardener" assignment = "Gardener"
rank = "Gardener" rank = "Gardener"
access |= list(access_hydroponics) job_access_type = /datum/job/hydro
/obj/item/weapon/card/id/civilian/chaplain/New() /obj/item/weapon/card/id/civilian/chaplain
..()
assignment = "Chaplain" assignment = "Chaplain"
rank = "Chaplain" rank = "Chaplain"
access |= list(access_chapel_office, access_crematorium) job_access_type = /datum/job/chaplain
/obj/item/weapon/card/id/civilian/chef/New() /obj/item/weapon/card/id/civilian/chef
..()
assignment = "Chef" assignment = "Chef"
rank = "Chef" rank = "Chef"
access |= list(access_kitchen) job_access_type = /datum/job/chef
/obj/item/weapon/card/id/civilian/internal_affairs_agent/New() /obj/item/weapon/card/id/civilian/internal_affairs_agent
..()
assignment = "Internal Affairs Agent" assignment = "Internal Affairs Agent"
rank = "Internal Affairs Agent" rank = "Internal Affairs Agent"
access |= list(access_lawyer, access_sec_doors, access_heads) job_access_type = /datum/job/lawyer
/obj/item/weapon/card/id/civilian/janitor/New() /obj/item/weapon/card/id/civilian/janitor
..()
assignment = "Janitor" assignment = "Janitor"
rank = "Janitor" rank = "Janitor"
access |= list(access_janitor, access_maint_tunnels) job_access_type = /datum/job/janitor
/obj/item/weapon/card/id/civilian/librarian/New() /obj/item/weapon/card/id/civilian/librarian
..()
assignment = "Librarian" assignment = "Librarian"
rank = "Librarian" rank = "Librarian"
access |= list(access_library) job_access_type = /datum/job/librarian
/obj/item/weapon/card/id/civilian/head //This is not the HoP. There's no position that uses this right now. /obj/item/weapon/card/id/civilian/head //This is not the HoP. There's no position that uses this right now.
name = "identification card" name = "identification card"