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