diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 730735b8b3a22..80670e15a7ebf 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -21,7 +21,7 @@ var/state = WINDOW_OUT_OF_FRAME var/reinf = FALSE var/heat_resistance = 800 - var/decon_speed = 30 + var/decon_speed = 15 var/wtype = "glass" var/fulltile = FALSE var/glass_type = /obj/item/stack/sheet/glass @@ -203,7 +203,7 @@ if(!tool.tool_start_check(user, amount = 0)) return FALSE to_chat(user, span_notice("You begin repairing [src]...")) - if(tool.use_tool(src, user, 4 SECONDS, volume = 50)) + if(tool.use_tool(src, user, decon_speed, volume = 50)) atom_integrity = max_integrity update_nearby_icons() to_chat(user, span_notice("You repair [src].")) @@ -261,12 +261,12 @@ switch(state) if(WINDOW_IN_FRAME) to_chat(user, span_notice("You begin to lever the window out of the frame...")) - if(tool.use_tool(src, user, 10 SECONDS, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) + if(tool.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) state = WINDOW_OUT_OF_FRAME to_chat(user, span_notice("You pry the window out of the frame.")) if(WINDOW_OUT_OF_FRAME) to_chat(user, span_notice("You begin to lever the window back into the frame...")) - if(tool.use_tool(src, user, 5 SECONDS, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) + if(tool.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) state = WINDOW_SCREWED_TO_FRAME to_chat(user, span_notice("You pry the window back into the frame.")) else @@ -485,32 +485,18 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) switch(state) if(RWINDOW_SECURE) - if(tool.tool_behaviour == TOOL_WELDER) - if(tool.tool_start_check(user)) - user.visible_message(span_notice("[user] holds \the [tool] to the security screws on \the [src]..."), - span_notice("You begin heating the security screws on \the [src]...")) - if(tool.use_tool(src, user, 15 SECONDS, volume = 100)) - to_chat(user, span_notice("The security screws are glowing white hot and look ready to be removed.")) - state = RWINDOW_BOLTS_HEATED - addtimer(CALLBACK(src, PROC_REF(cool_bolts)), 30 SECONDS) - else if (tool.tool_behaviour) - to_chat(user, span_warning("The security screws need to be heated first!")) - - if(RWINDOW_BOLTS_HEATED) if(tool.tool_behaviour == TOOL_SCREWDRIVER) - user.visible_message(span_notice("[user] digs into the heated security screws and starts removing them..."), - span_notice("You dig into the heated screws hard and they start turning...")) - if(tool.use_tool(src, user, 50, volume = 50)) + to_chat(user, span_notice("You begin to unscrew the window from the frame...")) + if(tool.use_tool(src, user, decon_speed, volume = 50)) state = RWINDOW_BOLTS_OUT to_chat(user, span_notice("The screws come out, and a gap forms around the edge of the pane.")) else if (tool.tool_behaviour) - to_chat(user, span_warning("The security screws need to be removed first!")) + to_chat(user, span_warning("The screws need to be removed first!")) if(RWINDOW_BOLTS_OUT) if(tool.tool_behaviour == TOOL_CROWBAR) - user.visible_message(span_notice("[user] wedges \the [tool] into the gap in the frame and starts prying..."), - span_notice("You wedge \the [tool] into the gap in the frame and start prying...")) - if(tool.use_tool(src, user, 40, volume = 50)) + to_chat(user, span_notice("You wedge \the [tool] into the gap in the frame and start prying...")) + if(tool.use_tool(src, user, decon_speed, volume = 50)) state = RWINDOW_POPPED to_chat(user, span_notice("The panel pops out of the frame, exposing some thin metal bars that looks like they can be cut.")) else if (tool.tool_behaviour) @@ -518,9 +504,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) if(RWINDOW_POPPED) if(tool.tool_behaviour == TOOL_WIRECUTTER) - user.visible_message(span_notice("[user] starts cutting the exposed bars on \the [src]..."), - span_notice("You start cutting the exposed bars on \the [src]")) - if(tool.use_tool(src, user, 20, volume = 50)) + to_chat(user, span_notice("You start cutting the exposed bars on \the [src]")) + if(tool.use_tool(src, user, decon_speed, volume = 50)) state = RWINDOW_BARS_CUT to_chat(user, span_notice("The panels falls out of the way exposing the frame bolts.")) else if (tool.tool_behaviour) @@ -528,9 +513,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) if(RWINDOW_BARS_CUT) if(tool.tool_behaviour == TOOL_WRENCH) - user.visible_message(span_notice("[user] starts unfastening \the [src] from the frame..."), - span_notice("You start unfastening the bolts from the frame...")) - if(tool.use_tool(src, user, 40, volume = 50)) + to_chat(user, span_notice("You start unfastening the bolts from the frame...")) + if(tool.use_tool(src, user, decon_speed, volume = 50)) to_chat(user, span_notice("You unscrew the bolts from the frame and the window pops loose.")) state = WINDOW_OUT_OF_FRAME set_anchored(FALSE) @@ -549,15 +533,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) if((obj_flags & NO_DECONSTRUCTION) || (state != WINDOW_OUT_OF_FRAME)) return FALSE to_chat(user, span_notice("You begin to lever the window back into the frame...")) - if(tool.use_tool(src, user, 10 SECONDS, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) + if(tool.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) state = RWINDOW_SECURE to_chat(user, span_notice("You pry the window back into the frame.")) return ITEM_INTERACT_SUCCESS -/obj/structure/window/proc/cool_bolts() - if(state == RWINDOW_BOLTS_HEATED) - state = RWINDOW_SECURE - visible_message(span_notice("The bolts on \the [src] look like they've cooled off...")) /obj/structure/window/reinforced/examine(mob/user) . = ..() @@ -565,9 +545,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/unanchored/spawner, 0) return switch(state) if(RWINDOW_SECURE) - . += span_notice("It's been screwed in with one way screws, you'd need to heat them to have any chance of backing them out.") - if(RWINDOW_BOLTS_HEATED) - . += span_notice("The screws are glowing white hot, and you'll likely be able to unscrew them now.") + . += span_notice("The window is screwed to the frame.") if(RWINDOW_BOLTS_OUT) . += span_notice("The screws have been removed, revealing a small gap you could fit a prying tool in.") if(RWINDOW_POPPED)