diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index a179a6e14ce..c2c5f5f9888 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -77,6 +77,15 @@ for reference:
else
return
return
+ else if (istype(W, /obj/item/weapon/crowbar))
+ user.changeNext_move(CLICK_CD_MELEE)
+ user.visible_message("[user] is prying apart \the [src].", "You begin to pry apart \the [src].")
+ playsound(src, 'sound/items/Crowbar.ogg', 200, 1)
+
+ if(do_after(user, 300, target = src) && src && !src.gcDestroyed)
+ user.visible_message("[user] pries apart \the [src].", "You pry apart \the [src].")
+ dismantle()
+ return
else
switch(W.damtype)
if("fire")
@@ -86,10 +95,7 @@ for reference:
else
if (src.health <= 0)
visible_message("\red The barricade is smashed apart!")
- new /obj/item/stack/sheet/wood(get_turf(src))
- new /obj/item/stack/sheet/wood(get_turf(src))
- new /obj/item/stack/sheet/wood(get_turf(src))
- qdel(src)
+ dismantle()
..()
ex_act(severity)
@@ -102,10 +108,7 @@ for reference:
src.health -= 25
if (src.health <= 0)
visible_message("\red The barricade is blown apart!")
- new /obj/item/stack/sheet/wood(get_turf(src))
- new /obj/item/stack/sheet/wood(get_turf(src))
- new /obj/item/stack/sheet/wood(get_turf(src))
- qdel(src)
+ dismantle()
return
blob_act()
@@ -123,6 +126,12 @@ for reference:
else
return 0
+ proc/dismantle()
+ new /obj/item/stack/sheet/wood(get_turf(src))
+ new /obj/item/stack/sheet/wood(get_turf(src))
+ new /obj/item/stack/sheet/wood(get_turf(src))
+ qdel(src)
+
//Actual Deployable machinery stuff