Adds Missing Access Checks to Airlock Equipment (#21148)

Fixes https://github.com/Aurorastation/Aurora.3/issues/13378
Airlock controllers and Sensors now also check if the user has access

---------

Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com>
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
This commit is contained in:
Ben
2025-08-15 09:59:04 -04:00
committed by GitHub
parent 30214f671f
commit b9d1343ade
18 changed files with 110 additions and 22 deletions
@@ -233,19 +233,19 @@ ABSTRACT_TYPE(/datum/computer_file/program)
if(access_to_check in I.access)
return TRUE
else if(loud)
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access denied.\"."))
return FALSE
else if(check_type == PROGRAM_ACCESS_LIST_ONE)
for(var/check in access_to_check) //Loop through all the accesse's to check
if(check in I.access) //Success on first match
return TRUE
if(loud)
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access denied.\"."))
else if(check_type == PROGRAM_ACCESS_LIST_ALL)
for(var/check in access_to_check) //Loop through all the accesse's to check
if(!(check in I.access)) //Fail on first miss
if(loud)
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access denied.\"."))
return FALSE
else // Should never happen - So fail silently
return FALSE
@@ -288,20 +288,20 @@ ABSTRACT_TYPE(/datum/computer_file/program)
if(access_to_check in I.access)
return TRUE
else if(loud)
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access denied.\"."))
return FALSE
else if(check_type == PROGRAM_ACCESS_LIST_ONE)
for(var/check in access_to_check) //Loop through all the accesse's to check
if(check in I.access) //Success on first match
return TRUE
if(loud)
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access denied.\"."))
return FALSE
else if(check_type == PROGRAM_ACCESS_LIST_ALL)
for(var/check in access_to_check) //Loop through all the accesse's to check
if(!(check in I.access)) //Fail on first miss
if(loud)
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access Denied.\"."))
to_chat(user, SPAN_WARNING("\The [computer] flashes, \"Access denied.\"."))
return FALSE
else // Should never happen - So fail silently
return FALSE