diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 6b8e5affdd1..02035e17f95 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -7,7 +7,7 @@
desc = "A huge chunk of metal used to seperate rooms."
icon = 'icons/turf/walls/wall.dmi'
icon_state = "wall"
- var/rotting = 0
+ var/rotting = FALSE
var/damage = 0
var/damage_cap = 100 //Wall will break down to girders if damage reaches this point
@@ -28,7 +28,7 @@
var/can_dismantle_with_welder = TRUE
var/hardness = 40 //lower numbers are harder. Used to determine the probability of a hulk smashing through.
- var/slicing_duration = 100
+ var/slicing_duration = 10 SECONDS
var/engraving //engraving on the wall
var/engraving_quality
var/list/dent_decals
@@ -76,7 +76,7 @@
if(!damage)
if(damage_overlay)
overlays -= damage_overlays[damage_overlay]
- damage_overlay = 0
+ damage_overlay = null
return
var/overlay = round(damage / damage_cap * damage_overlays.len) + 1
@@ -330,38 +330,38 @@
to_chat(user, "You burn off the fungi with [I].")
return
- if(!I.tool_use_check(user, 0)) //Wall repair stuff
+ // Wall repair stuff
+ if(!I.tool_use_check(user, 0))
return
- var/time_required = slicing_duration
- var/intention
- if(can_dismantle_with_welder)
- intention = "Dismantle"
- if(damage || LAZYLEN(dent_decals))
- intention = "Repair"
+ var/repairing
+ var/time
+ if(user.a_intent == INTENT_HARM) // Harm intent
if(can_dismantle_with_welder)
- var/moved_away = user.loc
- intention = alert(user, "Would you like to repair or dismantle [src]?", "[src]", "Repair", "Dismantle")
- if(user.loc != moved_away)
- to_chat(user, "Stay still while doing this!")
- return
- if(intention == "Repair")
- time_required = max(5, damage / 5)
- if(!intention)
- return
- if(intention == "Dismantle")
- WELDER_ATTEMPT_SLICING_MESSAGE
- else
- WELDER_ATTEMPT_REPAIR_MESSAGE
- if(I.use_tool(src, user, time_required, volume = I.tool_volume))
- if(intention == "Dismantle")
- WELDER_SLICING_SUCCESS_MESSAGE
- dismantle_wall()
+ repairing = FALSE
+ time = slicing_duration
+ WELDER_ATTEMPT_SLICING_MESSAGE
else
+ return
+
+ else // Any other intents
+ if(damage || LAZYLEN(dent_decals))
+ repairing = TRUE
+ time = max(5, damage / 5)
+ WELDER_ATTEMPT_REPAIR_MESSAGE
+ else
+ to_chat(user, "[src] doesn't need repairing.")
+ return
+
+ if(I.use_tool(src, user, time, volume = I.tool_volume))
+ if(repairing)
WELDER_REPAIR_SUCCESS_MESSAGE
cut_overlay(dent_decals)
- dent_decals?.Cut()
+ dent_decals?.Cut() // I feel like this isn't needed but it can't hurt to keep it in anyway
take_damage(-damage)
+ else
+ WELDER_SLICING_SUCCESS_MESSAGE
+ dismantle_wall()
/turf/simulated/wall/proc/try_rot(obj/item/I, mob/user, params)
if((!is_sharp(I) && I.force >= 10) || I.force >= 20)