diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index d4eb99c613..45ad642a18 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -30,6 +30,19 @@
..()
CalculateAffectingAreas()
+/obj/machinery/door/firedoor/examine(mob/user)
+ ..()
+ if(!density)
+ to_chat(user, "It is open, but could be pried closed.")
+ else
+ if(!welded)
+ to_chat(user, "It is closed, but could be pried open. Deconstruction would require it to be welded shut.")
+ else
+ if(boltslocked)
+ to_chat(user, "It is welded shut. The floor bolt have been locked by screws.")
+ else
+ to_chat(user, "The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor.")
+
/obj/machinery/door/firedoor/proc/CalculateAffectingAreas()
remove_from_areas()
affecting_areas = get_adjacent_open_areas(src) | get_area(src)
@@ -64,7 +77,6 @@
latetoggle()
else
stat |= NOPOWER
- return
/obj/machinery/door/firedoor/attack_hand(mob/user)
if(operating || !density)
@@ -96,8 +108,8 @@
deconstruct(TRUE)
return
if(istype(C, /obj/item/weapon/screwdriver))
- user.visible_message("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts...", \
- "You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts...")
+ user.visible_message("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts.", \
+ "You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts.")
playsound(get_turf(src), C.usesound, 50, 1)
boltslocked = !boltslocked
return
@@ -108,10 +120,14 @@
return
/obj/machinery/door/firedoor/try_to_weld(obj/item/weapon/weldingtool/W, mob/user)
- if(W.remove_fuel(0, user))
- welded = !welded
- to_chat(user, "You [welded?"welded":"unwelded"] \the [src]")
- update_icon()
+ if(W.remove_fuel(0, user))
+ playsound(get_turf(src), W.usesound, 50, 1)
+ user.visible_message("[user] starts [welded ? "unwelding" : "welding"] [src].", "You start welding [src].")
+ if(do_after(user, 40*W.toolspeed, 1, target=src))
+ playsound(get_turf(src), W.usesound, 50, 1)
+ welded = !welded
+ to_chat(user, "[user] [welded?"welds":"unwelds"] [src].", "You [welded ? "weld" : "unweld"] [src].")
+ update_icon()
/obj/machinery/door/firedoor/try_to_crowbar(obj/item/I, mob/user)
if(welded || operating)
@@ -243,13 +259,15 @@
..()
switch(constructionStep)
if(CONSTRUCTION_PANEL_OPEN)
- to_chat(user, "There is a small metal plate covering the wires.")
+ to_chat(user, "It is unbolted from the floor. A small loosely connected metal plate is covering the wires.")
+ if(!reinforced)
+ to_chat(user, "It could be reinforced with plasteel.")
if(CONSTRUCTION_WIRES_EXPOSED)
- to_chat(user, "Wires are trailing from the maintenance panel.")
+ to_chat(user, "The maintenance plate has been pried away, and wires are trailing.")
if(CONSTRUCTION_GUTTED)
- to_chat(user, "The circuit board is visible.")
+ to_chat(user, "The maintenance panel is missing wires and the circuit board is loosely connected.")
if(CONSTRUCTION_NOCIRCUIT)
- to_chat(user, "There are no electronics in the frame.")
+ to_chat(user, "There are no firelock electronics in the frame. The frame could be cut apart.")
/obj/structure/firelock_frame/update_icon()
..()
@@ -329,19 +347,17 @@
constructionStep = CONSTRUCTION_GUTTED
update_icon()
return
- if(istype(C, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/W = C
- if(W.remove_fuel(1, user))
- playsound(get_turf(src), W.usesound, 50, 1)
- user.visible_message("[user] starts welding a metal plate into [src]...", \
- "You begin welding the cover plate back onto [src]...")
- if(!do_after(user, 80*C.toolspeed, target = src))
- return
- if(constructionStep != CONSTRUCTION_WIRES_EXPOSED)
- return
- playsound(get_turf(src), 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user] welds the metal plate into [src].", \
- "You weld [src]'s cover plate into place, hiding the wires.")
+ if(istype(C, /obj/item/weapon/crowbar))
+ playsound(get_turf(src), C.usesound, 50, 1)
+ user.visible_message("[user] starts prying a metal plate into [src]...", \
+ "You begin prying the cover plate back onto [src]...")
+ if(!do_after(user, 80*C.toolspeed, target = src))
+ return
+ if(constructionStep != CONSTRUCTION_WIRES_EXPOSED)
+ return
+ playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
+ user.visible_message("[user] pries the metal plate into [src].", \
+ "You pry [src]'s cover plate into place, hiding the wires.")
constructionStep = CONSTRUCTION_PANEL_OPEN
update_icon()
return
@@ -419,4 +435,10 @@
/obj/structure/firelock_frame/heavy
name = "heavy firelock frame"
- reinforced = 1
\ No newline at end of file
+ reinforced = 1
+
+#undef CONSTRUCTION_COMPLETE
+#undef CONSTRUCTION_PANEL_OPEN
+#undef CONSTRUCTION_WIRES_EXPOSED
+#undef CONSTRUCTION_GUTTED
+#undef CONSTRUCTION_NOCIRCUIT