diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 611c961f8ac..50e3349d4e1 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -103,7 +103,6 @@ var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD] var/obj/item/computer_hardware/card_slot/card_slot2 = all_components[MC_CARD2] if(!(card_slot || card_slot2)) - //to_chat(user, "There isn't anywhere you can fit a card into on this computer.") return FALSE var/obj/item/card/inserting_id = inserting_item.RemoveID() @@ -112,7 +111,6 @@ if((card_slot?.try_insert(inserting_id)) || (card_slot2?.try_insert(inserting_id))) return TRUE - //to_chat(user, "This computer doesn't have an open card slot.") return FALSE /obj/item/modular_computer/MouseDrop(obj/over_object, src_location, over_location) @@ -350,6 +348,10 @@ /obj/item/modular_computer/attackby(obj/item/W as obj, mob/user as mob) + // Check for ID first + if(istype(W, /obj/item/card/id) && InsertID(W)) + return + // Insert items into the components for(var/h in all_components) var/obj/item/computer_hardware/H = all_components[h] diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm index bccffc10713..01974008d23 100644 --- a/code/modules/modular_computers/file_system/programs/card.dm +++ b/code/modules/modular_computers/file_system/programs/card.dm @@ -320,32 +320,31 @@ /datum/computer_file/program/card_mod/ui_data(mob/user) var/list/data = get_header_data() + data["station_name"] = station_name() + var/obj/item/computer_hardware/card_slot/card_slot2 var/obj/item/computer_hardware/printer/printer if(computer) card_slot2 = computer.all_components[MC_CARD2] printer = computer.all_components[MC_PRINT] - - data["station_name"] = station_name() - - if(computer) data["have_id_slot"] = !!(card_slot2) - data["have_printer"] = !!printer + data["have_printer"] = !!(printer) else data["have_id_slot"] = FALSE data["have_printer"] = FALSE data["authenticated"] = authenticated + if(!card_slot2) + return data //We're just gonna error out on the js side at this point anyway - if(computer) - var/obj/item/card/id/id_card = card_slot2.stored_card - data["has_id"] = !!id_card - data["id_name"] = id_card ? id_card.name : "-----" - if(id_card) - data["id_rank"] = id_card.assignment ? id_card.assignment : "Unassigned" - data["id_owner"] = id_card.registered_name ? id_card.registered_name : "-----" - data["access_on_card"] = id_card.access + var/obj/item/card/id/id_card = card_slot2.stored_card + data["has_id"] = !!id_card + data["id_name"] = id_card ? id_card.name : "-----" + if(id_card) + data["id_rank"] = id_card.assignment ? id_card.assignment : "Unassigned" + data["id_owner"] = id_card.registered_name ? id_card.registered_name : "-----" + data["access_on_card"] = id_card.access return data diff --git a/code/modules/modular_computers/file_system/programs/jobmanagement.dm b/code/modules/modular_computers/file_system/programs/jobmanagement.dm index b88b793b66c..2d0d1bb0555 100644 --- a/code/modules/modular_computers/file_system/programs/jobmanagement.dm +++ b/code/modules/modular_computers/file_system/programs/jobmanagement.dm @@ -52,14 +52,10 @@ if(..()) return - var/authed = FALSE - var/mob/user = usr - var/obj/item/card/id/user_id = user.get_idcard() - if(user_id) - if(ACCESS_CHANGE_IDS in user_id.access) - authed = TRUE + var/obj/item/computer_hardware/card_slot/card_slot = computer.all_components[MC_CARD] + var/obj/item/card/id/user_id = card_slot?.stored_card - if(!authed) + if(!user_id || !(ACCESS_CHANGE_IDS in user_id.access)) return switch(action) @@ -107,10 +103,10 @@ var/list/data = get_header_data() var/authed = FALSE - var/obj/item/card/id/user_id = user.get_idcard(FALSE) - if(user_id) - if(ACCESS_CHANGE_IDS in user_id.access) - authed = TRUE + var/obj/item/computer_hardware/card_slot/card_slot = computer.all_components[MC_CARD] + var/obj/item/card/id/user_id = card_slot?.stored_card + if(user_id && (ACCESS_CHANGE_IDS in user_id.access)) + authed = TRUE data["authed"] = authed diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm index c243bf7db16..8dc951a8829 100644 --- a/code/modules/modular_computers/hardware/card_slot.dm +++ b/code/modules/modular_computers/hardware/card_slot.dm @@ -1,5 +1,5 @@ /obj/item/computer_hardware/card_slot - name = "identification card authentication module" // \improper breaks the find_hardware_by_name proc + name = "primary RFID card module" // \improper breaks the find_hardware_by_name proc desc = "A module allowing this computer to read or write data on ID cards. Necessary for some programs to run properly." power_usage = 10 //W icon_state = "card_mini" @@ -106,8 +106,10 @@ expansion_hw = !expansion_hw if(expansion_hw) device_type = MC_CARD2 + name = "secondary RFID card module" else device_type = MC_CARD + name = "primary RFID card module" /obj/item/computer_hardware/card_slot/examine(mob/user) . = ..() @@ -116,5 +118,6 @@ . += "There appears to be something loaded in the card slots." /obj/item/computer_hardware/card_slot/secondary + name = "secondary RFID card module" device_type = MC_CARD2 expansion_hw = TRUE