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))