diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm
index 21ad71f329f..103ae32b58c 100644
--- a/code/game/objects/structures/fence.dm
+++ b/code/game/objects/structures/fence.dm
@@ -3,6 +3,7 @@
#define CUT_TIME 100
#define CLIMB_TIME 150
+#define FULL_CUT_TIME 300
#define NO_HOLE 0 //section is intact
#define MEDIUM_HOLE 1 //medium hole in the section - can climb through
@@ -88,29 +89,34 @@
. = TRUE
if(shock(user, 100))
return
- if(!cuttable)
- to_chat(user, "This section of the fence can't be cut!")
- return
if(invulnerable)
to_chat(user, "This fence is too strong to cut through!")
return
+ if(!cuttable)
+ user.visible_message("[user] starts dismantling [src] with [W].",\
+ "You start dismantling [src] with [W].")
+ if(W.use_tool(src, user, FULL_CUT_TIME, volume = W.tool_volume))
+ user.visible_message("[user] completely dismantles [src].",\
+ "You completely dismantle [src].")
+ qdel(src)
+ return
var/current_stage = hole_size
- user.visible_message("\The [user] starts cutting through \the [src] with \the [W].",\
- "You start cutting through \the [src] with \the [W].")
+ user.visible_message("[user] starts cutting through [src] with [W].",\
+ "You start cutting through [src] with [W].")
if(W.use_tool(src, user, CUT_TIME * W.toolspeed, volume = W.tool_volume))
if(current_stage == hole_size)
switch(hole_size)
if(NO_HOLE)
- visible_message("\The [user] cuts into \the [src] some more.")
- to_chat(user, "You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger.")
+ user.visible_message("[user] cuts into [src] some more.",\
+ "You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger.")
hole_size = MEDIUM_HOLE
if(MEDIUM_HOLE)
- visible_message("\The [user] completely cuts through \the [src].")
- to_chat(user, "The hole in \the [src] is now big enough to walk through.")
+ user.visible_message("[user] completely cuts through [src].",\
+ "The hole in [src] is now big enough to walk through.")
hole_size = LARGE_HOLE
if(LARGE_HOLE)
- visible_message("\The [user] completely dismantles \the [src].")
- to_chat(user, "You completely take apart \the [src].")
+ user.visible_message("[user] completely dismantles [src].",\
+ "You completely take apart [src].")
qdel(src)
return
update_cut_status()
@@ -208,6 +214,7 @@
#undef CUT_TIME
#undef CLIMB_TIME
+#undef FULL_CUT_TIME
#undef NO_HOLE
#undef MEDIUM_HOLE