diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 0cbb3d48be3..6d6749d7f71 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -141,14 +141,13 @@ return 1 if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access return 0 - for(var/req in src.req_access) - if(!(req in I.access)) //doesn't have this access - return 0 if(src.req_one_access && src.req_one_access.len) for(var/req in src.req_one_access) if(req in I.access) //has an access from the single access list return 1 - return 0 + for(var/req in src.req_access) + if(!(req in I.access)) //doesn't have this access + return 0 return 1 @@ -158,14 +157,14 @@ if(!src.req_access.len && (!src.req_one_access || !src.req_one_access.len)) return 1 if(!L) return 0 if(!istype(L, /list)) return 0 - for(var/req in src.req_access) - if(!(req in L)) //doesn't have this access - return 0 if(src.req_one_access && src.req_one_access.len) for(var/req in src.req_one_access) if(req in L) //has an access from the single access list return 1 - return 0 + for(var/req in src.req_access) + if(!(req in L)) //doesn't have this access + return 0 + return 1 @@ -176,7 +175,7 @@ if("Station Engineer") return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks) if("Assistant") - return list(access_maint_tunnels) + return list() if("Chaplain") return list(access_morgue, access_chapel_office, access_crematorium) if("Detective") @@ -192,9 +191,9 @@ if("Captain") return get_all_accesses() if("Security Officer") - return list(access_security, access_brig, access_court) + return list(access_security, access_brig, access_court, access_maint_tunnels) if("Warden") - return list(access_security, access_brig, access_armory, access_court) + return list(access_security, access_brig, access_armory, access_court, access_maint_tunnels) if("Scientist") return list(access_tox, access_tox_storage, access_research, access_xenobiology) if("Head of Security") diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index ca81bb608a1..c7e3f86bf98 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -1518,11 +1518,11 @@ "aDj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/entry) "aDk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/maintenance/fpmaint2) "aDl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/storage/primary) -"aDm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Primary Tool Storage"; req_access_txt = "12"},/turf/simulated/floor,/area/storage/primary) +"aDm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Primary Tool Storage"; req_access_txt = "0"},/turf/simulated/floor,/area/storage/primary) "aDn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/storage/primary) "aDo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/storage/primary) "aDp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/storage/primary) -"aDq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Primary Tool Storage"; req_access_txt = "12"},/turf/simulated/floor,/area/storage/primary) +"aDq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Primary Tool Storage"; req_access_txt = "0"},/turf/simulated/floor,/area/storage/primary) "aDr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/floor/plating,/area/storage/primary) "aDs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/maintenance/fpmaint) "aDt" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/disposalpipe/segment{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) @@ -2706,8 +2706,8 @@ "bab" = (/obj/structure/table/reinforced,/obj/structure/disposalpipe/segment{dir = 1},/obj/machinery/door/window/northleft{name = "Reception Window"; req_access = null; req_access_txt = "0"},/obj/machinery/door/window/southleft{name = "Research and Development"; req_access_txt = "7"},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) "bac" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northright{name = "Reception Window"; req_access_txt = "0"},/obj/machinery/door/window/southright{name = "Research and Development"; req_access_txt = "7"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) "bad" = (/turf/simulated/wall/r_wall,/area/medical/research{name = "Research Division"}) -"bae" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Research Division Access"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/medical/research{name = "Research Division"}) -"baf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor,/area/medical/research{name = "Research Division"}) +"bae" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Research Division Access"; req_access_txt = "47"; req_one_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/medical/research{name = "Research Division"}) +"baf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Research Division Access"; req_access_txt = "47"; req_one_access_txt = "1"},/turf/simulated/floor,/area/medical/research{name = "Research Division"}) "bag" = (/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bah" = (/obj/machinery/camera{c_tag = "Arrivals Auxiliary Docking"; dir = 8; network = "SS13"},/turf/simulated/floor,/area/hallway/secondary/entry) "bai" = (/obj/machinery/door_control{name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 2; id = "Disposal Exit"},/turf/simulated/floor/plating,/area/maintenance/disposal) @@ -2861,7 +2861,7 @@ "bda" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bdb" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bdc" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bdd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Chemistry"; req_access_txt = "33; 7"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) +"bdd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Chemistry"; req_access_txt = "33; 7"; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bde" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab) "bdf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab) "bdg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab) @@ -3002,8 +3002,8 @@ "bfL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/r_n_d/destructive_analyzer,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/toxins/lab) "bfM" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) "bfN" = (/obj/effect/sign/biohazard,/turf/simulated/wall/r_wall,/area/medical/research{name = "Research Division"}) -"bfO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/medical{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor,/area/medical/research{name = "Research Division"}) -"bfP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/medical{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor,/area/medical/research{name = "Research Division"}) +"bfO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/medical{name = "Research Division Access"; req_access_txt = "47"; req_one_access_txt = "1"},/turf/simulated/floor,/area/medical/research{name = "Research Division"}) +"bfP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/medical{name = "Research Division Access"; req_access_txt = "47"; req_one_access_txt = "1"},/turf/simulated/floor,/area/medical/research{name = "Research Division"}) "bfQ" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bfR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) "bfS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/effect/sign/securearea{name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; pixel_x = -1},/turf/simulated/floor/plating,/area/hallway/secondary/entry) @@ -3226,8 +3226,8 @@ "bkb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Medbay"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bkc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) "bkd" = (/obj/effect/sign/redcross,/turf/simulated/wall,/area/medical/medbay) -"bke" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Medbay"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bkf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Medbay"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bke" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Medbay"; req_access_txt = "5"; req_one_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bkf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Medbay"; req_access_txt = "5"; req_one_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bkg" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue) "bkh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bki" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) @@ -4829,7 +4829,7 @@ "bOS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall,/area/maintenance/asmaint) "bOT" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bOU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bOV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/door/airlock/maintenance{name = "Medical Maintenance"; req_access_txt = "5"},/obj/structure/disposalpipe/segment{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay) +"bOV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/door/airlock/maintenance{name = "Medical Maintenance"; req_access_txt = "5"; req_one_access_txt = "1"},/obj/structure/disposalpipe/segment{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/medical/medbay) "bOW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/wall,/area/medical/medbay) "bOX" = (/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/wall/r_wall,/area/medical/virology) "bOY" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 6; icon_state = "intact-r-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/medical/virology)