From 0069da9768efb5e7f2a4ae2ff4633b1971d9a47f Mon Sep 17 00:00:00 2001 From: Alan Date: Sun, 17 May 2026 14:42:24 -0400 Subject: [PATCH] Migrate folders to the new attack chain. (#31994) * Migrate folders to the new attack chain. * Apply suggestions from CRUNCH review. Co-authored-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com> Signed-off-by: Alan * Add more fingerprints. --------- Signed-off-by: Alan Co-authored-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com> --- code/modules/paperwork/folders.dm | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 933d4d1c2b0..81216e493e7 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -7,6 +7,7 @@ pressure_resistance = 2 resistance_flags = FLAMMABLE materials = list(MAT_CARDBOARD = 2000) + new_attack_chain = TRUE /obj/item/folder/emp_act(severity) ..() @@ -35,18 +36,24 @@ if(length(contents)) . += "folder_paper" -/obj/item/folder/attackby__legacy__attackchain(obj/item/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo) || istype(W, /obj/item/paper_bundle) || istype(W, /obj/item/documents)) +/obj/item/folder/item_interaction(mob/user, obj/item/used, list/modifiers) + if(istype(used, /obj/item/paper) || istype(used, /obj/item/photo) || istype(used, /obj/item/paper_bundle) || istype(used, /obj/item/documents)) user.drop_item() - W.loc = src - to_chat(user, SPAN_NOTICE("You put [W] into [src].")) + used.forceMove(src) + to_chat(user, SPAN_NOTICE("You put [used] into [src].")) update_icon(UPDATE_OVERLAYS) - else if(is_pen(W)) - rename_interactive(user, W) - else - return ..() + add_fingerprint(user) + return ITEM_INTERACT_COMPLETE -/obj/item/folder/attack_self__legacy__attackchain(mob/user as mob) + if(is_pen(used)) + rename_interactive(user, used) + add_fingerprint(user) + return ITEM_INTERACT_COMPLETE + return ..() + +/obj/item/folder/activate_self(mob/user) + if(!user) + return ..() var/dat = {"[name]"} for(var/obj/item/paper/P in src) @@ -60,7 +67,7 @@ user << browse(dat, "window=folder") onclose(user, "folder") add_fingerprint(usr) - return + return ITEM_INTERACT_COMPLETE /obj/item/folder/Topic(href, href_list) ..() @@ -90,7 +97,7 @@ onclose(usr, "[P.name]") //Update everything - attack_self__legacy__attackchain(usr) + activate_self(usr) update_icon(UPDATE_OVERLAYS) return