diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm
index c65098f5b5c..778c284ea4c 100644
--- a/code/datums/wires/wires.dm
+++ b/code/datums/wires/wires.dm
@@ -200,7 +200,7 @@ var/list/wire_name_directory = list()
for(var/color in colors)
payload.Add(list(list(
"color" = color,
- "wire" = (IsAdminGhost(user) ? get_wire(color) : null),
+ "wire" = (IsAdminGhost(user) || (user.is_holding_item_of_type(/obj/item/device/multitool/abductor)) ? get_wire(color) : null),
"cut" = is_color_cut(color),
"attached" = is_attached(color)
)))
@@ -217,7 +217,7 @@ var/list/wire_name_directory = list()
switch(action)
if("cut")
if(istype(I, /obj/item/weapon/wirecutters) || IsAdminGhost(usr))
- playsound(holder, 'sound/items/Wirecutter.ogg', 20, 1)
+ playsound(holder, I.usesound, 20, 1)
cut_color(target_wire)
. = TRUE
else
diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm
index 7f591b6691e..4f266c44132 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction.dm
@@ -228,10 +228,11 @@
console.vest = V
V.flags |= NODROP
agent.equip_to_slot_or_del(V, slot_wear_suit)
- agent.equip_to_slot_or_del(new /obj/item/weapon/abductor_baton(agent), slot_belt)
+ agent.equip_to_slot_or_del(new /obj/item/weapon/abductor_baton(agent), slot_in_backpack)
agent.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/alien(agent), slot_in_backpack)
agent.equip_to_slot_or_del(new /obj/item/device/abductor/silencer(agent), slot_in_backpack)
agent.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/abductor(agent), slot_head)
+ agent.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/military/abductor/full(agent), slot_belt)
/datum/game_mode/abduction/proc/equip_scientist(var/mob/living/carbon/human/scientist,var/team_number)
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index e7104322f15..7cdd3ac1f0c 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -484,30 +484,35 @@ Congratulations! You are now trained for xenobiology research!"}
desc = "It's a gleaming sharp knife made out of silvery-green metal."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
+ toolspeed = 0.25
/obj/item/weapon/hemostat/alien
name = "alien hemostat"
desc = "You've never seen this before."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
+ toolspeed = 0.25
/obj/item/weapon/retractor/alien
name = "alien retractor"
desc = "You're not sure if you want the veil pulled back."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
+ toolspeed = 0.25
/obj/item/weapon/circular_saw/alien
name = "alien saw"
desc = "Do the aliens also lose this, and need to find an alien hatchet?"
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
+ toolspeed = 0.25
/obj/item/weapon/surgicaldrill/alien
name = "alien drill"
desc = "Maybe alien surgeons have finally found a use for the drill."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
+ toolspeed = 0.25
/obj/item/weapon/cautery/alien
name = "alien cautery"
@@ -515,6 +520,7 @@ Congratulations! You are now trained for xenobiology research!"}
Unless..."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
+ toolspeed = 0.25
/obj/item/clothing/head/helmet/abductor
name = "agent headgear"
@@ -554,7 +560,7 @@ Congratulations! You are now trained for xenobiology research!"}
/obj/structure/table_frame/abductor/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
user << "You start disassembling [src]..."
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, I.usesound, 50, 1)
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++)
diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm
index 9c1a557f4e7..442509f745e 100644
--- a/code/game/machinery/PDApainter.dm
+++ b/code/game/machinery/PDApainter.dm
@@ -87,7 +87,7 @@
user.visible_message("[user] is repairing [src].", \
"You begin repairing [src]...", \
"You hear welding.")
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
if(do_after(user,40*WT.toolspeed, 1, target = src))
if(!WT.isOn() || !(stat & BROKEN))
return
@@ -146,4 +146,4 @@
/obj/machinery/pdapainter/power_change()
..()
- update_icon()
\ No newline at end of file
+ update_icon()
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index 9f6e8394ee7..f610a58fe49 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -89,7 +89,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)
+ playsound(loc, W.usesound, 50, 1)
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)))
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 24a93a02a11..7ac6fc20b63 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -374,9 +374,9 @@
return 0
user << "You start to weld [src]..."
- playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
+ playsound(src.loc, WT.usesound, 50, 1)
busy = 1
- if(do_after(user, 100, target = src))
+ if(do_after(user, 100*WT.toolspeed, target = src))
busy = 0
if(!WT.isOn())
return 0
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index 1df5077ed9c..c69ac8df6e4 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -128,8 +128,8 @@
if(!WT.remove_fuel(0, user))
return 0
user << "You start to weld \the [src]..."
- playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if(do_after(user, 20, target = src))
+ playsound(src.loc, WT.usesound, 50, 1)
+ if(do_after(user, 20*WT.toolspeed, target = src))
if(WT.isOn())
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
return 1
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index 4255cf42eec..59b579766a6 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -65,7 +65,7 @@
anchored = !anchored
user << "You [anchored ? "attach" : "detach"] the cell charger [anchored ? "to" : "from"] the ground"
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
else
return ..()
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index ef15b461a24..17b9c80420d 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -32,7 +32,7 @@
if(obj_integrity < max_integrity)
if(WT.remove_fuel(0,user))
user << "You begin repairing [src]..."
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = Clamp(obj_integrity + 20, 0, max_integrity)
else
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index bb0677d66e7..001b71f0775 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1065,12 +1065,12 @@ var/list/airlock_overlays = list()
return
if(AIRLOCK_SECURITY_PLASTEEL)
if(istype(C, /obj/item/weapon/wirecutters))
- var/obj/item/weapon/W = C
+ var/obj/item/weapon/wirecutters/W = C
if(src.hasPower() && src.shock(user, 60)) // Protective grille of wiring is electrified
return
- user << "You started cutting through outer grille"
+ user << "You start cutting through outer grille."
playsound(src, W.usesound, 100, 1)
- if(do_after(user, 10, 1, target = src))
+ if(do_after(user, 10*W.toolspeed, 1, target = src))
if(!panel_open)
return
user.visible_message("[user] cut through \the [src]'s outer grille.",
@@ -1119,7 +1119,7 @@ var/list/airlock_overlays = list()
user.visible_message("[user] is [welded ? "unwelding":"welding"] the airlock.", \
"You begin [welded ? "unwelding":"welding"] the airlock...", \
"You hear welding.")
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, W.usesound, 40, 1)
if(do_after(user,40*W.toolspeed, 1, target = src))
if(density && !operating)//Door must be closed to weld.
if(!user || !W || !W.isOn() || !user.loc )
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 292db513798..ea55c1852dd 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -49,7 +49,7 @@
return//Already doing something.
if(istype(C, /obj/item/weapon/wrench) && panel_open)
- playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("[user] starts undoing [src]'s bolts...", \
"You start unfastening [src]'s floor bolts...")
if(!do_after(user, 50*C.toolspeed, target = src))
@@ -218,7 +218,7 @@
switch(constructionStep)
if(CONSTRUCTION_PANEL_OPEN)
if(istype(C, /obj/item/weapon/crowbar))
- playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
+ playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("[user] starts prying something out from [src]...", \
"You begin prying out the wire cover...")
if(!do_after(user, 50*C.toolspeed, target = src))
@@ -235,7 +235,7 @@
if(locate(/obj/machinery/door/firedoor) in get_turf(src))
user << "There's already a firelock there."
return
- playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("[user] starts bolting down [src]...", \
"You begin bolting [src]...")
if(!do_after(user, 30*C.toolspeed, target = src))
@@ -274,7 +274,7 @@
if(CONSTRUCTION_WIRES_EXPOSED)
if(istype(C, /obj/item/weapon/wirecutters))
- playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1)
+ playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("[user] starts cutting the wires from [src]...", \
"You begin removing [src]'s wires...")
if(!do_after(user, 60*C.toolspeed, target = src))
@@ -291,7 +291,7 @@
if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = C
if(W.remove_fuel(1, user))
- playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1)
+ playsound(get_turf(src), W.usesound, 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*C.toolspeed, target = src))
@@ -308,7 +308,7 @@
if(istype(C, /obj/item/weapon/crowbar))
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)
+ playsound(get_turf(src), C.usesound, 50, 1)
if(!do_after(user, 50*C.toolspeed, target = src))
return
if(constructionStep != CONSTRUCTION_GUTTED)
@@ -316,7 +316,7 @@
user.visible_message("[user] removes [src]'s circuit board.", \
"You remove the circuit board from [src].")
new /obj/item/weapon/electronics/firelock(get_turf(src))
- playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
+ playsound(get_turf(src), C.usesound, 50, 1)
constructionStep = CONSTRUCTION_NOCIRCUIT
update_icon()
return
@@ -342,7 +342,7 @@
if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = C
if(W.remove_fuel(1,user))
- playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1)
+ playsound(get_turf(src), W.usesound, 50, 1)
user.visible_message("[user] begins cutting apart [src]'s frame...", \
"You begin slicing [src] apart...")
if(!do_after(user, 80*C.toolspeed, target = src))
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index 979d4ce2761..436fcfb1e5a 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -32,7 +32,7 @@ var/list/doppler_arrays = list()
anchored = 0
power_change()
user << "You unfasten [src]."
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, O.usesound, 50, 1)
else
return ..()
@@ -108,4 +108,4 @@ var/list/doppler_arrays = list()
name = "integrated tachyon-doppler module"
integrated = 1
max_dist = 21 //Should detect most explosions in hearing range.
- use_power = 0
\ No newline at end of file
+ use_power = 0
diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm
index 161d75da59d..48dfe0f55b1 100644
--- a/code/game/machinery/droneDispenser.dm
+++ b/code/game/machinery/droneDispenser.dm
@@ -268,7 +268,7 @@
else if(istype(O, /obj/item/weapon/crowbar))
materials.retrieve_all()
- playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
+ playsound(loc, O.usesound, 50, 1)
user << "You retrieve the materials from [src]."
else if(istype(O, /obj/item/weapon/weldingtool))
@@ -286,7 +286,7 @@
complete this task!"
return
- playsound(src, 'sound/items/Welder.ogg', 50, 1)
+ playsound(src, WT.usesound, 50, 1)
user.visible_message(
"[user] begins patching up \
[src] with [WT].",
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index e18d92d582e..3a8b8c2fd36 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -62,7 +62,7 @@
if (istype(W, /obj/item/weapon/wirecutters))
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)
+ playsound(src.loc, W.usesound, 100, 1)
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.forceMove(loc)
@@ -83,7 +83,7 @@
else if (istype(W, /obj/item/weapon/wrench))
if(!bulb)
user << "You start unsecuring the flasher frame..."
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, W.usesound, 50, 1)
if(do_after(user, 40*W.toolspeed, target = src))
user << "You unsecure the flasher frame."
deconstruct(TRUE)
@@ -173,7 +173,7 @@
/obj/machinery/flasher/portable/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
+ playsound(src.loc, W.usesound, 100, 1)
if (!anchored && !isinspace())
user << "[src] is now secured."
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 3737e33c5e2..6d3082ef242 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -716,7 +716,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
/obj/machinery/newscaster/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/wrench))
user << "You start [anchored ? "un" : ""]securing [name]..."
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, I.usesound, 50, 1)
if(do_after(user, 60*I.toolspeed, target = src))
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(stat & BROKEN)
@@ -735,7 +735,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
user.visible_message("[user] is repairing [src].", \
"You begin repairing [src]...", \
"You hear welding.")
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
if(do_after(user,40*WT.toolspeed, 1, target = src))
if(!WT.isOn() || !(stat & BROKEN))
return
@@ -1046,4 +1046,4 @@ var/list/obj/machinery/newscaster/allCasters = list()
scribble = s
attack_self(user)
else
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index b1aad2508c7..df11945eb44 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -232,7 +232,7 @@ var/global/list/pipeID2State = list(
T.flipped = flipped
A.on_construction(pipe_type, color)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user.visible_message( \
"[user] fastens \the [src].", \
"You fasten \the [src].", \
@@ -270,6 +270,6 @@ var/global/list/pipeID2State = list(
user << "You need to fasten it to a pipe!"
return 1
new/obj/machinery/meter( src.loc )
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user << "You fasten the meter to the pipe."
qdel(src)
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index ab4951b9a91..ff7ebe46bd6 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -79,7 +79,7 @@
return
else if (istype(W, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user << "You begin to fasten \the [src] to the floor..."
if (do_after(user, 40*W.toolspeed, target = src))
add_fingerprint(user)
@@ -92,7 +92,7 @@
if (usr.machine==src)
usr << browse(null, "window=pipedispenser")
else if(anchored)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user << "You begin to unfasten \the [src] from the floor..."
if (do_after(user, 20*W.toolspeed, target = src))
add_fingerprint(user)
diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm
index a8578b9e249..963a8eb0872 100644
--- a/code/game/machinery/porta_turret/portable_turret_construct.dm
+++ b/code/game/machinery/porta_turret/portable_turret_construct.dm
@@ -69,7 +69,7 @@
user << "You need more fuel to complete this task!"
return
- playsound(loc, pick('sound/items/Welder.ogg', 'sound/items/Welder2.ogg'), 50, 1)
+ playsound(loc, WT.usesound, 50, 1)
user << "You start to remove the turret's interior metal armor..."
if(do_after(user, 20*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
@@ -139,7 +139,7 @@
if(WT.get_fuel() < 5)
user << "You need more fuel to complete this task!"
- playsound(loc, pick('sound/items/Welder.ogg', 'sound/items/Welder2.ogg'), 50, 1)
+ playsound(loc, WT.usesound, 50, 1)
user << "You begin to weld the turret's armor down..."
if(do_after(user, 30*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index 4042ea46f26..cb66398ddd2 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -34,7 +34,7 @@
anchored = !anchored
power_change()
user << "You [anchored ? "attached" : "detached"] [src]."
- playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(loc, G.usesound, 75, 1)
return
var/allowed = is_type_in_list(G, allowed_devices)
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index e284d55b2d3..835c415fba7 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -106,14 +106,14 @@
user << "The bomb must be placed on solid ground to attach it."
else
user << "You firmly wrench the bomb to the floor."
- playsound(loc, 'sound/items/ratchet.ogg', 50, 1)
+ playsound(loc, I.usesound, 50, 1)
anchored = 1
if(active)
user << "The bolts lock in place."
else
if(!active)
user << "You wrench the bomb from the floor."
- playsound(loc, 'sound/items/ratchet.ogg', 50, 1)
+ playsound(loc, I.usesound, 50, 1)
anchored = 0
else
user << "The bolts are locked down!"
@@ -157,7 +157,7 @@
user << "You need more fuel to complete this task!"
return
- playsound(loc, pick('sound/items/Welder.ogg', 'sound/items/Welder2.ogg'), 50, 1)
+ playsound(loc, WT.usesound, 50, 1)
user << "You start to cut the [src] apart..."
if(do_after(user, 20*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
@@ -437,7 +437,7 @@
/obj/item/weapon/bombcore/chemical/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/crowbar) && beakers.len > 0)
- playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
+ playsound(loc, I.usesound, 50, 1)
for (var/obj/item/B in beakers)
B.loc = get_turf(src)
beakers -= B
diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm
index ddae085d50f..17a28beec44 100644
--- a/code/game/mecha/mecha_construction_paths.dm
+++ b/code/game/mecha/mecha_construction_paths.dm
@@ -10,13 +10,16 @@
else
return 0
else if(istype(used_atom, /obj/item/weapon/wrench))
- playsound(holder, 'sound/items/Ratchet.ogg', 50, 1)
+ var/obj/item/weapon/W = used_atom
+ playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/weapon/screwdriver))
- playsound(holder, 'sound/items/Screwdriver.ogg', 50, 1)
+ var/obj/item/weapon/W = used_atom
+ playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/weapon/wirecutters))
- playsound(holder, 'sound/items/Wirecutter.ogg', 50, 1)
+ var/obj/item/weapon/W = used_atom
+ playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = used_atom
@@ -42,13 +45,16 @@
else
return 0
else if(istype(used_atom, /obj/item/weapon/wrench))
- playsound(holder, 'sound/items/Ratchet.ogg', 50, 1)
+ var/obj/item/weapon/W = used_atom
+ playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/weapon/screwdriver))
- playsound(holder, 'sound/items/Screwdriver.ogg', 50, 1)
+ var/obj/item/weapon/W = used_atom
+ playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/weapon/wirecutters))
- playsound(holder, 'sound/items/Wirecutter.ogg', 50, 1)
+ var/obj/item/weapon/W = used_atom
+ playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = used_atom
diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm
index 918c4251a88..4f2af045897 100644
--- a/code/game/objects/effects/contraband.dm
+++ b/code/game/objects/effects/contraband.dm
@@ -201,7 +201,7 @@ list(name = "- Carbon Dioxide", desc = " This informational poster teaches the v
/obj/structure/sign/poster/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wirecutters))
- playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
+ playsound(loc, I.usesound, 100, 1)
if(ruined)
user << "You remove the remnants of the poster."
qdel(src)
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index db453c9cabf..e3177d8dadb 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -88,4 +88,12 @@
/obj/item/device/multitool/cyborg
name = "multitool"
desc = "Optimised and stripped-down version of a regular multitool."
- toolspeed = 0.5
\ No newline at end of file
+ toolspeed = 0.5
+
+/obj/item/device/multitool/abductor
+ name = "alien multitool"
+ desc = "An omni-technological interface."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "multitool"
+ toolspeed = 0.1
+ origin_tech = "magnets=5;engineering=5;abductor=3"
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 551b346bd99..ad052bcdfe7 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -54,7 +54,7 @@
if(beakers.len)
stage_change(READY)
user << "You lock the [initial(name)] assembly."
- playsound(loc, 'sound/items/Screwdriver.ogg', 25, -3)
+ playsound(loc, I.usesound, 25, -3)
else
user << "You need to add at least one beaker before locking the [initial(name)] assembly!"
else if(stage == READY && !nadeassembly)
diff --git a/code/game/objects/items/weapons/grenades/plastic.dm b/code/game/objects/items/weapons/grenades/plastic.dm
index 5077520266f..1937d80e003 100644
--- a/code/game/objects/items/weapons/grenades/plastic.dm
+++ b/code/game/objects/items/weapons/grenades/plastic.dm
@@ -35,7 +35,7 @@
update_icon()
return
if(nadeassembly && istype(I, /obj/item/weapon/wirecutters))
- playsound(src, 'sound/items/Wirecutter.ogg', 20, 1)
+ playsound(src, I.usesound, 20, 1)
nadeassembly.loc = get_turf(src)
nadeassembly.master = null
nadeassembly = null
diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm
index d7b720b8d86..3353fdda15b 100644
--- a/code/game/objects/items/weapons/powerfist.dm
+++ b/code/game/objects/items/weapons/powerfist.dm
@@ -43,7 +43,7 @@
fisto_setting = 3
if(3)
fisto_setting = 1
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, W.usesound, 50, 1)
user << "You tweak \the [src]'s piston valve to [fisto_setting]."
else if(istype(W, /obj/item/weapon/screwdriver))
if(tank)
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index aa369e109cd..4fa685e8d52 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -258,6 +258,24 @@
item_state = "military"
max_w_class = WEIGHT_CLASS_SMALL
+/obj/item/weapon/storage/belt/military/abductor
+ name = "agent belt"
+ desc = "A belt used by abductor agents."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "belt"
+ item_state = "security"
+
+/obj/item/weapon/storage/belt/military/abductor/full/New()
+ ..()
+ new /obj/item/weapon/screwdriver/abductor(src)
+ new /obj/item/weapon/wrench/abductor(src)
+ new /obj/item/weapon/weldingtool/abductor(src)
+ new /obj/item/weapon/crowbar/abductor(src)
+ new /obj/item/weapon/wirecutters/abductor(src)
+ new /obj/item/device/multitool/abductor(src)
+ new /obj/item/stack/cable_coil(src,30,"white")
+
+
/obj/item/weapon/storage/belt/military/army
name = "army belt"
desc = "A belt used by military forces."
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 69846f7ac1d..9dff3262f3a 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -47,6 +47,15 @@
icon_state = "wrench_brass"
toolspeed = 0.5
+/obj/item/weapon/wrench/abductor
+ name = "alien wrench"
+ desc = "A polarized wrench. It causes anything placed between the jaws to turn."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "wrench"
+ usesound = 'sound/effects/EMPulse.ogg'
+ toolspeed = 0.1
+ origin_tech = "materials=5;engineering=5;abductor=3"
+
/obj/item/weapon/wrench/power
name = "Hand Drill"
desc ="A simple powered drill with a bolt bit"
@@ -162,6 +171,14 @@
icon_state = "screwdriver_brass"
toolspeed = 0.5
+/obj/item/weapon/screwdriver/abductor
+ name = "alien screwdriver"
+ desc = "An ultrasonic screwdriver."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "screwdriver"
+ usesound = 'sound/items/PSHOOM.ogg'
+ toolspeed = 0.1
+
/obj/item/weapon/screwdriver/power
name = "Hand Drill"
desc = "A simple hand drill with a screwdriver bit attached."
@@ -238,7 +255,7 @@
/obj/item/weapon/wirecutters/suicide_act(mob/user)
user.visible_message("[user] is cutting at [user.p_their()] arteries with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
- playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1, -1)
+ playsound(loc, usesound, 50, 1, -1)
return (BRUTELOSS)
/obj/item/weapon/wirecutters/brass
@@ -247,6 +264,14 @@
icon_state = "cutters_brass"
toolspeed = 0.5
+/obj/item/weapon/wirecutters/abductor
+ name = "alien wirecutters"
+ desc = "Extremely sharp wirecutters, made out of a silvery-green metal."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "cutters"
+ toolspeed = 0.1
+ origin_tech = "materials=5;engineering=4;abductor=3"
+
/obj/item/weapon/wirecutters/cyborg
name = "wirecutters"
desc = "This cuts wires."
@@ -386,7 +411,7 @@
if(affecting && affecting.status == BODYPART_ROBOTIC && user.a_intent != INTENT_HARM)
if(src.remove_fuel(1))
- playsound(loc, 'sound/items/Welder.ogg', 50, 1)
+ playsound(loc, usesound, 50, 1)
user.visible_message("[user] starts to fix some of the dents on [H]'s [affecting.name].", "You start fixing some of the dents on [H]'s [affecting.name].")
if(!do_mob(user, H, 50))
return
@@ -580,6 +605,19 @@
/obj/item/weapon/weldingtool/mini/flamethrower_screwdriver()
return
+/obj/item/weapon/weldingtool/abductor
+ name = "alien welding tool"
+ desc = "An alien welding tool. Whatever fuel it uses, it never runs out."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "welder"
+ toolspeed = 0.1
+ light_intensity = 0
+ origin_tech = "plasmatech=5;engineering=5;abductor=3"
+
+/obj/item/weapon/weldingtool/abductor/process()
+ if(get_fuel() <= max_fuel)
+ reagents.add_reagent("welding_fuel", 1)
+ ..()
/obj/item/weapon/weldingtool/hugetank
name = "upgraded industrial welding tool"
@@ -655,6 +693,15 @@
icon_state = "crowbar_brass"
toolspeed = 0.5
+/obj/item/weapon/crowbar/abductor
+ name = "alien crowbar"
+ desc = "A hard-light crowbar. It appears to pry by itself, without any effort required."
+ icon = 'icons/obj/abductor.dmi'
+ usesound = 'sound/weapons/sonic_jackhammer.ogg'
+ icon_state = "crowbar"
+ toolspeed = 0.1
+ origin_tech = "combat=4;engineering=4;abductor=3"
+
/obj/item/weapon/crowbar/large
name = "crowbar"
desc = "It's a big crowbar. It doesn't fit in your pockets, because it's big."
diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm
index 2bce2a0f6d1..c5785016965 100644
--- a/code/game/objects/structures/ai_core.dm
+++ b/code/game/objects/structures/ai_core.dm
@@ -48,7 +48,7 @@
if(!WT.isOn())
user << "The welder must be on for this task!"
return
- playsound(loc, 'sound/items/Welder.ogg', 50, 1)
+ playsound(loc, WT.usesound, 50, 1)
user << "You start to deconstruct the frame..."
if(do_after(user, 20*P.toolspeed, target = src) && src && state == EMPTY_CORE && WT && WT.remove_fuel(0, user))
user << "You deconstruct the frame."
diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm
index d11b3d3cd04..86b46b499e9 100644
--- a/code/game/objects/structures/beds_chairs/bed.dm
+++ b/code/game/objects/structures/beds_chairs/bed.dm
@@ -33,7 +33,7 @@
/obj/structure/bed/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
deconstruct(TRUE)
else
return ..()
@@ -166,4 +166,4 @@
/obj/structure/bed/alien
name = "resting contraption"
desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?"
- icon_state = "abed"
\ No newline at end of file
+ icon_state = "abed"
diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm
index 01548ff0c06..9e4729ab8ac 100644
--- a/code/game/objects/structures/beds_chairs/chair.dm
+++ b/code/game/objects/structures/beds_chairs/chair.dm
@@ -35,7 +35,7 @@
/obj/structure/chair/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
deconstruct()
else if(istype(W, /obj/item/assembly/shock_kit))
if(!user.drop_item())
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index efae35c257d..eac2e80318b 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -236,7 +236,7 @@
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(opened || !WT.isOn())
return
- playsound(loc, 'sound/items/welder.ogg', 50, 1)
+ playsound(loc, WT.usesound, 50, 1)
welded = !welded
user.visible_message("[user] [welded ? "welds shut" : "unweldeds"] \the [src].",
"You [welded ? "weld" : "unwelded"] \the [src] with \the [WT].",
@@ -246,7 +246,7 @@
if(isinspace() && !anchored)
return
anchored = !anchored
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \
"You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \
"You hear a ratchet.")
@@ -439,4 +439,4 @@
/obj/structure/closet/contents_explosion(severity, target)
for(var/atom/A in contents)
A.ex_act(severity, target)
- CHECK_TICK
\ No newline at end of file
+ CHECK_TICK
diff --git a/code/game/objects/structures/crates_lockers/crates/bins.dm b/code/game/objects/structures/crates_lockers/crates/bins.dm
index 6182f8f9b51..f07fda8219b 100644
--- a/code/game/objects/structures/crates_lockers/crates/bins.dm
+++ b/code/game/objects/structures/crates_lockers/crates/bins.dm
@@ -33,7 +33,7 @@
do_animate()
else if(istype(W, /obj/item/weapon/wrench))
anchored = !anchored
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
else
return ..()
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 71e7ab23338..fac248ed1da 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -125,7 +125,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(obj_integrity < max_integrity && WT.remove_fuel(5, user))
user << "You begin repairing [src]."
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*W.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
@@ -204,7 +204,7 @@
/obj/structure/displaycase_chassis/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench)) //The player can only deconstruct the wooden frame
user << "You start disassembling [src]..."
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, I.usesound, 50, 1)
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))
@@ -212,7 +212,7 @@
else if(istype(I, /obj/item/weapon/electronics/airlock))
user << "You start installing the electronics into [src]..."
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, I.usesound, 50, 1)
if(user.unEquip(I) && do_after(user, 30, target = src))
I.loc = src
electronics = I
@@ -250,4 +250,3 @@
desc = "A glass lab container for storing interesting creatures."
start_showpiece_type = /obj/item/clothing/mask/facehugger/lamarr
req_access = list(access_rd)
-
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index a4a086584f1..f875095bd69 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -13,7 +13,7 @@
/obj/structure/chair/e_chair/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
var/obj/structure/chair/C = new /obj/structure/chair(loc)
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, W.usesound, 50, 1)
C.setDir(dir)
part.loc = loc
part.master = null
@@ -44,4 +44,4 @@
buckled_mob << "You feel a deep shock course through your body!"
spawn(1)
buckled_mob.electrocute_act(85, src, 1)
- visible_message("The electric chair went off!", "You hear a deep sharp shock!")
\ No newline at end of file
+ visible_message("The electric chair went off!", "You hear a deep sharp shock!")
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index 10e5083373b..6df654c883a 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -40,7 +40,7 @@
/obj/structure/extinguisher_cabinet/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench) && !stored_extinguisher)
user << "You start unsecuring [name]..."
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, I.usesound, 50, 1)
if(do_after(user, 60*I.toolspeed, target = src))
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "You unsecure [name]."
diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm
index 6af2c3ac84b..6cd3b901318 100644
--- a/code/game/objects/structures/fireaxe.dm
+++ b/code/game/objects/structures/fireaxe.dm
@@ -30,7 +30,7 @@
var/obj/item/weapon/weldingtool/WT = I
if(obj_integrity < max_integrity && WT.remove_fuel(2, user))
user << "You begin repairing [src]."
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm
index eef73b53451..83b7fde171b 100644
--- a/code/game/objects/structures/fluff.dm
+++ b/code/game/objects/structures/fluff.dm
@@ -13,7 +13,7 @@
/obj/structure/fluff/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/wrench) && deconstructible)
user.visible_message("[user] starts disassembling [src]...", "You start disassembling [src]...")
- playsound(user, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(user, I.usesound, 50, 1)
if(!do_after(user, 50, target = src))
return 0
user.visible_message("[user] disassembles [src]!", "You break down [src] into scrap metal.")
@@ -159,4 +159,4 @@
/obj/structure/fluff/divine/shrine
name = "shrine"
desc = "A shrine dedicated to a deity."
- icon_state = "shrine"
\ No newline at end of file
+ icon_state = "shrine"
diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm
index f88bf1c1eba..d3fa057eb9a 100644
--- a/code/game/objects/structures/kitchen_spike.dm
+++ b/code/game/objects/structures/kitchen_spike.dm
@@ -27,11 +27,11 @@
if(!WT.remove_fuel(0, user))
return
user << "You begin cutting \the [src] apart..."
- playsound(src.loc, "sound/items/Welder.ogg", 40, 1)
+ playsound(src.loc, WT.usesound, 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(!WT.isOn())
return
- playsound(src.loc, "sound/items/Welder.ogg", 50, 1)
+ playsound(src.loc, WT.usesound, 50, 1)
visible_message("[user] slices apart \the [src].",
"You cut \the [src] apart with \the [WT].",
"You hear welding.")
@@ -61,7 +61,7 @@
/obj/structure/kitchenspike/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/crowbar))
if(!has_buckled_mobs())
- playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
+ playsound(loc, I.usesound, 100, 1)
if(do_after(user, 20*I.toolspeed, target = src))
user << "You pry the spikes out of the frame."
deconstruct(TRUE)
diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm
index 3826c5397a9..5dabd381870 100644
--- a/code/game/objects/structures/musician.dm
+++ b/code/game/objects/structures/musician.dm
@@ -348,7 +348,7 @@
/obj/structure/piano/attackby(obj/item/O, mob/user, params)
if (istype(O, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, O.usesound, 50, 1)
user << " You begin to tighten \the [src] to the floor..."
if (do_after(user, 20*O.toolspeed, target = src))
user.visible_message( \
@@ -357,7 +357,7 @@
"You hear ratchet.")
anchored = 1
else if(anchored)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, O.usesound, 50, 1)
user << " You begin to loosen \the [src]'s casters..."
if (do_after(user, 40*O.toolspeed, target = src))
user.visible_message( \
diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm
index bc5557615ca..7f8e9c9ff58 100644
--- a/code/game/objects/structures/reflector.dm
+++ b/code/game/objects/structures/reflector.dm
@@ -45,7 +45,7 @@
if(anchored)
user << "Unweld the [src] first!"
if(do_after(user, 80*W.toolspeed, target = src))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user << "You dismantle the [src]."
new framebuildstacktype(loc, framebuildstackamount)
new buildstacktype(loc, buildstackamount)
diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm
index a88db7536cb..fbd7a9707c6 100644
--- a/code/game/objects/structures/signs.dm
+++ b/code/game/objects/structures/signs.dm
@@ -28,7 +28,7 @@
if(istype(O, /obj/item/weapon/wrench) && buildable_sign)
user.visible_message("[user] starts removing [src]...", \
"You start unfastening [src].")
- playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src, O.usesound, 50, 1)
if(!do_after(user, 30*O.toolspeed, target = src))
return
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -265,5 +265,3 @@
name = "escape arm"
desc = "A direction sign, pointing out which way the escape shuttle dock is."
icon_state = "direction_evac"
-
-
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index 3fd1e5c2b9d..fe4f6d8d632 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -19,7 +19,7 @@
user.changeNext_move(CLICK_CD_MELEE)
if(istype(W, /obj/item/weapon/wrench))
if(anchored)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
+ playsound(src.loc, W.usesound, 100, 1)
user.visible_message("[user] is loosening the [name]'s bolts.", \
"You are loosening the [name]'s bolts...")
if(do_after(user,40*W.toolspeed, target = src))
@@ -32,7 +32,7 @@
if(!isfloorturf(src.loc))
user.visible_message("A floor must be present to secure the [name]!")
return
- playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
+ playsound(src.loc, W.usesound, 100, 1)
user.visible_message("[user] is securing the [name]'s bolts...", \
"You are securing the [name]'s bolts...")
if(do_after(user, 40*W.toolspeed, target = src))
@@ -63,7 +63,7 @@
qdel(src)
else if(istype(W, /obj/item/weapon/weldingtool) && !anchored)
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, W.usesound, 40, 1)
user.visible_message("[user] is slicing apart the [name].", \
"You are slicing apart the [name]...")
if(do_after(user, 40*W.toolspeed, target = src))
@@ -322,4 +322,4 @@
/obj/structure/statue/snow/snowman
name = "snowman"
desc = "Several lumps of snow put together to form a snowman."
- icon_state = "snowman"
\ No newline at end of file
+ icon_state = "snowman"
diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm
index e1f81dc9ec0..7e6c66e1f0d 100644
--- a/code/game/objects/structures/table_frames.dm
+++ b/code/game/objects/structures/table_frames.dm
@@ -25,7 +25,7 @@
/obj/structure/table_frame/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
user << "You start disassembling [src]..."
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
deconstruct(TRUE)
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 84c93456db5..e0a231e7c2a 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -102,14 +102,14 @@
if(istype(I, /obj/item/weapon/screwdriver) && deconstruction_ready)
user << "You start disassembling [src]..."
playsound(src.loc, I.usesound, 50, 1)
- if(do_after(user, 20, target = src))
+ if(do_after(user, 20*I.toolspeed, target = src))
deconstruct(TRUE)
return
if(istype(I, /obj/item/weapon/wrench) && deconstruction_ready)
user << "You start deconstructing [src]..."
playsound(src.loc, I.usesound, 50, 1)
- if(do_after(user, 40, target = src))
+ if(do_after(user, 40*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
deconstruct(TRUE, 1)
return
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index cea4e779eeb..0fcfafdf536 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -134,7 +134,7 @@
if(obj_integrity < max_integrity)
if(WT.remove_fuel(0,user))
user << "You begin repairing [src]..."
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 054359aeb6b..ea0431e0ed9 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -147,7 +147,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
if(floor_tile)
PoolOrNew(floor_tile, src)
make_plating()
- playsound(src, 'sound/items/Crowbar.ogg', 80, 1)
+ playsound(src, C.usesound, 80, 1)
return 1
return 0
@@ -185,4 +185,3 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
/turf/open/floor/acid_melt()
ChangeTurf(baseturf)
-
diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm
index 15d337c8922..203f46e07ba 100644
--- a/code/game/turfs/simulated/floor/misc_floor.dm
+++ b/code/game/turfs/simulated/floor/misc_floor.dm
@@ -134,11 +134,11 @@
/turf/open/floor/clockwork/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/crowbar))
user.visible_message("[user] begins slowly prying up [src]...", "You begin painstakingly prying up [src]...")
- playsound(src, 'sound/items/Crowbar.ogg', 20, 1)
+ playsound(src, I.usesound, 20, 1)
if(!do_after(user, 70*I.toolspeed, target = src))
return 0
user.visible_message("[user] pries up [src]!", "You pry up [src]!")
- playsound(src, 'sound/items/Crowbar.ogg', 80, 1)
+ playsound(src, I.usesound, 80, 1)
make_plating()
return 1
return ..()
@@ -214,4 +214,4 @@
for(var/obj/structure/spacevine/SV in src)
qdel(SV)
. = ..()
- UpdateAffectingLights()
\ No newline at end of file
+ UpdateAffectingLights()
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index 65355893159..de9cabe70bf 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -65,7 +65,7 @@
if( welder.isOn() && (broken || burnt) )
if(welder.remove_fuel(0,user))
user << "You fix some dents on the broken plating."
- playsound(src, 'sound/items/Welder.ogg', 80, 1)
+ playsound(src, welder.usesound, 80, 1)
icon_state = icon_plating
burnt = 0
broken = 0
diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm
index 83b63bd6c82..662985e7b99 100644
--- a/code/game/turfs/simulated/floor/reinf_floor.dm
+++ b/code/game/turfs/simulated/floor/reinf_floor.dm
@@ -25,7 +25,7 @@
return
if(istype(C, /obj/item/weapon/wrench))
user << "You begin removing rods..."
- playsound(src, 'sound/items/Ratchet.ogg', 80, 1)
+ playsound(src, C.usesound, 80, 1)
if(do_after(user, 30*C.toolspeed, target = src))
if(!istype(src, /turf/open/floor/engine))
return
diff --git a/code/game/turfs/simulated/wall/misc_walls.dm b/code/game/turfs/simulated/wall/misc_walls.dm
index e255b6bc512..84f5c48b04f 100644
--- a/code/game/turfs/simulated/wall/misc_walls.dm
+++ b/code/game/turfs/simulated/wall/misc_walls.dm
@@ -83,7 +83,7 @@
var/obj/item/weapon/weldingtool/WT = I
if(!WT.remove_fuel(0,user))
return 0
- playsound(src, 'sound/items/Welder.ogg', 100, 1)
+ playsound(src, WT.usesound, 100, 1)
user.visible_message("[user] begins slowly breaking down [src]...", "You begin painstakingly destroying [src]...")
if(!do_after(user, 120*WT.toolspeed, target = src))
return 0
@@ -156,5 +156,3 @@
desc = "A huge chunk of rusted reinforced metal."
icon = 'icons/turf/walls/rusty_reinforced_wall.dmi'
hardness = 15
-
-
diff --git a/code/game/turfs/simulated/wall/reinf_walls.dm b/code/game/turfs/simulated/wall/reinf_walls.dm
index a369c41c177..0d042d2e6a9 100644
--- a/code/game/turfs/simulated/wall/reinf_walls.dm
+++ b/code/game/turfs/simulated/wall/reinf_walls.dm
@@ -142,7 +142,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
user << "You begin welding the metal cover back to the frame..."
- playsound(src, 'sound/items/Welder.ogg', 100, 1)
+ playsound(src, WT.usesound, 100, 1)
if(do_after(user, 60*WT.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != CUT_COVER)
return 1
@@ -201,7 +201,7 @@
if(istype(W, /obj/item/weapon/wrench))
user << "You start tightening the bolts which secure the support rods to their frame..."
- playsound(src, 'sound/items/Ratchet.ogg', 100, 1)
+ playsound(src, W.usesound, 100, 1)
if(do_after(user, 40*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_RODS)
return 1
@@ -225,7 +225,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
user << "You begin welding the support rods back together..."
- playsound(src, 'sound/items/Welder.ogg', 100, 1)
+ playsound(src, WT.usesound, 100, 1)
if(do_after(user, 100*WT.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != SHEATH)
return 1
diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm
index 2111f11e304..191e56f1723 100644
--- a/code/modules/atmospherics/machinery/atmosmachinery.dm
+++ b/code/modules/atmospherics/machinery/atmosmachinery.dm
@@ -136,7 +136,7 @@ Pipelines + Other Objects -> Pipe network
var/unsafe_wrenching = FALSE
var/internal_pressure = int_air.return_pressure()-env_air.return_pressure()
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user << "You begin to unfasten \the [src]..."
if (internal_pressure > 2*ONE_ATMOSPHERE)
user << "As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?"
@@ -288,4 +288,3 @@ Pipelines + Other Objects -> Pipe network
//Used for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it.
/obj/machinery/atmospherics/proc/can_see_pipes()
return 1
-
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
index 643fdd2a241..f9897593750 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
@@ -247,7 +247,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if (WT.remove_fuel(0,user))
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
user << "You begin welding the vent..."
if(do_after(user, 20*W.toolspeed, target = src))
if(!src || !WT.isOn()) return
@@ -300,4 +300,4 @@
#undef NO_BOUND
#undef SIPHONING
-#undef RELEASING
\ No newline at end of file
+#undef RELEASING
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
index 6b825b1d42c..2b535e472a7 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
@@ -339,7 +339,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
user << "Now welding the scrubber."
if(do_after(user, 20*W.toolspeed, target = src))
if(!src || !WT.isOn())
diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm
index 711b5746ba2..18fecd84249 100644
--- a/code/modules/atmospherics/machinery/other/meter.dm
+++ b/code/modules/atmospherics/machinery/other/meter.dm
@@ -98,7 +98,7 @@
/obj/machinery/meter/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user << "You begin to unfasten \the [src]..."
if (do_after(user, 40*W.toolspeed, target = src))
user.visible_message( \
@@ -141,4 +141,3 @@
/obj/machinery/meter/turf/initialize()
if (!target)
src.target = loc
-
diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm
index 49b5824890e..9b992ce623b 100644
--- a/code/modules/atmospherics/machinery/portable/canister.dm
+++ b/code/modules/atmospherics/machinery/portable/canister.dm
@@ -203,7 +203,7 @@
if(stat & BROKEN)
if(!WT.remove_fuel(0, user))
return
- playsound(loc, 'sound/items/Welder.ogg', 40, 1)
+ playsound(loc, WT.usesound, 40, 1)
user << "You begin cutting [src] apart..."
if(do_after(user, 30, target = src))
deconstruct(TRUE)
diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
index de885f918fb..c5c510f95cb 100644
--- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
+++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
@@ -91,7 +91,7 @@
if(!(stat & BROKEN))
if(connected_port)
disconnect()
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user.visible_message( \
"[user] disconnects [src].", \
"You unfasten [src] from the port.", \
@@ -106,7 +106,7 @@
if(!connect(possible_port))
user << "[name] failed to connect to the port."
return
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user.visible_message( \
"[user] connects [src].", \
"You fasten [src] to the port.", \
@@ -123,4 +123,4 @@
else
investigate_log("was smacked with \a [I] by [key_name(user)].", "atmos")
add_fingerprint(user)
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index ec0cec172db..9d9b41f84ff 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -45,7 +45,7 @@
if(istype(W, /obj/item/weapon/wirecutters))
if(can_be_cut && icon_state == initial(icon_state))//only if not dyed
user << "You snip the fingertips off of [src]."
- playsound(user.loc,'sound/items/Wirecutter.ogg', rand(10,50), 1)
+ playsound(user.loc, W.usesound, rand(10,50), 1)
new /obj/item/clothing/gloves/fingerless(user.loc)
qdel(src)
..()
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 2b184b89dd0..ebacae58aa9 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -823,7 +823,7 @@
if(!anchored && !isinspace())
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)
+ playsound(loc, O.usesound, 50, 1)
if (do_after(user, 20*O.toolspeed, target = src))
if(anchored)
return
@@ -833,7 +833,7 @@
else if(anchored)
user.visible_message("[user] begins to unwrench [src].", \
"You begin to unwrench [src]...")
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, O.usesound, 50, 1)
if (do_after(user, 20*O.toolspeed, target = src))
if(!anchored)
return
@@ -843,7 +843,7 @@
else if(istype(O, /obj/item/weapon/wirecutters) && unwrenchable)
using_irrigation = !using_irrigation
- playsound(src, 'sound/items/Wirecutter.ogg', 50, 1)
+ playsound(src, O.usesound, 50, 1)
user.visible_message("[user] [using_irrigation ? "" : "dis"]connects [src]'s irrigation hoses.", \
"You [using_irrigation ? "" : "dis"]connect [src]'s irrigation hoses.")
for(var/obj/machinery/hydroponics/h in range(1,src))
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index 6d5f0e6ea29..2fef96919e9 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -39,13 +39,13 @@
switch(state)
if(0)
if(istype(I, /obj/item/weapon/wrench))
- playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
+ playsound(loc, I.usesound, 100, 1)
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)
+ playsound(loc, I.usesound, 100, 1)
if(do_after(user, 20*I.toolspeed, target = src))
user << "You pry the frame apart."
deconstruct(TRUE)
@@ -59,7 +59,7 @@
state = 2
icon_state = "book-0"
if(istype(I, /obj/item/weapon/wrench))
- playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
+ playsound(loc, I.usesound, 100, 1)
user << "You unwrench the frame."
anchored = 0
state = 0
@@ -87,7 +87,7 @@
if(contents.len)
user << "You need to remove the books first!"
else
- playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
+ playsound(loc, I.usesound, 100, 1)
user << "You pry the shelf out."
new /obj/item/stack/sheet/mineral/wood(loc, 2)
state = 1
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index e50d1499907..60f841088ea 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -358,7 +358,7 @@
/obj/item/device/gps/computer/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user.visible_message("[user] disassembles the gps.", \
"You start to disassemble the gps...", "You hear clanking and banging noises.")
if(do_after(user, 20*W.toolspeed, target = src))
@@ -431,7 +431,7 @@
/obj/structure/fans/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT))
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user.visible_message("[user] disassembles the fan.", \
"You start to disassemble the fan...", "You hear clanking and banging noises.")
if(do_after(user, 20*W.toolspeed, target = src))
diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm
index 5a873df3d19..4b64884ccf8 100644
--- a/code/modules/mining/satchel_ore_boxdm.dm
+++ b/code/modules/mining/satchel_ore_boxdm.dm
@@ -20,7 +20,7 @@
S.remove_from_storage(O, src) //This will move the item to this item's contents
user << "You empty the ore in [S] into \the [src]."
else if(istype(W, /obj/item/weapon/crowbar))
- playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
+ playsound(loc, W.usesound, 50, 1)
var/obj/item/weapon/crowbar/C = W
if(do_after(user, 50*C.toolspeed, target = src))
user.visible_message("[user] pries \the [src] apart.", "You pry apart \the [src].", "You hear splitting wood.")
@@ -70,4 +70,4 @@
if(user)
WD.add_fingerprint(user)
dump_box_contents()
- qdel(src)
\ No newline at end of file
+ qdel(src)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index f6a41f460dd..fd51e4f5edc 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -418,7 +418,7 @@
spark_system.start()
return
else
- playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src, W.usesound, 50, 1)
user << "You start to unfasten [src]'s securing bolts..."
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!")
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 20eb47f5e7f..d884482ae5b 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
@@ -95,7 +95,7 @@
else if(istype(I, /obj/item/weapon/wrench) && user != src) //They aren't required to be hacked, because laws can change in other ways (i.e. admins)
user.visible_message("[user] starts resetting [src]...", \
"You press down on [src]'s factory reset control...")
- playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(src, I.usesound, 50, 1)
if(!do_after(user, 50*I.toolspeed, target = src))
return
user.visible_message("[user] resets [src]!", \
@@ -199,4 +199,3 @@
name = "Select Vision Filter"
button_icon_state = "drone_vision"
procname = /mob/living/simple_animal/drone/verb/toggle_statics
-
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index 8cf41f3a6bd..634aaf90fe7 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -55,7 +55,7 @@
updateUsrDialog()
else if(istype(P, /obj/item/weapon/wrench))
user << "You begin to [anchored ? "wrench" : "unwrench"] [src]."
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, P.usesound, 50, 1)
if(do_after(user, 20, target = src))
user << "You successfully [anchored ? "wrench" : "unwrench"] [src]."
anchored = !anchored
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 139129da822..d2dc6e34dbf 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -298,7 +298,7 @@
if(isinspace())
user << "There's nothing to fasten [src] to!"
return
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, O.usesound, 50, 1)
user << "You start [anchored ? "unwrenching" : "wrenching"] [src]..."
if(do_after(user, 20*O.toolspeed, target = src))
if(qdeleted(src))
diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm
index 10e864deb8d..485165fa681 100644
--- a/code/modules/power/antimatter/control.dm
+++ b/code/modules/power/antimatter/control.dm
@@ -160,14 +160,14 @@
/obj/machinery/power/am_control_unit/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(!anchored)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] secures the [src.name] to the floor.", \
"You secure the anchor bolts to the floor.", \
"You hear a ratchet.")
src.anchored = 1
connect_to_network()
else if(!linked_shielding.len > 0)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] unsecures the [src.name].", \
"You remove the anchor bolts.", \
"You hear a ratchet.")
@@ -360,4 +360,4 @@
check_core_stability()
updateDialog()
- return
\ No newline at end of file
+ return
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 3bfa193934e..5431c834e44 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -552,7 +552,7 @@
user.visible_message("[user.name] welds [src].", \
"You start welding the APC frame...", \
"You hear welding.")
- playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
+ playsound(src.loc, WT.usesound, 50, 1)
if(do_after(user, 50*W.toolspeed, target = src))
if(!src || !WT.remove_fuel(3, user)) return
if ((stat & BROKEN) || opened==2)
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index 2e3bec5e47a..f8f1b905268 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -81,14 +81,14 @@ var/global/list/rad_collectors = list()
user << "Remove the plasma tank first!"
return 1
if(!anchored && !isinspace())
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
anchored = 1
user.visible_message("[user.name] secures the [src.name].", \
"You secure the external bolts.", \
"You hear a ratchet.")
connect_to_network()
else if(anchored)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
anchored = 0
user.visible_message("[user.name] unsecures the [src.name].", \
"You unsecure the external bolts.", \
@@ -157,4 +157,3 @@ var/global/list/rad_collectors = list()
flick("ca_deactive", src)
update_icons()
return
-
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 2f84aa2784c..3164bccbf90 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -215,14 +215,14 @@
if(0)
if(isinspace()) return
state = 1
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] secures [src.name] to the floor.", \
"You secure the external reinforcing bolts to the floor.", \
"You hear a ratchet")
src.anchored = 1
if(1)
state = 0
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
"You undo the external reinforcing bolts.", \
"You hear a ratchet.")
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index ae66949a54d..1ee60307cf0 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -91,14 +91,14 @@ field_generator power level display
if(FG_UNSECURED)
if(isinspace()) return
state = FG_SECURED
- playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(loc, W.usesound, 75, 1)
user.visible_message("[user.name] secures [name] to the floor.", \
"You secure the external reinforcing bolts to the floor.", \
"You hear ratchet.")
anchored = 1
if(FG_SECURED)
state = FG_UNSECURED
- playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(loc, W.usesound, 75, 1)
user.visible_message("[user.name] unsecures [name] reinforcing bolts from the floor.", \
"You undo the external reinforcing bolts.", \
"You hear ratchet.")
diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm
index c1aba816b87..fec3ffd8a34 100644
--- a/code/modules/power/singularity/generator.dm
+++ b/code/modules/power/singularity/generator.dm
@@ -26,13 +26,13 @@
user.visible_message("[user.name] secures [src.name] to the floor.", \
"You secure the [src.name] to the floor.", \
"You hear a ratchet.")
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
anchored = 1
else if(anchored)
user.visible_message("[user.name] unsecures [src.name] from the floor.", \
"You unsecure the [src.name] from the floor.", \
"You hear a ratchet.")
- playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(src.loc, W.usesound, 75, 1)
anchored = 0
else
return ..()
diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
index 64538f978c1..0b86f0a3545 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
@@ -99,7 +99,7 @@
switch(construction_state)
if(PA_CONSTRUCTION_UNSECURED)
if(istype(W, /obj/item/weapon/wrench) && !isinspace())
- playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(loc, W.usesound, 75, 1)
anchored = 1
user.visible_message("[user.name] secures the [name] to the floor.", \
"You secure the external bolts.")
@@ -107,7 +107,7 @@
did_something = TRUE
if(PA_CONSTRUCTION_UNWIRED)
if(istype(W, /obj/item/weapon/wrench))
- playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(loc, W.usesound, 75, 1)
anchored = 0
user.visible_message("[user.name] detaches the [name] from the floor.", \
"You remove the external bolts.")
diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm
index e19bfbfc589..0bdaea83a66 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_control.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm
@@ -271,7 +271,7 @@
switch(construction_state)
if(PA_CONSTRUCTION_UNSECURED)
if(istype(W, /obj/item/weapon/wrench) && !isinspace())
- playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(loc, W.usesound, 75, 1)
anchored = 1
user.visible_message("[user.name] secures the [name] to the floor.", \
"You secure the external bolts.")
@@ -279,7 +279,7 @@
did_something = TRUE
if(PA_CONSTRUCTION_UNWIRED)
if(istype(W, /obj/item/weapon/wrench))
- playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
+ playsound(loc, W.usesound, 75, 1)
anchored = 0
user.visible_message("[user.name] detaches the [name] from the floor.", \
"You remove the external bolts.")
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 4fc3f39acfa..65fed246a27 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -31,7 +31,7 @@
if(istype(A, /obj/item/weapon/crowbar))
if(modkits.len)
user << "You pry the modifications out."
- playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
+ playsound(loc, A.usesound, 100, 1)
for(var/obj/item/borg/upgrade/modkit/M in modkits)
M.uninstall(src)
else
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index d0544411c21..09337e8e2fa 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -130,7 +130,7 @@
else if(istype(I, /obj/item/weapon/wrench))
if(!(stat & BROKEN))
- playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ playsound(loc, I.usesound, 50, 1)
setDir(turn(dir,-45))
update_move_direction()
user << "You rotate [src]."
diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm
index 1d4cbc1cf32..447e5a70695 100644
--- a/code/modules/recycling/disposal-construction.dm
+++ b/code/modules/recycling/disposal-construction.dm
@@ -224,7 +224,7 @@
level = 1 // We don't want disposal bins to disappear under the floors
density = 0
user << "You attach the [nicetype] to the underfloor."
- playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
+ playsound(loc, I.usesound, 100, 1)
update_icon()
else if(istype(I, /obj/item/weapon/weldingtool))
diff --git a/code/modules/recycling/disposal-unit.dm b/code/modules/recycling/disposal-unit.dm
index 3e8033772e4..40b66555f89 100644
--- a/code/modules/recycling/disposal-unit.dm
+++ b/code/modules/recycling/disposal-unit.dm
@@ -77,7 +77,7 @@
mode = SCREWS_OUT
else
mode = PRESSURE_OFF
- playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(src.loc, I.usesound, 50, 1)
user << "You [mode == SCREWS_OUT ? "remove":"attach"] the screws around the power connection."
return
else if(istype(I,/obj/item/weapon/weldingtool) && mode == SCREWS_OUT)
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index 20f35932e6d..c44cbc2db32 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -526,6 +526,66 @@ other types of metals and chemistry for reagents).
materials = list(MAT_METAL = 4500, MAT_SILVER = 2500, MAT_TITANIUM = 3500)
category = list("Equipment")
+/datum/design/alienwrench
+ name = "Alien Wrench"
+ desc = "An advanced wrench obtained through Abductor technology."
+ id = "alien_wrench"
+ req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
+ build_path = /obj/item/weapon/wrench/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Equipment")
+
+/datum/design/alienwirecutters
+ name = "Alien Wirecutters"
+ desc = "Advanced wirecutters obtained through Abductor technology."
+ id = "alien_wirecutters"
+ req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
+ build_path = /obj/item/weapon/wirecutters/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Equipment")
+
+/datum/design/alienscrewdriver
+ name = "Alien Screwdriver"
+ desc = "An advanced screwdriver obtained through Abductor technology."
+ id = "alien_screwdriver"
+ req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
+ build_path = /obj/item/weapon/screwdriver/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Equipment")
+
+/datum/design/aliencrowbar
+ name = "Alien Crowbar"
+ desc = "An advanced crowbar obtained through Abductor technology."
+ id = "alien_crowbar"
+ req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
+ build_path = /obj/item/weapon/crowbar/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Equipment")
+
+/datum/design/alienwelder
+ name = "Alien Welding Tool"
+ desc = "An advanced welding tool obtained through Abductor technology."
+ id = "alien_welder"
+ req_tech = list("engineering" = 5, "plasmatech" = 5, "abductor" = 4)
+ build_path = /obj/item/weapon/weldingtool/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Equipment")
+
+/datum/design/alienmultitool
+ name = "Alien Multitool"
+ desc = "An advanced multitool obtained through Abductor technology."
+ id = "alien_multitool"
+ req_tech = list("engineering" = 5, "programming" = 5, "abductor" = 4)
+ build_path = /obj/item/device/multitool/abductor
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
+ category = list("Equipment")
+
/datum/design/diskplantgene
name = "Plant data disk"
desc = "A disk for storing plant genetic data."
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 876c43fa4b6..18831a9934f 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -115,6 +115,66 @@
build_path = /obj/item/device/extinguisher_refill
category = list("Medical Designs")
+/datum/design/alienscalpel
+ name = "Alien Scalpel"
+ desc = "An advanced scalpel obtained through Abductor technology."
+ id = "alien_scalpel"
+ req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
+ build_path = /obj/item/weapon/scalpel/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
+ category = list("Medical Designs")
+
+/datum/design/alienhemostat
+ name = "Alien Hemostat"
+ desc = "An advanced hemostat obtained through Abductor technology."
+ id = "alien_hemostat"
+ req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
+ build_path = /obj/item/weapon/hemostat/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
+ category = list("Medical Designs")
+
+/datum/design/alienretractor
+ name = "Alien Retractor"
+ desc = "An advanced retractor obtained through Abductor technology."
+ id = "alien_retractor"
+ req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
+ build_path = /obj/item/weapon/retractor/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
+ category = list("Medical Designs")
+
+/datum/design/aliensaw
+ name = "Alien Circular Saw"
+ desc = "An advanced surgical saw obtained through Abductor technology."
+ id = "alien_saw"
+ req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
+ build_path = /obj/item/weapon/circular_saw/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500)
+ category = list("Medical Designs")
+
+/datum/design/aliendrill
+ name = "Alien Drill"
+ desc = "An advanced drill obtained through Abductor technology."
+ id = "alien_drill"
+ req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
+ build_path = /obj/item/weapon/surgicaldrill/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500)
+ category = list("Medical Designs")
+
+/datum/design/aliencautery
+ name = "Alien Cautery"
+ desc = "An advanced cautery obtained through Abductor technology."
+ id = "alien_cautery"
+ req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
+ build_path = /obj/item/weapon/cautery/alien
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
+ category = list("Medical Designs")
+
/////////////////////////////////////////
//////////Cybernetic Implants////////////
/////////////////////////////////////////
diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm
index a5cefa1a0a7..24a9622a33d 100644
--- a/code/modules/surgery/bodyparts/robot_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm
@@ -128,7 +128,7 @@
user << "You insert the flash into the eye socket."
else if(istype(W, /obj/item/weapon/crowbar))
if(flash1 || flash2)
- playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
+ playsound(src.loc, W.usesound, 50, 1)
user << "You remove the flash from [src]."
if(flash1)
flash1.forceMove(user.loc)
diff --git a/code/modules/surgery/organs/autoimplanter.dm b/code/modules/surgery/organs/autoimplanter.dm
index 34cd550d5dc..b8d8ea21f07 100644
--- a/code/modules/surgery/organs/autoimplanter.dm
+++ b/code/modules/surgery/organs/autoimplanter.dm
@@ -51,7 +51,7 @@
var/turf/open/floorloc = get_turf(user)
floorloc.contents += contents
user << "You remove the [storedorgan] from [src]."
- playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(get_turf(user), I.usesound, 50, 1)
storedorgan = null
if(uses != INFINITE)
uses--
diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm
index 6017784f611..3e08808ebc4 100644
--- a/code/modules/surgery/surgery_step.dm
+++ b/code/modules/surgery/surgery_step.dm
@@ -42,7 +42,7 @@
surgery.step_in_progress = 0
return
- if(do_after(user, time, target = target))
+ if(do_after(user, time * tool.toolspeed, target = target))
var/advance = 0
var/prob_chance = 100
diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm
index 9955958c4af..e2ce393bc48 100644
--- a/code/modules/telesci/telepad.dm
+++ b/code/modules/telesci/telepad.dm
@@ -75,11 +75,11 @@
user << "\The [src] is now secured."
else if(istype(W, /obj/item/weapon/screwdriver))
if(stage == 0)
- playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(src, W.usesound, 50, 1)
user << "You unscrew the telepad's tracking beacon."
stage = 1
else if(stage == 1)
- playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(src, W.usesound, 50, 1)
user << "You screw in the telepad's tracking beacon."
stage = 0
else if(istype(W, /obj/item/weapon/weldingtool) && stage == 1)
diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm
index 535d407358a..a70a6a495ec 100644
--- a/code/modules/vehicles/scooter.dm
+++ b/code/modules/vehicles/scooter.dm
@@ -122,7 +122,7 @@
/obj/vehicle/scooter/skateboard/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
user << "You begin to deconstruct and remove the wheels on [src]..."
- playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1)
+ playsound(get_turf(user), I.usesound, 50, 1)
if(do_after(user, 20, target = src))
user << "You deconstruct the wheels on [src]."
new /obj/item/stack/sheet/metal(get_turf(src),5)
diff --git a/icons/obj/abductor.dmi b/icons/obj/abductor.dmi
index 13dac82bed7..88d50bb6026 100644
Binary files a/icons/obj/abductor.dmi and b/icons/obj/abductor.dmi differ