diff --git a/code/game/objects/items/weapons/storage/artistic_toolbox.dm b/code/game/objects/items/weapons/storage/artistic_toolbox.dm
index 0c0e2b03b3c..f1422186ab8 100644
--- a/code/game/objects/items/weapons/storage/artistic_toolbox.dm
+++ b/code/game/objects/items/weapons/storage/artistic_toolbox.dm
@@ -26,41 +26,48 @@
if(istype(M))
to_chat(user, "His Grace [flags & NODROP ? "releases from" : "binds to"] your hand!")
flags ^= NODROP
+ else if(!activated && loc == user)
+ if(link_user(user))
+ to_chat(user, "Call to His Grace again if you wish it bound to your hand!")
else
to_chat(user, "You can't seem to understand what this does.")
/obj/item/storage/toolbox/green/memetic/attack_hand(mob/living/carbon/user)
- if(loc == user)
- if(!activated)
- if(ishuman(user) && !user.HasDisease(new /datum/disease/memetic_madness(0)))
- activated = TRUE
- user.ForceContractDisease(new /datum/disease/memetic_madness(0))
- for(var/datum/disease/memetic_madness/DD in user.viruses)
- DD.progenitor = src
- servantlinks.Add(DD)
- break
- force += 4
- throwforce += 4
- SEND_SOUND(user, 'sound/goonstation/effects/screech.ogg')
- shake_camera(user, 20, 1)
- var/acount = 0
- var/amax = rand(10, 15)
- var/up_and_down
- var/asize = 1
- while(acount <= amax)
- up_and_down += "a"
- if(acount > (amax * 0.5))
- asize--
- else
- asize++
- acount++
- to_chat(user, "[up_and_down]")
- to_chat(user, "His Grace accepts thee, spread His will! All who look close to the Enlightened may share His gifts.")
- original_owner = user
- return
+ if(!activated && loc == user)
+ link_user(user)
+ return
..()
+/obj/item/storage/toolbox/green/memetic/proc/link_user(mob/living/carbon/user)
+ if(ishuman(user) && !user.HasDisease(new /datum/disease/memetic_madness(0)))
+ activated = TRUE
+ user.ForceContractDisease(new /datum/disease/memetic_madness(0))
+ for(var/datum/disease/memetic_madness/DD in user.viruses)
+ DD.progenitor = src
+ servantlinks.Add(DD)
+ break
+ force += 4
+ throwforce += 4
+ SEND_SOUND(user, 'sound/goonstation/effects/screech.ogg')
+ shake_camera(user, 20, 1)
+ var/acount = 0
+ var/amax = rand(10, 15)
+ var/up_and_down
+ var/asize = 1
+ while(acount <= amax)
+ up_and_down += "a"
+ if(acount > (amax * 0.5))
+ asize--
+ else
+ asize++
+ acount++
+ to_chat(user, "[up_and_down]")
+ to_chat(user, "His Grace accepts thee, spread His will! All who look close to the Enlightened may share His gifts.")
+ original_owner = user
+ return TRUE
+ return FALSE
+
/obj/item/storage/toolbox/green/memetic/attackby(obj/item/I, mob/user)
if(activated)
if(istype(I, /obj/item/grab))