diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index c2a98ae7c84..4f7c4dfad82 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -76,20 +76,16 @@
else
user << "You need five length of cable to wire the frame!"
return
- if(istype(P, /obj/item/weapon/weldingtool) && !anchored)
- var/obj/item/weapon/weldingtool/WT = P
- if(WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user] disassembles the frame.", \
- "You start to disassemble the frame...", "You hear welding and clanking.")
- if(do_after(user, 40, target = src))
- if( !WT.isOn() )
- return
- if(state == 1)
- user << "You disassemble the frame."
- var/obj/item/stack/sheet/metal/M = new (loc, 5)
- M.add_fingerprint(user)
- qdel(src)
+ if(istype(P, /obj/item/weapon/screwdriver) && !anchored)
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ user.visible_message("[user] disassembles the frame.", \
+ "You start to disassemble the frame...", "You hear banging and clanking.")
+ if(do_after(user, 40, target = src))
+ if(state == 1)
+ user << "You disassemble the frame."
+ var/obj/item/stack/sheet/metal/M = new (loc, 5)
+ M.add_fingerprint(user)
+ qdel(src)
if(istype(P, /obj/item/weapon/wrench))
user << "You start [anchored ? "un" : ""]securing [name]..."
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 49aa0a97127..1a8f43b7b7a 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -2,6 +2,7 @@
#define GIRDER_REINF_STRUTS 1
#define GIRDER_REINF 2
#define GIRDER_DISPLACED 3
+#define GIRDER_DISASSEMBLED 4
/obj/structure/girder
name = "girder"
@@ -14,19 +15,18 @@
/obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob, params)
add_fingerprint(user)
- if(istype(W, /obj/item/weapon/weldingtool) && state == GIRDER_DISPLACED)
- var/obj/item/weapon/weldingtool/WT = W
- if(WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user] disassembles the girder.", \
- "You start to disassemble the girder...", "You hear welding and clanking.")
- if(do_after(user, 40, target = src))
- if( !WT.isOn() )
- return
- user << "You disassemble the girder."
- var/obj/item/stack/sheet/metal/M = new (loc, 2)
- M.add_fingerprint(user)
- qdel(src)
+ if(istype(W, /obj/item/weapon/screwdriver) && state == GIRDER_DISPLACED)
+ playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
+ user.visible_message("[user] disassembles the girder.", \
+ "You start to disassemble the girder...", "You hear clanking and banging noises.")
+ if(do_after(user, 40, target = src))
+ if(state == GIRDER_DISASSEMBLED)
+ return
+ state = GIRDER_DISASSEMBLED
+ user << "You disassemble the girder."
+ var/obj/item/stack/sheet/metal/M = new (loc, 2)
+ M.add_fingerprint(user)
+ qdel(src)
else if(istype(W, /obj/item/weapon/wrench) && state == GIRDER_DISPLACED)
if (!istype(src.loc, /turf/simulated/floor))