From dc8c545f65560d92db63561aafc577df2ff816bd Mon Sep 17 00:00:00 2001 From: Kashargul Date: Wed, 11 Sep 2024 20:59:57 +0200 Subject: [PATCH] rework access field access --- code/game/machinery/computer/card.dm | 6 +++--- code/game/machinery/computer/guestpass.dm | 8 ++++---- code/game/machinery/computer3/computers/card.dm | 8 ++++---- code/game/machinery/doors/airlock_electronics.dm | 2 +- code/game/mecha/mecha.dm | 8 ++++---- code/game/objects/items/devices/holowarrant.dm | 2 +- code/game/objects/items/weapons/id cards/station_ids.dm | 2 +- code/game/objects/items/weapons/id cards/syndicate_ids.dm | 2 +- code/modules/admin/verbs/modify_robot.dm | 8 ++++---- code/modules/clothing/under/accessories/badges.dm | 2 +- code/modules/mob/living/bot/bot.dm | 4 ++-- code/modules/mob/living/silicon/pai/pai.dm | 2 +- code/modules/modular_computers/file_system/program.dm | 2 +- .../file_system/programs/antagonist/access_decrypter.dm | 4 ++-- .../file_system/programs/research/email_administration.dm | 2 +- .../file_system/programs/security/digitalwarrant.dm | 4 ++-- code/modules/shieldgen/shield_capacitor.dm | 2 +- code/modules/shieldgen/shield_gen.dm | 2 +- code/modules/tgui/modules/_base.dm | 2 +- code/modules/tgui/modules/ntos-only/cardmod.dm | 7 +++---- 20 files changed, 39 insertions(+), 40 deletions(-) diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 75b860330d..2dcd5c83fc 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -59,7 +59,7 @@ if(!istype(id_card)) return ..() - if(!scan && (access_change_ids in id_card.access) && (user.unEquip(id_card) || (id_card.loc == user && istype(user,/mob/living/silicon/robot)))) //Grippers. Again. ~Mechoid + if(!scan && (access_change_ids in id_card.GetAccess()) && (user.unEquip(id_card) || (id_card.loc == user && istype(user,/mob/living/silicon/robot)))) //Grippers. Again. ~Mechoid user.drop_item() id_card.forceMove(src) scan = id_card @@ -129,7 +129,7 @@ all_centcom_access.Add(list(list( "desc" = replacetext(get_centcom_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in modify.access) ? 1 : 0))) + "allowed" = (access in modify.GetAccess()) ? 1 : 0))) else if(modify) for(var/i in ACCESS_REGION_SECURITY to ACCESS_REGION_SUPPLY) var/list/accesses = list() @@ -138,7 +138,7 @@ accesses.Add(list(list( "desc" = replacetext(get_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in modify.access) ? 1 : 0))) + "allowed" = (access in modify.GetAccess()) ? 1 : 0))) regions.Add(list(list( "name" = get_region_accesses_name(i), diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index dd33db4f86..1bf6b536d7 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -165,9 +165,9 @@ var/list/area_list = list() data["access"] = null - if(giver && giver.access) - data["access"] = giver.access - for (var/A in giver.access) + if(giver && giver.GetAccess()) + data["access"] = giver.GetAccess() + for (var/A in giver.GetAccess()) if(A in accesses) area_list.Add(list(list("area" = A, "area_name" = get_access_desc(A), "on" = 1))) else @@ -212,7 +212,7 @@ if(A in accesses) accesses.Remove(A) else - if(A in giver.access) //Let's make sure the ID card actually has the access. + if(A in giver.GetAccess()) //Let's make sure the ID card actually has the access. accesses.Add(A) else to_chat(usr, "Invalid selection, please consult technical support if there are any issues.") diff --git a/code/game/machinery/computer3/computers/card.dm b/code/game/machinery/computer3/computers/card.dm index 7412f6b464..8f6c57b6d6 100644 --- a/code/game/machinery/computer3/computers/card.dm +++ b/code/game/machinery/computer3/computers/card.dm @@ -123,7 +123,7 @@ for(var/i = 1; i <= 7; i++) accesses += "" for(var/A in get_region_accesses(i)) - if(A in writer.access) + if(A in writer.GetAccess()) accesses += topic_link(src,"access=[A]","[replacetext(get_access_desc(A), " ", " ")]") + " " else accesses += topic_link(src,"access=[A]",replacetext(get_access_desc(A), " ", " ")) + " " @@ -189,7 +189,7 @@ // These are here partly in order to be overwritten by the centcom card computer code /datum/file/program/card_comp/proc/authenticate() - if(access_change_ids in reader.access) + if(access_change_ids in reader.GetAccess()) return 1 if(istype(usr,/mob/living/silicon/ai)) return 1 @@ -335,13 +335,13 @@ /datum/file/program/card_comp/centcom/accessblock() var/accesses = "
[using_map.boss_name]:
" for(var/A in get_all_centcom_access()) - if(A in writer.access) + if(A in writer.GetAccess()) accesses += topic_link(src,"access=[A]","[replacetext(get_centcom_access_desc(A), " ", " ")]") + " " else accesses += topic_link(src,"access=[A]",replacetext(get_centcom_access_desc(A), " ", " ")) + " " return accesses /datum/file/program/card_comp/centcom/authenticate() - if(access_cent_captain in reader.access) + if(access_cent_captain in reader.GetAccess()) return 1 return 0 diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index e8882576f9..d97e5fb5c6 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -131,7 +131,7 @@ id = R.idcard // Nothing - if(!id || !id.access) + if(!id || !id.GetAccess()) return list() // Has engineer access, can put any access diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index f8275a4d3d..23441d2faa 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -2137,15 +2137,15 @@ if(istype(I, /obj/item/device/pda)) var/obj/item/device/pda/pda = I I = pda.id - if(!istype(I) || !I.access) //not ID or no access + if(!istype(I) || !I.GetAccess()) //not ID or no access return 0 if(access_list==src.operation_req_access) for(var/req in access_list) - if(!(req in I.access)) //doesn't have this access + if(!(req in I.GetAccess())) //doesn't have this access return 0 else if(access_list==src.internals_req_access) for(var/req in access_list) - if(req in I.access) + if(req in I.GetAccess()) return 1 return 1 @@ -2379,7 +2379,7 @@ for(var/a in operation_req_access) output += "[get_access_desc(a)] - Delete
" output += "

