From fbcd1a302606593356bd9d5924d31ff99711ab41 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 16 Jun 2021 01:26:02 +0300 Subject: [PATCH] https://github.com/tgstation/tgstation/pull/55883 With a minor tweak so humans don't benefit --- .../nanites/nanite_programs/utility.dm | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index 72bf9b6026..feb726ded4 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -207,24 +207,23 @@ //Syncs the nanites with the cumulative current mob's access level. Can potentially wipe existing access. /datum/nanite_program/access/on_trigger(comm_message) - var/list/new_access = list() - var/obj/item/current_item - current_item = host_mob.get_active_held_item() - if(current_item) - new_access += current_item.GetAccess() - current_item = host_mob.get_inactive_held_item() - if(current_item) - new_access += current_item.GetAccess() + var/list/potential_items = list() + + potential_items += host_mob.get_active_held_item() + potential_items += host_mob.get_inactive_held_item() + if(ishuman(host_mob)) var/mob/living/carbon/human/H = host_mob - current_item = H.wear_id - if(current_item) - new_access += current_item.GetAccess() + potential_items += H.wear_id else if(isanimal(host_mob)) + potential_items += host_mob.pulling var/mob/living/simple_animal/A = host_mob - current_item = A.access_card - if(current_item) - new_access += current_item.GetAccess() + potential_items += A.access_card + + var/list/new_access = list() + for(var/obj/item/I in potential_items) + new_access += I.GetAccess() + access = new_access /datum/nanite_program/spreading