From 8210dd4322da2b0752138bb1807a000db48375df Mon Sep 17 00:00:00 2001 From: Geeves Date: Tue, 28 Apr 2020 15:19:18 +0200 Subject: [PATCH] Modular Computer Examine Fix (#8737) --- code/game/jobs/access.dm | 8 ++-- .../mob/living/carbon/human/examine.dm | 37 +++++++++---------- .../geeves-modular_comp_examine.yml | 8 ++++ 3 files changed, 30 insertions(+), 23 deletions(-) create mode 100644 html/changelogs/geeves-modular_comp_examine.yml diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index ebb293c8a53..d9297835d19 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -237,15 +237,15 @@ var/obj/item/card/id/all_access/ghost_all_access return botcard /mob/living/carbon/human/GetIdCard() + if(wear_id) + var/id = wear_id.GetID() + if(id) + return id var/obj/item/I = get_active_hand() if(I) var/id = I.GetID() if(id) return id - if(wear_id) - var/id = wear_id.GetID() - if(id) - return id if(gloves) var/id = gloves.GetID() if(id) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 4f232fb5f17..6dc968cd35e 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -132,10 +132,16 @@ //gloves if(gloves && !skipgloves) + var/gloves_name = gloves + if(istype(wear_id, /obj/item/modular_computer)) + var/obj/item/modular_computer/C = wear_id + var/obj/item/card/id/ID = C.GetID() + if(ID) + gloves_name = "[C.name] ([ID.registered_name] ([ID.assignment]))" if(gloves.blood_color) - msg += "[T.He] [T.has] \icon[gloves] [gloves.gender==PLURAL?"some":"a"] [fluid_color_type_map(gloves.blood_color)]-stained [gloves.name] on [T.his] hands!\n" + msg += "[T.He] [T.has] \icon[gloves] [gloves.gender==PLURAL?"some":"a"] [fluid_color_type_map(gloves.blood_color)]-stained [gloves_name] on [T.his] hands!\n" else - msg += "[T.He] [T.has] \icon[gloves] \a [gloves] on [T.his] hands.\n" + msg += "[T.He] [T.has] \icon[gloves] \a [gloves_name] on [T.his] hands.\n" else if(blood_color) msg += "[T.He] [T.has] [fluid_color_type_map(hand_blood_color)]-stained hands!\n" @@ -190,17 +196,13 @@ //ID if(wear_id) - /*var/id - if(istype(wear_id, /obj/item/device/pda)) - var/obj/item/device/pda/pda = wear_id - id = pda.owner - else if(istype(wear_id, /obj/item/card/id)) //just in case something other than a PDA/ID card somehow gets in the ID slot :c - var/obj/item/card/id/idcard = wear_id - id = idcard.registered_name - if(id && (id != real_name) && (get_dist(src, usr) <= 1) && prob(10)) - msg += "[T.He] [T.is] wearing \icon[wear_id] \a [wear_id] yet something doesn't seem right...\n" - else*/ - msg += "[T.He] [T.is] wearing \icon[wear_id] \a [wear_id].\n" + var/id_name = wear_id + if(istype(wear_id, /obj/item/modular_computer)) + var/obj/item/modular_computer/C = wear_id + var/obj/item/card/id/ID = C.GetID() + if(ID) + id_name = "[C.name] ([ID.registered_name] ([ID.assignment]))" + msg += "[T.He] [T.is] wearing \icon[wear_id] \a [id_name].\n" //Jitters if(is_jittery) @@ -351,12 +353,9 @@ var/perpname = "wot" var/medical = "None" - if(wear_id) - if(istype(wear_id,/obj/item/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner + var/obj/item/card/id/ID = GetIdCard() + if(ID) + perpname = ID.registered_name else perpname = src.name diff --git a/html/changelogs/geeves-modular_comp_examine.yml b/html/changelogs/geeves-modular_comp_examine.yml new file mode 100644 index 00000000000..ae24ee75e9f --- /dev/null +++ b/html/changelogs/geeves-modular_comp_examine.yml @@ -0,0 +1,8 @@ +author: Geeves + +delete-after: True + +changes: + - bugfix: "Examining someone with a modular computer on their ID or gloves slot will now show the ID info if there's one inside." + - bugfix: "Security and medical HUDs now get the proper person info if the person has the ID in their modular computer." + - tweak: "Things that check your ID will now primarily use the ID in your slot, rather than the one in your hands." \ No newline at end of file