diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 7d9286384e4..04f67cee1c1 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -119,7 +119,6 @@
var/obj/item/note
/// The seal on the airlock
var/obj/item/seal
- var/detonated = FALSE
var/abandoned = FALSE
/// Controls if the door closes quickly or not. FALSE = the door autocloses in 1.5 seconds, TRUE = 8 seconds - see autoclose_in()
var/normalspeed = TRUE
@@ -701,8 +700,9 @@
switch (held_item?.tool_behaviour)
if (TOOL_SCREWDRIVER)
- context[SCREENTIP_CONTEXT_LMB] = panel_open ? "Close panel" : "Open panel"
- return CONTEXTUAL_SCREENTIP_SET
+ if(has_access_panel)
+ context[SCREENTIP_CONTEXT_LMB] = panel_open ? "Close panel" : "Open panel"
+ return CONTEXTUAL_SCREENTIP_SET
if (TOOL_CROWBAR)
if (panel_open)
if (security_level == AIRLOCK_SECURITY_PLASTEEL_O_S || security_level == AIRLOCK_SECURITY_PLASTEEL_I_S)
@@ -746,9 +746,6 @@
if(obj_flags & EMAGGED)
to_chat(user, span_warning("Unable to interface: Airlock is unresponsive."))
return
- if(detonated)
- to_chat(user, span_warning("Unable to interface. Airlock control panel damaged."))
- return
ui_interact(user)
@@ -858,7 +855,7 @@
set_electrified(MACHINE_ELECTRIFIED_PERMANENT)
/obj/machinery/door/airlock/screwdriver_act(mob/living/user, obj/item/tool)
- if(panel_open && detonated)
+ if(!has_access_panel)
to_chat(user, span_warning("[src] has no maintenance panel!"))
return ITEM_INTERACT_SUCCESS
toggle_panel_open()
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index 5449f7f7cee..67605ac1446 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -34,6 +34,8 @@
/// A filler object used to fill the space of multi-tile airlocks
var/obj/structure/fluff/airlock_filler/filler
var/welded = FALSE
+ ///Whether this door has a panel or not; FALSE also stops the examine blurb about the panel from showing up
+ var/has_access_panel = TRUE
/// For rglass-windowed airlocks and firedoors
var/heat_proof = FALSE
/// Emergency access override
@@ -122,7 +124,8 @@
. += span_notice("Due to a security threat, its access requirements have been lifted!")
else
. += span_notice("In the event of a red alert, its access requirements will automatically lift.")
- . += span_notice("Its maintenance panel is [panel_open ? "open" : "screwed in place"].")
+ if(has_access_panel)
+ . += span_notice("Its maintenance panel is [panel_open ? "open" : "screwed in place"].")
/obj/machinery/door/add_context(atom/source, list/context, obj/item/held_item, mob/user)
. = ..()
diff --git a/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm b/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm
index 8be91920719..9a5d3a3db86 100644
--- a/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm
+++ b/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm
@@ -162,12 +162,12 @@
use_power = NO_POWER_USE
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
id_tag = "derelictvault"
+ has_access_panel = FALSE
-///Overrides screwdriver attack to prevent all deconstruction and hacking.
-/obj/machinery/door/airlock/vault/derelict/attackby(obj/item/C, mob/user, params)
- if(C.tool_behaviour == TOOL_SCREWDRIVER)
- return
- ..()
+///Overrides screwdriver act to prevent all deconstruction and hacking. Override for extra tuff fluff
+/obj/machinery/door/airlock/vault/derelict/screwdriver_act(mob/living/user, obj/item/tool)
+ to_chat(user, span_danger("The robust make of [src] makes it impossible to access the panel in any way!"))
+ return ITEM_INTERACT_SUCCESS
/obj/structure/fluff/oldturret
name = "broken turret"