Following keycodes were detected on portable device:

" - for(var/a in id_card.access) + for(var/a in id_card.GetAccess()) if(a in operation_req_access) continue var/a_name = get_access_desc(a) if(!a_name) continue //there's some strange access without a name diff --git a/code/game/objects/items/devices/holowarrant.dm b/code/game/objects/items/devices/holowarrant.dm index 799674ae36..dcebbdde50 100644 --- a/code/game/objects/items/devices/holowarrant.dm +++ b/code/game/objects/items/devices/holowarrant.dm @@ -39,7 +39,7 @@ /obj/item/device/holowarrant/attackby(obj/item/weapon/W, mob/user) if(active) var/obj/item/weapon/card/id/I = W.GetIdCard() - if(access_hos in I.access) // VOREStation edit + if(access_hos in I.GetAccess()) // VOREStation edit var/choice = tgui_alert(user, "Would you like to authorize this warrant?","Warrant authorization",list("Yes","No")) if(choice == "Yes") active.fields["auth"] = "[I.registered_name] - [I.assignment ? I.assignment : "(Unknown)"]" diff --git a/code/game/objects/items/weapons/id cards/station_ids.dm b/code/game/objects/items/weapons/id cards/station_ids.dm index fbd19368f3..a38d341a6a 100644 --- a/code/game/objects/items/weapons/id cards/station_ids.dm +++ b/code/game/objects/items/weapons/id cards/station_ids.dm @@ -355,7 +355,7 @@ /obj/item/weapon/card/id/event/attackby(obj/item/I as obj, var/mob/user) if(istype(I, /obj/item/weapon/card/id) && !accessset) var/obj/item/weapon/card/id/O = I - access |= O.access + access |= O.GetAccess() desc = I.desc rank = O.rank to_chat(user, "You copy the access from \the [I] to \the [src].") diff --git a/code/game/objects/items/weapons/id cards/syndicate_ids.dm b/code/game/objects/items/weapons/id cards/syndicate_ids.dm index aaf21fafb3..6841bb3ea7 100644 --- a/code/game/objects/items/weapons/id cards/syndicate_ids.dm +++ b/code/game/objects/items/weapons/id cards/syndicate_ids.dm @@ -29,7 +29,7 @@ if(!proximity) return if(istype(O, /obj/item/weapon/card/id)) var/obj/item/weapon/card/id/I = O - src.access |= I.access + src.access |= I.GetAccess() if(player_is_antag(user.mind) || registered_user == user) to_chat(user, "The microscanner activates as you pass it over the ID, copying its access.") diff --git a/code/modules/admin/verbs/modify_robot.dm b/code/modules/admin/verbs/modify_robot.dm index 4d4f0096b9..57944365e3 100644 --- a/code/modules/admin/verbs/modify_robot.dm +++ b/code/modules/admin/verbs/modify_robot.dm @@ -345,9 +345,9 @@ continue target.module_reset(FALSE) if(MODIFIY_ROBOT_TOGGLE_STATION_ACCESS) - if(target?.idcard?.access) + if(target?.idcard?.GetAccess()) var/obj/item/weapon/card/id/synthetic/card = target.idcard - if(access_synth in card.access) + if(access_synth in card.GetAccess()) card.access -= get_all_station_access() card.access -= access_synth to_chat(usr, "You revoke station access from [target].") @@ -356,9 +356,9 @@ card.access |= access_synth to_chat(usr, "You grant station access to [target].") if(MODIFIY_ROBOT_TOGGLE_CENT_ACCESS) - if(target?.idcard?.access) + if(target?.idcard?.GetAccess()) var/obj/item/weapon/card/id/synthetic/card = target.idcard - if(access_cent_specops in card.access) + if(access_cent_specops in card.GetAccess()) card.access -= get_all_centcom_access() to_chat(usr, "You revoke central access from [target].") else diff --git a/code/modules/clothing/under/accessories/badges.dm b/code/modules/clothing/under/accessories/badges.dm index 6e2b392331..cfc5a68e71 100644 --- a/code/modules/clothing/under/accessories/badges.dm +++ b/code/modules/clothing/under/accessories/badges.dm @@ -114,7 +114,7 @@ var/found = FALSE for(var/access in valid_access) - if(access in id_card.access || emagged) + if(access in id_card.GetAccess() || emagged) to_chat(user, "You imprint your ID details onto the badge.") set_name(user.real_name) found = TRUE diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index e8540dba54..b4c2def57e 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -524,8 +524,8 @@ ooc_notes_likes = AI.ooc_notes_likes ooc_notes_dislikes = AI.ooc_notes_dislikes to_chat(src, span_notice("You feel a tingle in your circuits as your systems interface with \the [initial(src.name)].")) - if(AI.idcard.access) - botcard.access |= AI.idcard.access + if(AI.idcard.GetAccess()) + botcard.access |= AI.idcard.GetAccess() /mob/living/bot/proc/ejectpai(mob/user) if(paicard) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index ecdcc1be9c..487a1d5402 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -501,7 +501,7 @@ if (idaccessible == 1) switch(tgui_alert(user, "Do you wish to add access to [src] or remove access from [src]?","Access Modify",list("Add Access","Remove Access", "Cancel"))) if("Add Access") - idcard.access |= ID.access + idcard.access |= ID.GetAccess() to_chat(user, "You add the access from the [W] to [src].") to_chat(src, "\The [user] swipes the [W] over you. You copy the access codes.") if(radio) diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index 905a6434be..8de2ea1a93 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -121,7 +121,7 @@ to_chat(user, "\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning.") return 0 - if(access_to_check in I.access) + if(access_to_check in I.GetAccess()) return 1 else if(loud) to_chat(user, "\The [computer] flashes an \"Access Denied\" warning.") diff --git a/code/modules/modular_computers/file_system/programs/antagonist/access_decrypter.dm b/code/modules/modular_computers/file_system/programs/antagonist/access_decrypter.dm index 11547e3426..4dbdc015fd 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/access_decrypter.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/access_decrypter.dm @@ -100,7 +100,7 @@ accesses.Add(list(list( "desc" = replacetext(get_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in id_card.access) ? 1 : 0 + "allowed" = (access in id_card.GetAccess()) ? 1 : 0 ))) regions.Add(list(list( @@ -109,4 +109,4 @@ ))) data["regions"] = regions - return data \ No newline at end of file + return data diff --git a/code/modules/modular_computers/file_system/programs/research/email_administration.dm b/code/modules/modular_computers/file_system/programs/research/email_administration.dm index fbcaf7df1b..6b8ff68b23 100644 --- a/code/modules/modular_computers/file_system/programs/research/email_administration.dm +++ b/code/modules/modular_computers/file_system/programs/research/email_administration.dm @@ -67,7 +67,7 @@ // High security - can only be operated when the user has an ID with access on them. var/obj/item/weapon/card/id/I = usr.GetIdCard() - if(!istype(I) || !(access_network in I.access)) + if(!istype(I) || !(access_network in I.GetAccess())) return TRUE switch(action) diff --git a/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm b/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm index eea7f5e306..05bbb55f1d 100644 --- a/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm +++ b/code/modules/modular_computers/file_system/programs/security/digitalwarrant.dm @@ -73,7 +73,7 @@ var/warrant_uid = 0 // which also use RFID scanning to allow or disallow access to some functions. Anyone can view warrants, editing requires ID. This also prevents situations where you show a tablet // to someone who is to be arrested, which allows them to change the stuff there. var/obj/item/weapon/card/id/I = usr.GetIdCard() - if(!istype(I) || !I.registered_name || !(access_security in I.access)) + if(!istype(I) || !I.registered_name || !(access_security in I.GetAccess())) to_chat(usr, "Authentication error: Unable to locate ID with appropriate access to allow this operation.") return @@ -136,7 +136,7 @@ var/warrant_uid = 0 if("editwarrantauth") . = TRUE - if(!(access_hos in I.access)) // VOREStation edit begin + if(!(access_hos in I.GetAccess())) // VOREStation edit begin to_chat(usr, "You don't have the access to do this!") return // VOREStation edit end activewarrant.fields["auth"] = "[I.registered_name] - [I.assignment ? I.assignment : "(Unknown)"]" diff --git a/code/modules/shieldgen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm index 35a1dc0bbf..2b56b7f613 100644 --- a/code/modules/shieldgen/shield_capacitor.dm +++ b/code/modules/shieldgen/shield_capacitor.dm @@ -40,7 +40,7 @@ if(istype(W, /obj/item/weapon/card/id)) var/obj/item/weapon/card/id/C = W - if((access_captain in C.access) || (access_security in C.access) || (access_engine in C.access)) + if((access_captain in C.GetAccess()) || (access_security in C.GetAccess()) || (access_engine in C.GetAccess())) src.locked = !src.locked to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") updateDialog() diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm index 2e2888a4be..ace49b21a9 100644 --- a/code/modules/shieldgen/shield_gen.dm +++ b/code/modules/shieldgen/shield_gen.dm @@ -60,7 +60,7 @@ /obj/machinery/shield_gen/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/weapon/card/id)) var/obj/item/weapon/card/id/C = W - if((access_captain in C.access) || (access_security in C.access) || (access_engine in C.access)) + if((access_captain in C.GetAccess()) || (access_security in C.GetAccess()) || (access_engine in C.GetAccess())) src.locked = !src.locked to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") updateDialog() diff --git a/code/modules/tgui/modules/_base.dm b/code/modules/tgui/modules/_base.dm index 80e49e6543..c77e93813b 100644 --- a/code/modules/tgui/modules/_base.dm +++ b/code/modules/tgui/modules/_base.dm @@ -56,7 +56,7 @@ Code is pretty much ripped verbatim from nano modules, but with un-needed stuff if(!I) return 0 - if(access in I.access) + if(access in I.GetAccess()) return 1 return 0 diff --git a/code/modules/tgui/modules/ntos-only/cardmod.dm b/code/modules/tgui/modules/ntos-only/cardmod.dm index b6e4a8063b..dcebc1e5b2 100644 --- a/code/modules/tgui/modules/ntos-only/cardmod.dm +++ b/code/modules/tgui/modules/ntos-only/cardmod.dm @@ -70,7 +70,7 @@ all_centcom_access.Add(list(list( "desc" = replacetext(get_centcom_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in id_card.access) ? 1 : 0))) + "allowed" = (access in id_card.GetAccess()) ? 1 : 0))) data["all_centcom_access"] = all_centcom_access else for(var/i in ACCESS_REGION_SECURITY to ACCESS_REGION_SUPPLY) @@ -80,7 +80,7 @@ accesses.Add(list(list( "desc" = replacetext(get_access_desc(access), " ", " "), "ref" = access, - "allowed" = (access in id_card.access) ? 1 : 0))) + "allowed" = (access in id_card.GetAccess()) ? 1 : 0))) regions.Add(list(list( "name" = get_region_accesses_name(i), @@ -143,7 +143,7 @@ "} var/known_access_rights = get_access_ids(ACCESS_TYPE_STATION|ACCESS_TYPE_CENTCOM) - for(var/A in id_card.access) + for(var/A in id_card.GetAccess()) if(A in known_access_rights) contents += " [get_access_desc(A)]" @@ -231,4 +231,3 @@ if(id_card) id_card.name = text("[id_card.registered_name]'s ID Card ([id_card.assignment])") -