diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index cfaaac8a60..2dd33fd5f6 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -76,4 +76,34 @@ return ..() +// A special pen for service droids. Can be toggled to switch between normal writting mode, and paper rename mode +// Allows service droids to rename paper items. + +/obj/item/weapon/pen/robopen + desc = "A black ink printing attachment with a paper naming mode." + name = "Printing Pen" + var/mode = 1 + +/obj/item/weapon/pen/robopen/attack_self(mob/user as mob) + playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) + if (mode == 1) + mode = 2 + user << "Changed printing mode to 'Rename Paper'" + return + if (mode == 2) + mode = 1 + user << "Changed printing mode to 'Write Paper'" + +/obj/item/weapon/pen/robopen/proc/RenamePaper(mob/user as mob,obj/paper as obj) + if ( !user || !paper ) + return + var/n_name = input(user, "What would you like to label the paper?", "Paper Labelling", null) as text + if ( !user || !paper ) + return + + n_name = copytext(n_name, 1, 32) + if(( get_dist(user,paper) <= 1 && user.stat == 0)) + paper.name = "paper[(n_name ? text("- '[n_name]'") : null)]" + add_fingerprint(user) + return diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 40ccc5a96d..7f97fa87bc 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -170,7 +170,7 @@ ..() src.modules += new /obj/item/weapon/reagent_containers/food/drinks/beer(src) src.modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src) - src.modules += new /obj/item/weapon/pen(src) + src.modules += new /obj/item/weapon/pen/robopen(src) var/obj/item/weapon/rsf/M = new /obj/item/weapon/rsf(src) M.matter = 30 diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index c007425c9b..ccaf59f8d2 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -264,7 +264,10 @@ clown = 1 if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon)) - user << browse("[name][info_links][stamps]", "window=[name]") + if ( istype(P, /obj/item/weapon/pen/robopen) && P:mode == 2 ) + P:RenamePaper(user,src) + else + user << browse("[name][info_links][stamps]", "window=[name]") //openhelp(user) return else if(istype(P, /obj/item/weapon/stamp))