diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index d1c7222485..1a07696998 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -245,11 +245,13 @@ /obj/machinery/telecomms/proc/canInteract(mob/user) var/get = user.get_active_held_item() var/obj/item/I = get - if(I.tool_behaviour == TOOL_MULTITOOL) - return TRUE + if(!isAI(user)) + if(I.tool_behaviour == TOOL_MULTITOOL) + return TRUE if(hasSiliconAccessInArea(user)) return TRUE return FALSE + // Check if the user is nearby and has a multitool. /obj/machinery/telecomms/proc/canAccess(mob/user) if((canInteract(user) && in_range(user, src)) || hasSiliconAccessInArea(user)) @@ -262,11 +264,11 @@ return null var/obj/item/P = user.get_active_held_item() // Is the ref not a null? and is it the actual type? - if(P.tool_behaviour == TOOL_MULTITOOL) - return P - else if(isAI(user)) + if(isAI(user)) var/mob/living/silicon/ai/U = user P = U.aiMulti + else if(P.tool_behaviour == TOOL_MULTITOOL) + return P else if(iscyborg(user) && in_range(user, src)) var/get = user.get_active_held_item() var/obj/item/I = get