From ddc51bd5d806ccbedfdd1c0470185c3cd9f4c4f5 Mon Sep 17 00:00:00 2001
From: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Date: Thu, 14 May 2026 08:54:25 -0400
Subject: [PATCH] Adds screentips to grilles, moves deconstruction to RMB.
(#95903)
---
code/game/objects/structures/grille.dm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index ec618d60831..77e80e95dc4 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -31,6 +31,7 @@
/obj/structure/grille/Initialize(mapload)
. = ..()
AddElement(/datum/element/atmos_sensitive, mapload)
+ register_context()
/obj/structure/grille/Destroy()
update_cable_icons_on_turf(get_turf(src))
@@ -59,9 +60,19 @@
if(resistance_flags & INDESTRUCTIBLE)
return
if(anchored)
- . += span_notice("It's secured in place with screws. The rods look like they could be cut through.")
+ . += span_notice("It's secured in place with [EXAMINE_HINT("screws")]. The rods look like they could be [EXAMINE_HINT("cut")] through.")
else
- . += span_notice("The anchoring screws are unscrewed. The rods look like they could be cut through.")
+ . += span_notice("The anchoring screws are [EXAMINE_HINT("unscrewed")]. The rods look like they could be [EXAMINE_HINT("cut")] through.")
+
+/obj/structure/grille/add_context(atom/source, list/context, obj/item/held_item, mob/user)
+ . = ..()
+ if(held_item?.tool_behaviour == TOOL_WIRECUTTER)
+ context[SCREENTIP_CONTEXT_RMB] = "Deconstruct"
+ return CONTEXTUAL_SCREENTIP_SET
+ if(held_item?.tool_behaviour == TOOL_SCREWDRIVER)
+ context[SCREENTIP_CONTEXT_LMB] = "[anchored ? "Unanchor" : "Anchor"]"
+ return CONTEXTUAL_SCREENTIP_SET
+ return .
/obj/structure/grille/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
switch(the_rcd.mode)
@@ -199,7 +210,7 @@
return TRUE
return FALSE
-/obj/structure/grille/wirecutter_act(mob/living/user, obj/item/tool)
+/obj/structure/grille/wirecutter_act_secondary(mob/living/user, obj/item/tool)
add_fingerprint(user)
if(shock(user, 100))
return