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)
+ . += ..()
+ . += "
- Using: Place the hardsuit on your back, open the Hardsuit tab, then click Engage/Disengage Hardsuit.
- Removing: Click Engage/Disengage Hardsuit again, then remove the hardsuit from your back once it disengages.
- Storage: If the suit has storage and an item fits, clicking the hardsuit with that item will place it inside. To open the storage, hold the hardsuit and click it with an empty hand, or middle-click it while standing nearby.
- Maintenance: Use a crowbar to open or close the maintenance panel. When the panel is open, a screwdriver removes the battery or upgrades, a wrench removes the air tank, and wirecutters or a multitool provide access to the wires.
"
+
/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."