diff --git a/code/modules/clothing/spacesuits/rig/modules/storage.dm b/code/modules/clothing/spacesuits/rig/modules/storage.dm index b64f0728611..938b5dbdf86 100644 --- a/code/modules/clothing/spacesuits/rig/modules/storage.dm +++ b/code/modules/clothing/spacesuits/rig/modules/storage.dm @@ -25,6 +25,9 @@ . = ..() +/obj/item/rig_module/storage/accepts_item(obj/item/input_item, mob/living/user) + return pockets.attackby(input_item, user) + /obj/item/rig/mouse_drop_dragged(atom/over, mob/user, src_location, over_location, params) var/obj/item/rig_module/storage/storage = locate() in installed_modules if(storage && !storage.pockets.handle_mousedrop(user, over)) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 428723e3e81..be33bacec7c 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -133,6 +133,10 @@ var/ui_configure_ref +/obj/item/rig/mechanics_hints(mob/user, distance, is_adjacent) + . += ..() + . += "" + /obj/item/rig/get_examine_text(mob/user, distance, is_adjacent, infix, suffix) . = ..() if(wearer) diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index 14c511e0f2b..bb63309d344 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -57,8 +57,11 @@ if(open) - // Hacking. - wires.interact(user) + // Wirecutters and multitools should always interact with the wiring while + // the maintenance panel is open. + if(attacking_item.tool_behaviour == TOOL_WIRECUTTER || attacking_item.tool_behaviour == TOOL_MULTITOOL) + wires.interact(user) + return // Air tank. if(istype(attacking_item,/obj/item/tank)) //Todo, some kind of check for suits without integrated air supplies. @@ -190,6 +193,7 @@ removed.removed() installed_modules -= removed update_icon() + return else if(istype(attacking_item,/obj/item/stack/nanopaste)) //EMP repair var/obj/item/stack/S = attacking_item @@ -200,15 +204,15 @@ malfunction_delay = 0 else to_chat(user, SPAN_WARNING("\The [S] is empty!")) - - return + return // If we've gotten this far, all we have left to do before we pass off to root procs // is check if any of the loaded modules want to use the item we've been given. for(var/obj/item/rig_module/module in installed_modules) if(module.accepts_item(attacking_item, user)) //Item is handled in this proc return - ..() + + return ..() /obj/item/rig/attack_hand(var/mob/user) diff --git a/html/changelogs/geeves-rig_passthrough.yml b/html/changelogs/geeves-rig_passthrough.yml new file mode 100644 index 00000000000..50f203cd280 --- /dev/null +++ b/html/changelogs/geeves-rig_passthrough.yml @@ -0,0 +1,7 @@ +author: Geeves + +delete-after: True + +changes: + - qol: "Clicking a hardsuit with an item now attempts to place it into the suit's mounted storage, unless the item is used to interact with the hardsuit or one of its modules." + - qol: "Added helpful examine text to hardsuits, describing how to use them."