diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index cd40697a05c..d1dbee70427 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -222,7 +222,7 @@ return TRUE if(attacking_item.GetID()) if(!check_access(attacking_item.GetID())) - to_chat(user, SPAN_WARNING("Access Denied.")) + to_chat(user, SPAN_WARNING("Access denied.")) return TRUE if((!locked) || (isnull(occupant))) return TRUE diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 2c7204447e2..18b55ac772c 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -106,7 +106,7 @@ /obj/machinery/computer/cloning/attack_hand(mob/user as mob) if(!allowed(user)) - to_chat(user, SPAN_WARNING("Access Denied.")) + to_chat(user, SPAN_WARNING("Access denied.")) return user.set_machine(src) @@ -276,7 +276,7 @@ src.temp = "Record deleted." src.menu = 2 else - src.temp = "Access Denied." + src.temp = "Access denied." else if (href_list["disk"]) //Load or eject. switch(href_list["disk"]) diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 885a2c625a3..364871f7a74 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -155,7 +155,7 @@ /obj/machinery/computer/pod/old/syndicate/attack_hand(var/mob/user as mob) if(!allowed(user)) - to_chat(user, SPAN_WARNING("Access Denied")) + to_chat(user, SPAN_WARNING("Access denied")) return else ..() diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index db3fb21c47f..b49e05f8c33 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -44,7 +44,7 @@ return if(!allowed(user) && (wires & 1)) - to_chat(user, SPAN_WARNING("Access Denied")) + to_chat(user, SPAN_WARNING("Access denied")) flick("doorctrl-denied",src) return diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index 0370cb780bc..b554e28ba54 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -154,7 +154,19 @@ else icon_state = "airlock_sensor_off" +/obj/machinery/airlock_sensor/attackby(obj/item/attacking_item, mob/user) + //Swiping ID on the access button + if (attacking_item.GetID()) + attack_hand(user) + return TRUE + return ..() + /obj/machinery/airlock_sensor/attack_hand(mob/user) + add_fingerprint(usr) + if(!allowed(user)) + to_chat(user, SPAN_WARNING("Access denied.")) + return FALSE + var/datum/signal/signal = new signal.transmission_method = TRANSMISSION_RADIO signal.data["tag"] = master_tag @@ -239,7 +251,7 @@ /obj/machinery/access_button/attack_hand(mob/user) add_fingerprint(usr) if(!allowed(user)) - to_chat(user, SPAN_WARNING("Access Denied")) + to_chat(user, SPAN_WARNING("Access denied")) else if(radio_connection) var/datum/signal/signal = new diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm index d1179a14579..c47d5c572a0 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers.dm @@ -35,6 +35,19 @@ . = ..() GC_TEMPORARY_HARDDEL +/obj/machinery/embedded_controller/radio/airlock/attackby(obj/item/attacking_item, mob/user) + //Swiping ID on the access button + if (attacking_item.GetID()) + attack_hand(user) + return TRUE + return ..() + +/obj/machinery/embedded_controller/radio/airlock/attack_hand(mob/user) + if(!allowed(user)) + to_chat(user, SPAN_WARNING("Access denied.")) + return FALSE + return ..() + //Advanced airlock controller for when you want a more versatile airlock controller - useful for turning simple access control rooms into airlocks /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller name = "Advanced Airlock Controller" diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index f6a7767cf86..a1801ea9341 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -36,14 +36,14 @@ return if(checks_for_access) if(!allowed(user)) - to_chat(user, SPAN_WARNING("Access Denied.")) + to_chat(user, SPAN_WARNING("Access denied.")) return src.ui_interact(user) /obj/machinery/embedded_controller/attack_hand(mob/user as mob) if(checks_for_access) if(!allowed(user)) - to_chat(user, SPAN_WARNING("Access Denied.")) + to_chat(user, SPAN_WARNING("Access denied.")) return if(!user.IsAdvancedToolUser()) diff --git a/code/game/machinery/ringer.dm b/code/game/machinery/ringer.dm index 0977afd08bb..a72f8e1143e 100644 --- a/code/game/machinery/ringer.dm +++ b/code/game/machinery/ringer.dm @@ -119,7 +119,7 @@ pixel_x = 8; if (istype(attacking_item, /obj/item/modular_computer)) if(!check_access(attacking_item)) - to_chat(user, SPAN_WARNING("Access Denied.")) + to_chat(user, SPAN_WARNING("Access denied.")) return TRUE else if (attacking_item in rings_pdas) to_chat(user, SPAN_NOTICE("You unlink \the [attacking_item] from \the [src].")) diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 34e32dcf4ab..d06d83f6ccd 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -36,7 +36,7 @@ to_chat(user, SPAN_NOTICE("You unlock \the [src]!")) return else - to_chat(user, SPAN_WARNING("Access Denied")) + to_chat(user, SPAN_WARNING("Access denied")) else if(istype(attacking_item, /obj/item/melee/energy/blade)) if(emag_act(INFINITY, user, attacking_item, "The locker has been sliced open by [user] with an energy blade!", "You hear metal being sliced and sparks flying.")) var/obj/item/melee/energy/blade/blade = attacking_item diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 37e23f928e0..a3e282b78db 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -87,7 +87,7 @@ /obj/CanUseTopic(var/mob/user, var/datum/ui_state/state) if(user.CanUseObjTopic(src)) return ..() - to_chat(user, SPAN_DANGER("[icon2html(src, user)]Access Denied!")) + to_chat(user, SPAN_DANGER("[icon2html(src, user)]Access denied!")) return STATUS_CLOSE /mob/living/silicon/CanUseObjTopic(var/obj/O) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/locker.dm b/code/game/objects/structures/crates_lockers/closets/secure/locker.dm index fa6ae4ba1a0..a794cb9ba68 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/locker.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/locker.dm @@ -49,7 +49,7 @@ SPAN_NOTICE("You [locked ? null : "un"]lock \the [src].")) update_icon() else if(!silent) - to_chat(user, SPAN_NOTICE("Access Denied.")) + to_chat(user, SPAN_NOTICE("Access denied.")) /obj/structure/closet/AltClick(mob/user) . = ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index a4c1c7ddd2d..6d56f1c693c 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -68,7 +68,7 @@ registered_name = I.registered_name desc = "Owned by [I.registered_name]." else - to_chat(user, SPAN_WARNING("Access Denied")) + to_chat(user, SPAN_WARNING("Access denied")) else if(istype(attacking_item, /obj/item/melee/energy/blade)) var/obj/item/melee/energy/blade/blade = attacking_item if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with \an [blade]!", "You hear metal being sliced and sparks flying.")) @@ -76,7 +76,7 @@ playsound(loc, 'sound/weapons/blade.ogg', 50, 1) playsound(loc, /singleton/sound_category/spark_sound, 50, 1) else - to_chat(user, SPAN_WARNING("Access Denied")) + to_chat(user, SPAN_WARNING("Access denied")) return /obj/structure/closet/secure_closet/personal/emag_act(var/remaining_charges, var/mob/user, var/visual_feedback, var/audible_feedback) diff --git a/code/modules/effects/map_effects/marker/airlock_.dm b/code/modules/effects/map_effects/marker/airlock_.dm index a78b2324d88..ae9d64d2740 100644 --- a/code/modules/effects/map_effects/marker/airlock_.dm +++ b/code/modules/effects/map_effects/marker/airlock_.dm @@ -77,6 +77,8 @@ var/obj/machinery/airlock_sensor/sensor = thing if(istype(sensor)) + sensor.req_access = req_access + sensor.req_one_access = req_one_access sensor.set_frequency(frequency) sensor.master_tag = MARKER_AIRLOCK_TAG_MASTER if(is_interior) diff --git a/code/modules/effects/map_effects/marker/airlock_docking.dm b/code/modules/effects/map_effects/marker/airlock_docking.dm index 38231f6fdb2..c4f7cc69400 100644 --- a/code/modules/effects/map_effects/marker/airlock_docking.dm +++ b/code/modules/effects/map_effects/marker/airlock_docking.dm @@ -80,6 +80,8 @@ var/obj/machinery/airlock_sensor/sensor = thing if(istype(sensor)) + sensor.req_access = req_access + sensor.req_one_access = req_one_access sensor.set_frequency(frequency) sensor.master_tag = MARKER_AIRLOCK_TAG_MASTER if(is_interior) diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index 28eb2d8a6e1..7afa66c4afb 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -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 diff --git a/code/modules/modular_computers/file_system/programs/security/camera.dm b/code/modules/modular_computers/file_system/programs/security/camera.dm index ee97ae4a312..f2d99ebb3ae 100644 --- a/code/modules/modular_computers/file_system/programs/security/camera.dm +++ b/code/modules/modular_computers/file_system/programs/security/camera.dm @@ -125,7 +125,7 @@ if(can_access_network(usr, get_camera_access(params["switch_network"]))) current_network = params["switch_network"] else - to_chat(usr, SPAN_WARNING("\The [ui_host()] shows an \"Network Access Denied\" error message.")) + to_chat(usr, SPAN_WARNING("\The [ui_host()] shows an \"Network access denied\" error message.")) return TRUE if("reset") diff --git a/code/modules/shuttles/shuttle_specops.dm b/code/modules/shuttles/shuttle_specops.dm index cdd5af58f89..9aa2cab1444 100644 --- a/code/modules/shuttles/shuttle_specops.dm +++ b/code/modules/shuttles/shuttle_specops.dm @@ -4,7 +4,7 @@ req_access = list(ACCESS_CENT_SPECOPS) /obj/machinery/computer/shuttle_control/specops/attack_ai(user as mob) - to_chat(user, SPAN_WARNING("Access Denied.")) + to_chat(user, SPAN_WARNING("Access denied.")) return 1 /datum/shuttle/autodock/ferry/specops diff --git a/html/changelogs/Ben10083 - Airlock Access.yml b/html/changelogs/Ben10083 - Airlock Access.yml new file mode 100644 index 00000000000..0b9ffb46595 --- /dev/null +++ b/html/changelogs/Ben10083 - Airlock Access.yml @@ -0,0 +1,59 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: Ben10083 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Adds missing access checks for airlock equipment." + - spellcheck: "Fixes improper capitalization with 'Access denied' messages."