diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index 4b6d445a3db..95aa9e2af9a 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -140,7 +140,7 @@ Pipelines + Other Objects -> Pipe network
user << "As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?"
unsafe_wrenching = TRUE //Oh dear oh dear
- if (do_after(user, 20, target = src) && !gc_destroyed)
+ if (do_after(user, 20/W.toolspeed, target = src) && !gc_destroyed)
user.visible_message( \
"[user] unfastens \the [src].", \
"You unfasten \the [src].", \
diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
index 8af67d3555a..67581c3aa98 100644
--- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
@@ -266,7 +266,7 @@
if (WT.remove_fuel(0,user))
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
user << "You begin welding the vent..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
if(!welded)
diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
index ac52a1d1178..c67090bf6d5 100644
--- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
@@ -297,7 +297,7 @@
if(WT.remove_fuel(0,user))
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
user << "Now welding the scrubber."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/W.toolspeed, target = src))
if(!src || !WT.isOn())
return
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 23b3667caeb..80cd214ec74 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -75,7 +75,7 @@ var/bomb_set
if(istype(I, /obj/item/weapon/screwdriver/nuke))
playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1)
user << "You start removing [src]'s front panel's screws..."
- if(do_after(user, 60,target=src))
+ if(do_after(user, 60/I.toolspeed,target=src))
deconstruction_state = NUKESTATE_UNSCREWED
user << "You remove the screws from [src]'s front panel."
update_icon()
@@ -84,7 +84,7 @@ var/bomb_set
if(istype(I, /obj/item/weapon/crowbar))
user << "You start removing [src]'s front panel..."
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
- if(do_after(user,30,target=src))
+ if(do_after(user,30/I.toolspeed,target=src))
user << "You remove [src]'s front panel."
deconstruction_state = NUKESTATE_PANEL_REMOVED
update_icon()
@@ -95,7 +95,7 @@ var/bomb_set
playsound(loc, 'sound/items/Welder.ogg', 100, 1)
user << "You start cutting [src]'s inner plate..."
if(welder.remove_fuel(1,user))
- if(do_after(user,80,target=src))
+ if(do_after(user,80/I.toolspeed,target=src))
user << "You cut [src]'s inner plate."
deconstruction_state = NUKESTATE_WELDED
update_icon()
@@ -104,7 +104,7 @@ var/bomb_set
if(istype(I, /obj/item/weapon/crowbar))
user << "You start prying off [src]'s inner plate..."
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
- if(do_after(user,50,target=src))
+ if(do_after(user,50/I.toolspeed,target=src))
user << "You pry off [src]'s inner plate. You can see the core's green glow!"
deconstruction_state = NUKESTATE_CORE_EXPOSED
update_icon()
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 0d8dc0c0e56..10d8d09d843 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -734,7 +734,7 @@
user.visible_message("[user.name] removes the electronics from [src.name].",\
"You start prying out the circuit...")
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
- if (do_after(user, 20, target = src))
+ if (do_after(user, 20/W.toolspeed, target = src))
if (buildstage == 1)
user <<"You remove the air alarm electronics."
new /obj/item/weapon/electronics/airalarm( src.loc )
@@ -956,7 +956,7 @@ FIRE ALARM
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
user.visible_message("[user.name] removes the electronics from [src.name].", \
"You start prying out the circuit...")
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/W.toolspeed, target = src))
if(buildstage == 1)
if(stat & BROKEN)
user << "You remove the destroyed circuit."
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 621bd8221b1..fed2393ef09 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -95,7 +95,7 @@
if (istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You begin to unfasten \the [src]..."
- if (do_after(user, 40, target = src))
+ if (do_after(user, 40/W.toolspeed, target = src))
user.visible_message( \
"[user] unfastens \the [src].", \
"You unfasten \the [src].", \
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index 19e4235007a..838cc8ddc9b 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -94,7 +94,7 @@
if(!device && !board && istype(W, /obj/item/weapon/wrench))
user << "You start unsecuring the button frame..."
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
user << "You unsecure the button frame."
transfer_fingerprints_to(new /obj/item/wallframe/button(get_turf(src)))
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index dffd5241c8c..db965e30f6a 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -309,7 +309,7 @@
if(istype(P, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You start wrenching the frame into place..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/P.toolspeed, target = src))
user << "You wrench the frame into place."
anchored = 1
state = 1
@@ -321,7 +321,7 @@
return
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
user << "You start deconstructing the frame..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/P.toolspeed, target = src))
if(!src || !WT.isOn()) return
user << "You deconstruct the frame."
var/obj/item/stack/sheet/metal/M = new (loc, 5)
@@ -331,7 +331,7 @@
if(istype(P, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You start to unfasten the frame..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/P.toolspeed, target = src))
user << "You unfasten the frame."
anchored = 0
state = 0
@@ -372,7 +372,7 @@
if(C.get_amount() >= 5)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "You start adding cables to the frame..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/P.toolspeed, target = src))
if(C.get_amount() >= 5 && state == 2)
C.use(5)
user << "You add cables to the frame."
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 4e83a662499..0ff76ba9274 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -90,11 +90,11 @@
update_icon()
return
-/obj/machinery/computer/attackby(obj/I, mob/user, params)
+/obj/machinery/computer/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << " You start to disconnect the monitor..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/I.toolspeed, target = src))
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
A.circuit = circuit
A.anchored = 1
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index e781f80f81c..4cd84a452be 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -67,7 +67,7 @@
if(C.get_amount() >= 5)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "You start to add cables to the frame..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/P.toolspeed, target = src))
if(C.get_amount() >= 5 && state == 1)
C.use(5)
user << "You add cables to the frame."
@@ -80,7 +80,7 @@
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(do_after(user, 40/P.toolspeed, target = src))
if(state == 1)
user << "You disassemble the frame."
var/obj/item/stack/sheet/metal/M = new (loc, 5)
@@ -89,7 +89,7 @@
if(istype(P, /obj/item/weapon/wrench))
user << "You start [anchored ? "un" : ""]securing [name]..."
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/P.toolspeed, target = src))
if(state == 1)
user << "You [anchored ? "un" : ""]secure [name]."
anchored = !anchored
@@ -98,7 +98,7 @@
if(istype(P, /obj/item/weapon/wrench))
user << "You start [anchored ? "un" : ""]securing [name]..."
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/P.toolspeed, target = src))
user << "You [anchored ? "un" : ""]secure [name]."
anchored = !anchored
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 3eb9c4243e3..f03cb2eaa8b 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -797,7 +797,7 @@ About the new airlock wires panel:
updateUsrDialog()
return
-/obj/machinery/door/airlock/attackby(obj/C, mob/user, params)
+/obj/machinery/door/airlock/attackby(obj/item/C, mob/user, params)
if(!istype(usr, /mob/living/silicon))
if(src.isElectrified())
if(src.shock(user, 75))
@@ -816,7 +816,7 @@ About the new airlock wires panel:
"You begin [welded ? "unwelding":"welding"] the airlock...", \
"You hear welding.")
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
- if(do_after(user,40,5,1, target = src))
+ if(do_after(user,40/C.toolspeed,5,1, target = src))
if(density && !operating)//Door must be closed to weld.
if( !istype(src, /obj/machinery/door/airlock) || !user || !W || !W.isOn() || !user.loc )
return
@@ -847,7 +847,7 @@ About the new airlock wires panel:
if(p_open && charge)
user << "You carefully start removing [charge] from [src]..."
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
- if(!do_after(user, 150, target = src))
+ if(!do_after(user, 150/C.toolspeed, target = src))
user << "You slip and [charge] detonates!"
charge.ex_act(1)
user.Weaken(3)
@@ -861,7 +861,7 @@ About the new airlock wires panel:
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] removes the electronics from the airlock assembly.", \
"You start to remove electronics from the airlock assembly...")
- if(do_after(user,40, target = src))
+ if(do_after(user,40/C.toolspeed, target = src))
if(src.loc)
if(src.doortype)
var/obj/structure/door_assembly/A = new src.doortype(src.loc)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 2d85875a50b..9e23c4b60c3 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -54,7 +54,7 @@
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
user.visible_message("[user] starts undoing [src]'s bolts...", \
"You start unfastening [src]'s floor bolts...")
- if(!do_after(user, 50, target = src)) return
+ if(!do_after(user, 50/C.toolspeed, target = src)) return
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
user.visible_message("[user] unfastens [src]'s bolts.", \
"You undo [src]'s floor bolts.")
@@ -208,7 +208,7 @@
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
user.visible_message("[user] starts prying something out from [src]...", \
"You begin prying out the wire cover...")
- if(!do_after(user, 50, target = src)) return
+ if(!do_after(user, 50/C.toolspeed, target = src)) return
if(constructionStep != CONSTRUCTION_PANEL_OPEN) return
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
user.visible_message("[user] pries out a metal plate from [src], exposing the wires.", \
@@ -220,7 +220,7 @@
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
user.visible_message("[user] starts bolting down [src]...", \
"You begin bolting [src]...")
- if(!do_after(user, 30, target = src)) return
+ if(!do_after(user, 30/C.toolspeed, target = src)) return
user.visible_message("[user] finishes the firelock.", \
"You finish the firelock.")
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
@@ -235,7 +235,7 @@
playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1)
user.visible_message("[user] starts cutting the wires from [src]...", \
"You begin removing [src]'s wires...")
- if(!do_after(user, 60, target = src)) return
+ if(!do_after(user, 60/C.toolspeed, target = src)) return
if(constructionStep != CONSTRUCTION_WIRES_EXPOSED) return
user.visible_message("[user] removes the wires from [src].", \
"You remove the wiring from [src], exposing the circuit board.")
@@ -250,7 +250,7 @@
playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1)
user.visible_message("[user] starts welding a metal plate into [src]...", \
"You begin welding the cover plate back onto [src]...")
- if(!do_after(user, 80, target = src)) return
+ if(!do_after(user, 80/C.toolspeed, target = src)) return
if(constructionStep != CONSTRUCTION_WIRES_EXPOSED) return
playsound(get_turf(src), 'sound/items/Welder2.ogg', 50, 1)
user.visible_message("[user] welds the metal plate into [src].", \
@@ -263,7 +263,7 @@
user.visible_message("[user] begins removing the circuit board from [src]...", \
"You begin prying out the circuit board from [src]...")
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
- if(!do_after(user, 50, target = src)) return
+ if(!do_after(user, 50/C.toolspeed, target = src)) return
if(constructionStep != CONSTRUCTION_GUTTED) return
user.visible_message("[user] removes [src]'s circuit board.", \
"You remove the circuit board from [src].")
@@ -296,7 +296,7 @@
playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1)
user.visible_message("[user] begins cutting apart [src]'s frame...", \
"You begin slicing [src] apart...")
- if(!do_after(user, 80, target = src)) return
+ if(!do_after(user, 80/C.toolspeed, target = src)) return
if(constructionStep != CONSTRUCTION_NOCIRCUIT) return
user.visible_message("[user] cuts apart [src]!", \
"You cut [src] into metal.")
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 1ca5d29b760..5d7c87cccd5 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -279,7 +279,7 @@
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] removes the electronics from the [src.name].", \
"You start to remove electronics from the [src.name]...")
- if(do_after(user,40, target = src))
+ if(do_after(user,40/I.toolspeed, target = src))
if(src.p_open && !src.density && !src.operating && src.loc)
var/obj/structure/windoor_assembly/WA = new /obj/structure/windoor_assembly(src.loc)
switch(base_state)
diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm
index 86bdf54f452..1917c75065f 100644
--- a/code/game/machinery/droneDispenser.dm
+++ b/code/game/machinery/droneDispenser.dm
@@ -201,7 +201,7 @@
playsound(src, 'sound/items/Welder.ogg', 50, 1)
user.visible_message("[user] begins patching up [src] with [WT].", \
"You begin restoring the damage to [src]...")
- if(!do_after(user, 40, target = src))
+ if(!do_after(user, 40/O.toolspeed, target = src))
return
if(!src || !WT.remove_fuel(1, user)) return
user.visible_message("[user] fixes [src]!", \
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index 407db623ab9..c261956806f 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -43,7 +43,7 @@
if (bulb)
user.visible_message("[user] begins to disconnect [src]'s flashbulb.", "You begin to disconnect [src]'s flashbulb...")
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
- if(do_after(user, 30, target = src) && bulb)
+ if(do_after(user, 30/W.toolspeed, target = src) && bulb)
user.visible_message("[user] has disconnected [src]'s flashbulb!", "You disconnect [src]'s flashbulb.")
bulb.loc = src.loc
bulb = null
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 1c2c307973c..56d0ebeb3d9 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -326,7 +326,7 @@ Class Procs:
if(istype(W))
user << "You begin [anchored ? "un" : ""]securing [name]..."
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, time, target = src))
+ if(do_after(user, time/W.toolspeed, target = src))
user << "You [anchored ? "un" : ""]secure [name]."
anchored = !anchored
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index a0b3c353862..3eedfeec907 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -723,7 +723,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(istype(I, /obj/item/weapon/wrench))
user << "You start [anchored ? "un" : ""]securing [name]..."
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, 60, target = src))
+ if(do_after(user, 60/I.toolspeed, target = src))
user << "You [anchored ? "un" : ""]secure [name]."
new /obj/item/wallframe/newscaster(loc)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index a23489333ea..64be7f512b5 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -81,7 +81,7 @@
if (!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You begin to fasten \the [src] to the floor..."
- if (do_after(user, 40, target = src))
+ if (do_after(user, 40/W.toolspeed, target = src))
add_fingerprint(user)
user.visible_message( \
"[user] fastens \the [src].", \
@@ -94,7 +94,7 @@
else if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You begin to unfasten \the [src] from the floor..."
- if (do_after(user, 20, target = src))
+ if (do_after(user, 20/W.toolspeed, target = src))
add_fingerprint(user)
user.visible_message( \
"[user] unfastens \the [src].", \
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 53570ee256d..dfd806fab82 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -734,7 +734,7 @@
playsound(loc, pick('sound/items/Welder.ogg', 'sound/items/Welder2.ogg'), 50, 1)
user << "You start to remove the turret's interior metal armor..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/I.toolspeed, target = src))
if(!src || !WT.remove_fuel(5, user)) return
build_step = 1
user << "You remove the turret's interior metal armor."
@@ -810,7 +810,7 @@
playsound(loc, pick('sound/items/Welder.ogg', 'sound/items/Welder2.ogg'), 50, 1)
user << "You begin to weld the turret's armor down..."
- if(do_after(user, 30, target = src))
+ if(do_after(user, 30/I.toolspeed, target = src))
if(!src || !WT.remove_fuel(5, user))
return
build_step = 8
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 053485e1d40..179eff07051 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -530,7 +530,7 @@
user.visible_message("[user] starts removing [src]'s damaged wires.", \
"You begin removing the damaged wires from [src]...")
playsound(src, 'sound/items/Wirecutter.ogg', 50, 1)
- if(!do_after(user, 30, target = src))
+ if(!do_after(user, 30/I.toolspeed, target = src))
return
user.visible_message("[user] removes the damaged wires from [src].", \
"You remove the damaged wiring from [src].")
@@ -560,7 +560,7 @@
user.visible_message("[user] starts removing [src]'s broken interior plating.", \
"You begin removing the damaged interior plating from [src]...")
playsound(src, 'sound/items/Crowbar.ogg', 50, 1)
- if(!do_after(user, 30, target = src))
+ if(!do_after(user, 30/I.toolspeed, target = src))
return
user.visible_message("[user] removes the damaged interior plating from [src].", \
"You remove the damaged interior plating from [src].")
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 0a460ac7b83..b15607062af 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -97,6 +97,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
var/flags_cover = 0 //for flags such as GLASSESCOVERSEYES
var/heat = 0
var/sharpness = IS_BLUNT
+ var/toolspeed = 1
/obj/item/proc/check_allowed_items(atom/target, not_inside, target_self)
if(((src in target) && !target_self) || ((!istype(target.loc, /turf)) && (!istype(target, /turf)) && (not_inside)) || is_type_in_list(target, can_be_placed_into))
diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm
index 49b124453b7..b3e4214e7af 100644
--- a/code/game/objects/items/devices/geiger_counter.dm
+++ b/code/game/objects/items/devices/geiger_counter.dm
@@ -122,7 +122,7 @@
return 0
user.visible_message("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards...", "You begin resetting [src]...")
playsound(user, 'sound/items/Screwdriver.ogg', 50, 1)
- if(!do_after(user, 40, target = user))
+ if(!do_after(user, 40/I.toolspeed, target = user))
return 0
user.visible_message("[user] refastens [src]'s maintenance panel!", "You reset [src] to its factory settings!")
playsound(user, 'sound/items/Screwdriver2.ogg', 50, 1)
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index 39a8afa9ff8..d5d116a4392 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -17,6 +17,7 @@
origin_tech = "magnets=1;engineering=1"
var/obj/machinery/buffer // simple machine buffer for device linkage
hitsound = 'sound/weapons/tap.ogg'
+ toolspeed = 1
// Syndicate device disguised as a multitool; it will turn red when an AI camera is nearby.
diff --git a/code/game/objects/items/devices/pizza_bomb.dm b/code/game/objects/items/devices/pizza_bomb.dm
index 1e6d2a5244b..3bcfbdc464d 100644
--- a/code/game/objects/items/devices/pizza_bomb.dm
+++ b/code/game/objects/items/devices/pizza_bomb.dm
@@ -76,7 +76,7 @@
user << "You can't see the box well enough to cut the wires out!"
return
user.visible_message("[user] starts removing the payload and wires from \the [src].", "You start removing the payload and wires from \the [src]...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/I.toolspeed, target = src))
playsound(src, 'sound/items/Wirecutter.ogg', 50, 1, 1)
user.unEquip(src)
user.visible_message("[user] removes the insides of \the [src]!", "You remove the insides of \the [src].")
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 2266c0aacc0..2c3baa3985e 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -269,7 +269,7 @@
/obj/item/device/tape/attackby(obj/item/I, mob/user, params)
if(ruined && istype(I, /obj/item/weapon/screwdriver))
user << "You start winding the tape back in..."
- if(do_after(user, 120, target = src))
+ if(do_after(user, 120/I.toolspeed, target = src))
user << "You wound the tape back in."
fix()
diff --git a/code/game/objects/items/nuke_tools.dm b/code/game/objects/items/nuke_tools.dm
index f8a0a093a12..dc36d390d6c 100644
--- a/code/game/objects/items/nuke_tools.dm
+++ b/code/game/objects/items/nuke_tools.dm
@@ -66,6 +66,7 @@
icon = 'icons/obj/nuke_tools.dmi'
icon_state = "screwdriver_nuke"
item_state = "screwdriver_nuke"
+ toolspeed = 2
/obj/item/weapon/screwdriver/nuke/New()
//to skip screwdriver icon update
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index 181dd0a771a..a91ba35482c 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -34,14 +34,14 @@
/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W, mob/user, params)
if(locked)
if (istype(W, /obj/item/weapon/screwdriver))
- if (do_after(user, 20, target = src))
+ if (do_after(user, 20/W.toolspeed, target = src))
src.open =! src.open
user.show_message(text("You [] the service panel.", (src.open ? "open" : "close")))
return
if ((istype(W, /obj/item/device/multitool)) && (src.open == 1)&& (!src.l_hacking))
user.show_message(text("Now attempting to reset internal memory, please hold."), 1)
src.l_hacking = 1
- if (do_after(usr, 100, target = src))
+ if (do_after(usr, 100/W.toolspeed, target = src))
if (prob(40))
src.l_setshort = 1
src.l_set = 0
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 8d9cdb1d80e..f878422481f 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -27,6 +27,7 @@
materials = list(MAT_METAL=150)
origin_tech = "materials=1;engineering=1"
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
+ toolspeed = 1
/obj/item/weapon/wrench/suicide_act(mob/user)
user.visible_message("[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.")
@@ -51,6 +52,7 @@
materials = list(MAT_METAL=75)
attack_verb = list("stabbed")
hitsound = 'sound/weapons/bladeslice.ogg'
+ toolspeed = 1
/obj/item/weapon/screwdriver/suicide_act(mob/user)
user.visible_message(pick("[user] is stabbing the [src.name] into \his temple! It looks like \he's trying to commit suicide.", \
@@ -114,6 +116,7 @@
origin_tech = "materials=1;engineering=1"
attack_verb = list("pinched", "nipped")
hitsound = 'sound/items/Wirecutter.ogg'
+ toolspeed = 1
/obj/item/weapon/wirecutters/New(loc, var/param_color = null)
..()
@@ -165,6 +168,7 @@
var/can_off_process = 0
var/light_intensity = 2 //how powerful the emitted light is when used.
heat = 3800
+ toolspeed = 1
/obj/item/weapon/weldingtool/New()
..()
@@ -429,6 +433,7 @@
change_icons = 0
can_off_process = 1
light_intensity = 1
+ toolspeed = 2
//Proc to make the experimental welder generate fuel, optimized as fuck -Sieve
@@ -465,6 +470,7 @@
materials = list(MAT_METAL=50)
origin_tech = "engineering=1"
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
+ toolspeed = 1
/obj/item/weapon/crowbar/suicide_act(mob/user)
user.visible_message("[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.")
@@ -485,3 +491,4 @@
throw_range = 3
materials = list(MAT_METAL=70)
icon_state = "crowbar_large"
+ toolspeed = 2
diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm
index b56722da39d..7b97f9cc674 100644
--- a/code/game/objects/structures/ai_core.dm
+++ b/code/game/objects/structures/ai_core.dm
@@ -16,7 +16,7 @@
if(istype(P, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You start wrenching the frame into place..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/P.toolspeed, target = src))
user << "You wrench the frame into place."
anchored = 1
state = 1
@@ -27,7 +27,7 @@
return
playsound(loc, 'sound/items/Welder.ogg', 50, 1)
user << "You start to deconstruct the frame..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/P.toolspeed, target = src))
if(!src || !WT.remove_fuel(0, user)) return
user << "You deconstruct the frame."
new /obj/item/stack/sheet/plasteel( loc, 4)
@@ -36,7 +36,7 @@
if(istype(P, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You start to unfasten the frame..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/P.toolspeed, target = src))
user << "You unfasten the frame."
anchored = 0
state = 0
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index fc34408821c..cdf69fe37b9 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -213,7 +213,7 @@
return
user << "You begin cutting \the [src] apart..."
playsound(loc, cutting_sound, 40, 1)
- if(do_after(user,40,5,1, target = src))
+ if(do_after(user,40/W.toolspeed,5,1, target = src))
if( !opened || !istype(src, /obj/structure/closet) || !user || !WT || !WT.isOn() || !user.loc )
return
playsound(loc, cutting_sound, 50, 1)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 4f7d765d7c0..bdeda3da687 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -126,7 +126,7 @@
qdel(src)
return
user << "You start to [open ? "close":"open"] the [src]"
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/W.toolspeed, target = src))
user << "You [open ? "close":"open"] the [src]"
open = !open
update_icon()
@@ -187,7 +187,7 @@
if(istype(I, /obj/item/weapon/wrench))
user << "You start disassembling [src]..."
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, 30, target = src))
+ if(do_after(user, 30/I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
new /obj/item/stack/sheet/mineral/wood(get_turf(src))
qdel(src)
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index d1c53fa6d5f..e7df765745b 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -460,7 +460,7 @@
"You start to disassemble the airlock assembly...")
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if( !WT.isOn() )
return
user << "You disassemble the airlock assembly."
@@ -492,7 +492,7 @@
"You start to secure the airlock assembly to the floor...", \
"You hear wrenching.")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if( src.anchored )
return
user << "You secure the airlock assembly."
@@ -506,7 +506,7 @@
user.visible_message("[user] unsecures the airlock assembly from the floor.", \
"You start to unsecure the airlock assembly from the floor...", \
"You hear wrenching.")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if( !src.anchored )
return
user << "You unsecure the airlock assembly."
@@ -532,7 +532,7 @@
user.visible_message("[user] cuts the wires from the airlock assembly.", \
"You start to cut the wires from the airlock assembly...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if( src.state != 1 )
return
user << "You cut the wires from the airlock assembly."
@@ -562,7 +562,7 @@
user.visible_message("[user] removes the electronics from the airlock assembly.", \
"You start to remove electronics from the airlock assembly...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if( src.state != 2 )
return
user << "You remove the airlock electronics."
@@ -625,7 +625,7 @@
user.visible_message("[user] finishes the airlock.", \
"You start finishing the airlock...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(src.loc && state == 2)
user << "You finish the airlock."
var/obj/machinery/door/airlock/door
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 5b1b6e07594..295499ee016 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -20,7 +20,7 @@
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(do_after(user, 40/W.toolspeed, target = src))
if(state != GIRDER_DISPLACED)
return
state = GIRDER_DISASSEMBLED
@@ -31,7 +31,7 @@
else if(state == GIRDER_REINF)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user << "You start unsecuring support struts..."
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(state != GIRDER_REINF)
return
user << "You unsecure the support struts."
@@ -44,7 +44,7 @@
return
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
user << "You start securing the girder..."
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
user << "You secure the girder."
var/obj/structure/girder/G = new (loc)
transfer_fingerprints_to(G)
@@ -52,7 +52,7 @@
else if(state == GIRDER_NORMAL)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
user << "You start unsecuring the girder..."
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
user << "You unsecure the girder."
var/obj/structure/girder/displaced/D = new (loc)
transfer_fingerprints_to(D)
@@ -77,7 +77,7 @@
else if(istype(W, /obj/item/weapon/wirecutters) && state == GIRDER_REINF_STRUTS)
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
user << "You start removing support struts..."
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
user << "You remove the support struts."
new /obj/item/stack/sheet/plasteel(get_turf(src))
var/obj/structure/girder/G = new (loc)
@@ -125,7 +125,7 @@
transfer_fingerprints_to(T)
qdel(src)
return
-
+
if(!istype(W,/obj/item/stack/sheet))
return
@@ -322,7 +322,7 @@
if(WT.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
user << "You start slicing apart the girder..."
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if( !WT.isOn() )
return
user << "You slice apart the girder."
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index aa6b7d59ecf..a02c6ea02f8 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -80,7 +80,7 @@
mybag.attackby(I, user)
else if(istype(I, /obj/item/weapon/crowbar))
user.visible_message("[user] begins to empty the contents of [src].", "You begin to empty the contents of [src]...")
- if(do_after(user, 30, target = src))
+ if(do_after(user, 30/I.toolspeed, target = src))
usr << "You empty the contents of [src]'s bucket onto the floor."
reagents.reaction(src.loc)
src.reagents.clear_reagents()
diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm
index 4bc45ba6bcf..14ad3320de6 100644
--- a/code/game/objects/structures/kitchen_spike.dm
+++ b/code/game/objects/structures/kitchen_spike.dm
@@ -40,7 +40,7 @@
if(istype(I, /obj/item/weapon/crowbar))
if(!src.buckled_mob)
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/I.toolspeed, target = src))
user << "You pry the spikes out of the frame."
new /obj/item/stack/rods(loc, 4)
var/obj/F = new /obj/structure/kitchenspike_frame(src.loc,)
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 04ce58ae6d6..27d46c1b551 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -70,7 +70,7 @@
if(WT.remove_fuel(0, user))
user << "You begin repairing [src]..."
playsound(src, 'sound/items/Welder.ogg', 100, 1)
- if(do_after(user, 10, target = src))
+ if(do_after(user, 10/I.toolspeed, target = src))
if(!user || !WT || !WT.isOn())
return
user << "You repair [src]."
diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm
index 5969168b473..b497f7e3e6b 100644
--- a/code/game/objects/structures/musician.dm
+++ b/code/game/objects/structures/musician.dm
@@ -349,7 +349,7 @@
if (!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << " You begin to tighten \the [src] to the floor..."
- if (do_after(user, 20, target = src))
+ if (do_after(user, 20/O.toolspeed, target = src))
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
"You tighten \the [src]'s casters. Now it can be played again.", \
@@ -358,7 +358,7 @@
else if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << " You begin to loosen \the [src]'s casters..."
- if (do_after(user, 40, target = src))
+ if (do_after(user, 40/O.toolspeed, target = src))
user.visible_message( \
"[user] loosens \the [src]'s casters.", \
"You loosen \the [src]. Now it can be pulled somewhere else.", \
diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm
index 17705c71df7..f2857ca7a8b 100644
--- a/code/game/objects/structures/reflector.dm
+++ b/code/game/objects/structures/reflector.dm
@@ -41,7 +41,7 @@
if(istype(W, /obj/item/weapon/wrench))
if(anchored)
user << "Unweld the [src] first!"
- if(do_after(user, 80, target = src))
+ if(do_after(user, 80/W.toolspeed, target = src))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You dismantle the [src]."
qdel(src)
@@ -54,7 +54,7 @@
user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
"You start to weld \the [src] to the floor...", \
"You hear welding.")
- if (do_after(user,20, target = src))
+ if (do_after(user,20/W.toolspeed, target = src))
if(!src || !WT.isOn())
return
anchored = 1
@@ -65,7 +65,7 @@
user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
"You start to cut \the [src] free from the floor...", \
"You hear welding.")
- if (do_after(user,20, target = src))
+ if (do_after(user,20/W.toolspeed, target = src))
if(!src || !WT.isOn())
return
anchored = 0
diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm
index 5c21ff8be4c..ae64e41c6a9 100644
--- a/code/game/objects/structures/signs.dm
+++ b/code/game/objects/structures/signs.dm
@@ -22,7 +22,7 @@
user.visible_message("[user] starts removing [src]...", \
"You start unfastening [src].")
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
- if(!do_after(user, 30, target = src))
+ if(!do_after(user, 30/O.toolspeed, target = src))
return
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
user.visible_message("[user] unfastens [src].", \
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index f54046e7065..94e395d6ac9 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -24,7 +24,7 @@
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
user.visible_message("[user] is loosening the [name]'s bolts.", \
"You are loosening the [name]'s bolts...")
- if(do_after(user,40, target = src))
+ if(do_after(user,40/W.toolspeed, target = src))
if(!src.loc || !anchored)
return
user.visible_message("[user] loosened the [name]'s bolts!", \
@@ -37,7 +37,7 @@
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
user.visible_message("[user] is securing the [name]'s bolts...", \
"You are securing the [name]'s bolts...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(!src.loc || anchored)
return
user.visible_message("[user] has secured the [name]'s bolts.", \
@@ -68,7 +68,7 @@
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
user.visible_message("[user] is slicing apart the [name].", \
"You are slicing apart the [name]...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(!src.loc)
return
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm
index cddb027e0e8..c05d1251165 100644
--- a/code/game/objects/structures/table_frames.dm
+++ b/code/game/objects/structures/table_frames.dm
@@ -24,7 +24,7 @@
if(istype(I, /obj/item/weapon/wrench))
user << "You start disassembling [src]..."
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, 30, target = src))
+ if(do_after(user, 30/I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
for(var/i = 1, i <= framestackamount, i++)
new framestack(get_turf(src))
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 2d8da625c67..f114c0842c6 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -340,14 +340,14 @@
if(src.status == 2)
user << "You start weakening the reinforced table..."
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if (do_after(user, 50, target = src))
+ if (do_after(user, 50/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
user << "You weaken the table."
src.status = 1
else
user << "You start strengthening the reinforced table..."
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if (do_after(user, 50, target = src))
+ if (do_after(user, 50/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
user << "You strengthen the table."
src.status = 2
diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm
index e0429724bd5..28e788c0c2f 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube.dm
@@ -46,7 +46,7 @@ obj/structure/transit_tube/ex_act(severity, target)
return
user.visible_message("[user] starts to deattach \the [src].", "You start to deattach the [name]...")
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- if(do_after(user, 35, target = src))
+ if(do_after(user, 35/W.toolspeed, target = src))
user << "You deattach the [name]."
var/obj/structure/R = new tube_construction(src.loc)
R.icon_state = src.icon_state
diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
index 772b8e33c1b..010200185ee 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
@@ -95,7 +95,7 @@
if(istype(I, /obj/item/weapon/wrench))
user << "You start attaching the [name]..."
src.add_fingerprint(user)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/I.toolspeed, target = src))
if(!src) return
user << "You attach the [name]."
var/obj/structure/transit_tube/R = src.buildtube()
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 27a759dfc2b..365acba4a54 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -50,7 +50,7 @@
if(istype(I, /obj/item/weapon/crowbar))
user << "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]..."
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
- if(do_after(user, 30, target = src))
+ if(do_after(user, 30/I.toolspeed, target = src))
user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!", "You hear grinding porcelain.")
cistern = !cistern
update_icon()
@@ -185,7 +185,7 @@
user << "The water temperature seems to be [watertemp]."
if(istype(I, /obj/item/weapon/wrench))
user << "You begin to adjust the temperature valve with \the [I]..."
- if(do_after(user, 50, target = src))
+ if(do_after(user, 50/I.toolspeed, target = src))
switch(watertemp)
if("normal")
watertemp = "freezing"
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index ba1f9b119cd..829869976a4 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -83,7 +83,7 @@
user.visible_message("[user] disassembles the windoor assembly.", "You start to disassemble the windoor assembly...")
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
user << "You disassemble the windoor assembly."
var/obj/item/stack/sheet/rglass/RG = new (get_turf(src), 5)
@@ -104,7 +104,7 @@
playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(!src || anchored)
return
for(var/obj/machinery/door/window/WD in loc)
@@ -123,7 +123,7 @@
playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
user.visible_message("[user] unsecures the windoor assembly to the floor.", "You start to unsecure the windoor assembly to the floor...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(!src || !anchored)
return
user << "You unsecure the windoor assembly."
@@ -180,7 +180,7 @@
playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(!src || state != "02")
return
@@ -218,7 +218,7 @@
playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to uninstall electronics from the airlock assembly...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(!src || !electronics)
return
user << "You remove the airlock electronics."
@@ -248,7 +248,7 @@
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] pries the windoor into the frame.", "You start prying the windoor into the frame...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/W.toolspeed, target = src))
if(loc && electronics)
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index cb0c4bc4957..9431ee3dc3d 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -200,7 +200,7 @@
else if(!reinf)
user << (anchored ? "You begin to unscrew the window from the floor..." : "You begin to screw the window to the floor...")
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/I.toolspeed, target = src))
if(reinf && (state == 1 || state == 2))
//If state was unfastened, fasten it, else do the reverse
state = (state == 1 ? 2 : 1)
@@ -217,7 +217,7 @@
else if (istype(I, /obj/item/weapon/crowbar) && reinf && (state == 0 || state == 1))
user << (state == 0 ? "You begin to lever the window into the frame..." : "You begin to lever the window out of the frame...")
playsound(loc, 'sound/items/Crowbar.ogg', 75, 1)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/I.toolspeed, target = src))
//If state was out of frame, put into frame, else do the reverse
state = (state == 0 ? 1 : 0)
user << (state == 1 ? "You pry the window into the frame." : "You pry the window out of the frame.")
@@ -228,7 +228,7 @@
if(WT.remove_fuel(0,user))
user << "You begin repairing [src]..."
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/I.toolspeed, target = src))
health = maxhealth
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
else
@@ -239,7 +239,7 @@
else if(istype(I, /obj/item/weapon/wrench) && !anchored)
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
user << " You begin to disassemble [src]..."
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40/I.toolspeed, target = src))
if(disassembled)
return //Prevents multiple deconstruction attempts
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index b2db1033a60..d75c02fe808 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -98,7 +98,7 @@
if(istype(C, /obj/item/weapon/wrench))
user << "You begin removing rods..."
playsound(src, 'sound/items/Ratchet.ogg', 80, 1)
- if(do_after(user, 30, target = src))
+ if(do_after(user, 30/C.toolspeed, target = src))
if(!istype(src, /turf/simulated/floor/engine))
return
new /obj/item/stack/rods(src, 2)
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 5f9d7596609..074a31dabc3 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -178,7 +178,7 @@
if( WT.remove_fuel(0,user) )
user << "You begin slicing through the outer plating..."
playsound(src, 'sound/items/Welder.ogg', 100, 1)
- if(do_after(user, slicing_duration, target = src))
+ if(do_after(user, slicing_duration/W.toolspeed, target = src))
if( !istype(src, /turf/simulated/wall) || !user || !WT || !WT.isOn() || !T )
return 1
if( user.loc == T && user.get_active_hand() == WT )
diff --git a/code/modules/food&drinks/kitchen machinery/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm
index 94326f51489..878d51853b1 100644
--- a/code/modules/food&drinks/kitchen machinery/microwave.dm
+++ b/code/modules/food&drinks/kitchen machinery/microwave.dm
@@ -66,7 +66,7 @@
"[user] starts to fix part of the microwave.", \
"You start to fix part of the microwave..." \
)
- if (do_after(user,20, target = src))
+ if (do_after(user,20/O.toolspeed, target = src))
user.visible_message( \
"[user] fixes part of the microwave.", \
"You fix part of the microwave." \
@@ -77,7 +77,7 @@
"[user] starts to fix part of the microwave.", \
"You start to fix part of the microwave..." \
)
- if (do_after(user,20, target = src))
+ if (do_after(user,20/O.toolspeed, target = src))
user.visible_message( \
"[user] fixes the microwave.", \
"You fix the microwave." \
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 85d0851f300..13c40680a50 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -768,7 +768,7 @@
user.visible_message("[user] begins to wrench [src] into place.", \
"You begin to wrench [src] in place...")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
- if (do_after(user, 20, target = src))
+ if (do_after(user, 20/O.toolspeed, target = src))
if(anchored)
return
anchored = 1
@@ -778,7 +778,7 @@
user.visible_message("[user] begins to unwrench [src].", \
"You begin to unwrench [src]...")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
- if (do_after(user, 20, target = src))
+ if (do_after(user, 20/O.toolspeed, target = src))
if(!anchored)
return
anchored = 0
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index 3cb02b4f5ed..1af63f8b489 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -38,13 +38,13 @@
if(0)
if(istype(I, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/I.toolspeed, target = src))
user << "You wrench the frame into place."
anchored = 1
state = 1
if(istype(I, /obj/item/weapon/crowbar))
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/I.toolspeed, target = src))
user << "You pry the frame apart."
new /obj/item/stack/sheet/mineral/wood(loc, 4)
qdel(src)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index e9955f28606..f7791f68467 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -429,7 +429,7 @@
if (WT.remove_fuel(0, user)) //The welder has 1u of fuel consumed by it's afterattack, so we don't need to worry about taking any away.
if(src == user)
user << "You start fixing youself..."
- if(!do_after(user, 50, target = src))
+ if(!do_after(user, 50/W.toolspeed, target = src))
return
adjustBruteLoss(-30)
@@ -510,7 +510,7 @@
else
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
user << "You start to unfasten [src]'s securing bolts..."
- if(do_after(user, 50, target = src) && !cell)
+ if(do_after(user, 50/W.toolspeed, target = src) && !cell)
user.visible_message("[user] deconstructs [src]!", "You unfasten the securing bolts, and [src] falls to pieces!")
deconstruct()
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
index 603edee9c56..9e4eac0075c 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
@@ -98,7 +98,7 @@
if(istype(I, /obj/item/weapon/screwdriver) && stat != DEAD)
if(health < maxHealth)
user << "You start to tighten loose screws on [src]..."
- if(do_after(user,80,target=user))
+ if(do_after(user,80/I.toolspeed,target=user))
adjustBruteLoss(-getBruteLoss())
visible_message("[user] tightens [src == user ? "their" : "[src]'s"] loose screws!", "You tighten [src == user ? "your" : "[src]'s"] loose screws.")
else
@@ -110,7 +110,7 @@
user.visible_message("[user] starts resetting [src]...", \
"You press down on [src]'s factory reset control...")
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
- if(!do_after(user, 50, target = src))
+ if(!do_after(user, 50/I.toolspeed, target = src))
return
user.visible_message("[user] resets [src]!", \
"You reset [src]'s directives to factory defaults!")
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 99fcaf0a589..75e9cc96ee3 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -262,7 +262,7 @@
return
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "You start [anchored ? "unwrenching" : "wrenching"] [src]..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/O.toolspeed, target = src))
if(gc_destroyed)
return
user << "You [anchored ? "unwrench" : "wrench"] [src]."
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index bf39d7dc76d..1507f09f2f4 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -386,7 +386,7 @@
return
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
user << "You are trying to remove the power control board..." //lpeters - fixed grammar issues
- if(do_after(user, 50, target = src))
+ if(do_after(user, 50/W.toolspeed, target = src))
if (has_electronics==1)
has_electronics = 0
if ((stat & BROKEN) || malfhack)
@@ -518,7 +518,7 @@
"You start welding the APC frame...", \
"You hear welding.")
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if(do_after(user, 50, target = src))
+ if(do_after(user, 50/W.toolspeed, target = src))
if(!src || !WT.remove_fuel(3, user)) return
if (emagged || malfhack || (stat & BROKEN) || opened==2)
new /obj/item/stack/sheet/metal(loc)
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 62a288969c4..75484746e4c 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -60,7 +60,7 @@
if(istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
usr << "You begin deconstructing [src]..."
- if (!do_after(usr, 30, target = src))
+ if (!do_after(usr, 30/W.toolspeed, target = src))
return
new /obj/item/stack/sheet/metal( get_turf(src.loc), sheets_refunded )
user.visible_message("[user.name] deconstructs [src].", \
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 63c1566b534..eecacac5f85 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -228,7 +228,7 @@
user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
"You start to weld \the [src] to the floor...", \
"You hear welding.")
- if (do_after(user,20, target = src))
+ if (do_after(user,20/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
state = 2
user << "You weld \the [src] to the floor."
@@ -239,7 +239,7 @@
user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
"You start to cut \the [src] free from the floor...", \
"You hear welding.")
- if (do_after(user,20, target = src))
+ if (do_after(user,20/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
state = 1
user << "You cut \the [src] free from the floor."
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 92c5e2070d1..008416ac9e5 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -130,7 +130,7 @@ field_generator power level display
user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
"You start to weld \the [src] to the floor...", \
"You hear welding.")
- if (do_after(user,20, target = src))
+ if (do_after(user,20/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
state = 2
user << "You weld the field generator to the floor."
@@ -142,7 +142,7 @@ field_generator power level display
user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
"You start to cut \the [src] free from the floor...", \
"You hear welding.")
- if (do_after(user,20, target = src))
+ if (do_after(user,20/W.toolspeed, target = src))
if(!src || !WT.isOn()) return
state = 1
user << "You cut \the [src] free from the floor."
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index d7a58ac043f..3810f00ff43 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -60,7 +60,7 @@
if(istype(W, /obj/item/weapon/crowbar))
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off the solar panel.", "You begin to take the glass off the solar panel...")
- if(do_after(user, 50, target = src))
+ if(do_after(user, 50/W.toolspeed, target = src))
var/obj/item/solar_assembly/S = locate() in src
if(S)
S.loc = src.loc
@@ -386,10 +386,10 @@
data["connected_tracker"] = (connected_tracker ? 1 : 0)
return data
-/obj/machinery/power/solar_control/attackby(obj/I, mob/user, params)
+/obj/machinery/power/solar_control/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/I.toolspeed, target = src))
if (src.stat & BROKEN)
user << "The broken glass falls out."
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 874b2ca1733..233685983a3 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -63,7 +63,7 @@
if(istype(W, /obj/item/weapon/crowbar))
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] begins to take the glass off the solar tracker.", "You begin to take the glass off the solar tracker...")
- if(do_after(user, 50, target = src))
+ if(do_after(user, 50/W.toolspeed, target = src))
var/obj/item/solar_assembly/S = locate() in src
if(S)
S.loc = src.loc
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 7cc46f27a26..2b98c2d7e15 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -122,7 +122,7 @@
afterattack(user, user) //you know the drill
user.visible_message("[src] goes off!", "[src] goes off in your face!")
return
- if(do_after(user, 30, target = src))
+ if(do_after(user, 30/A.toolspeed, target = src))
if(magazine.ammo_count())
user << "You can't modify it!"
return
@@ -135,7 +135,7 @@
afterattack(user, user) //and again
user.visible_message("[src] goes off!", "[src] goes off in your face!")
return
- if(do_after(user, 30, target = src))
+ if(do_after(user, 30/A.toolspeed, target = src))
if(magazine.ammo_count())
user << "You can't modify it!"
return
diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm
index 5d869bde26c..b1227bb5b80 100644
--- a/code/modules/recycling/disposal-construction.dm
+++ b/code/modules/recycling/disposal-construction.dm
@@ -237,7 +237,7 @@
if(W.remove_fuel(0,user))
playsound(loc, 'sound/items/Welder2.ogg', 100, 1)
user << "You start welding the [nicetype] in place..."
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20/I.toolspeed, target = src))
if(!loc || !W.isOn())
return
user << "The [nicetype] has been welded in place."
diff --git a/code/modules/recycling/disposal-structures.dm b/code/modules/recycling/disposal-structures.dm
index 0589e10be6d..7ea048f1bf3 100644
--- a/code/modules/recycling/disposal-structures.dm
+++ b/code/modules/recycling/disposal-structures.dm
@@ -693,7 +693,7 @@
if(W.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
user << "You start slicing the disposal pipe..."
- if(do_after(user,30, target = src))
+ if(do_after(user,30/I.toolspeed, target = src))
if(!src || !W.isOn()) return
Deconstruct()
user << "You slice the disposal pipe."
@@ -827,7 +827,7 @@
if(W.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
user << "You start slicing the floorweld off \the [src]..."
- if(do_after(user,20, target = src))
+ if(do_after(user,20/I.toolspeed, target = src))
if(!src || !W.isOn()) return
user << "You slice the floorweld off \the [src]."
stored.loc = loc
diff --git a/code/modules/recycling/disposal-unit.dm b/code/modules/recycling/disposal-unit.dm
index 0607f28e607..74be5a2317d 100644
--- a/code/modules/recycling/disposal-unit.dm
+++ b/code/modules/recycling/disposal-unit.dm
@@ -89,7 +89,7 @@
return
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
user << "You start slicing the floorweld off \the [src]..."
- if(do_after(user,20, target = src))
+ if(do_after(user,20/I.toolspeed, target = src))
if(!W.isOn())
return
user << "You slice the floorweld off \the [src]."