From 6652780b6c4eb1bf15e090c96a844fce5299fe95 Mon Sep 17 00:00:00 2001 From: grungussuss <96586172+grungussuss@users.noreply.github.com> Date: Tue, 8 Jul 2025 02:40:57 +0300 Subject: [PATCH] moves /obj/item/disk/holodisk/attackby to item_interaction (#91923) ## About The Pull Request title ## Changelog :cl: refactor: refactored how holodisk to holodisk interactions work, report any issues! /:cl: --- code/datums/holocall.dm | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index 1f36421c14f..1c6590acd64 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -232,21 +232,27 @@ QDEL_NULL(record) return ..() -/obj/item/disk/holodisk/attackby(obj/item/item, mob/user, list/modifiers, list/attack_modifiers) - if(istype(item, /obj/item/disk/holodisk)) - var/obj/item/disk/holodisk/holodiskOriginal = item - if (holodiskOriginal.record) - if (!record) - record = new - record.caller_name = holodiskOriginal.record.caller_name - record.caller_image = holodiskOriginal.record.caller_image - record.entries = holodiskOriginal.record.entries.Copy() - record.language = holodiskOriginal.record.language - to_chat(user, span_notice("You copy the record from [holodiskOriginal] to [src] by connecting the ports!")) - name = holodiskOriginal.name - else - to_chat(user, span_warning("[holodiskOriginal] has no record on it!")) - ..() +/obj/item/disk/holodisk/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, /obj/item/disk/holodisk)) + return NONE + + var/obj/item/disk/holodisk/holodisk_original = tool + + if (!holodisk_original.record) + to_chat(user, span_warning("[holodisk_original] has no record on it!")) + return ITEM_INTERACT_BLOCKING + + if (!record) + record = new + + record.caller_name = holodisk_original.record.caller_name + record.caller_image = holodisk_original.record.caller_image + record.entries = holodisk_original.record.entries.Copy() + record.language = holodisk_original.record.language + to_chat(user, span_notice("You copy the record from [holodisk_original] to [src] by connecting the ports!")) + name = holodisk_original.name + + return ITEM_INTERACT_SUCCESS /obj/item/disk/holodisk/proc/build_record() record = new