diff --git a/modular_ss220/spy_spider/code/spy_spider.dm b/modular_ss220/spy_spider/code/spy_spider.dm
index 8e568041fe81..a278ab02cd5d 100644
--- a/modular_ss220/spy_spider/code/spy_spider.dm
+++ b/modular_ss220/spy_spider/code/spy_spider.dm
@@ -51,6 +51,12 @@
*/
/obj/item/clothing
var/obj/item/radio/spy_spider/spy_spider_attached
+ var/mob/living/carbon/human/found_by = null
+
+/obj/item/clothing/examine(mob/user)
+ . = ..()
+ if (found_by == user)
+ . += "\tСнять жучок"
/obj/item/clothing/Destroy()
QDEL_NULL(spy_spider_attached)
@@ -82,16 +88,27 @@
to_chat(user, span_info("Ты незаметно прикрепляешь жучок к [src]."))
return TRUE
-/obj/item/clothing/proc/remove_spy_spider()
- if(!ishuman(usr))
- return
- var/mob/living/carbon/human/user = usr
+/obj/item/clothing/proc/on_spy_spider_detect()
+ var/obj/item/clothing/I = src
+ I.found_by = usr
+
+/obj/item/clothing/Topic(href, href_list)
+
+ if(!usr.stat && !HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) && !usr.restrained())
+ if(!in_range(src, usr))
+ to_chat(usr, span_info("Тебе нужно подойти ближе, чтобы снять жучок с [src]."))
+ return
+ if(href_list["remove_spy_spider"])
+ var/time_taken = 5
+ var/obj/item/I = locate(href_list["remove_spy_spider"])
+ if(do_after(usr, time_taken, needhand = 1, target = src))
+ I.forceMove(get_turf(src))
+ usr.put_in_hands(I)
+ usr.emote("scream") // remove
+ usr.visible_message("[usr] Что-то снимает с [src] !","Вы успешно снимаете жучок с [src].")
+ src.spy_spider_attached = null
+ src.found_by = null
- if(spy_spider_attached)
- if(!user.put_in_any_hand_if_possible(spy_spider_attached, del_on_fail = FALSE))
- var/turf/user_loc = get_turf(user)
- spy_spider_attached.forceMove(user_loc)
- spy_spider_attached = null
/**
* HUMAN PART
@@ -141,6 +158,6 @@
if(scanned_clothing.spy_spider_attached)
sleep(1 SECONDS)
add_log(span_info("Найдено шпионское устройство!"))
- scanned_clothing.remove_spy_spider()
+ scanned_clothing.on_spy_spider_detect()
scanning = FALSE