diff --git a/code/__defines/sound.dm b/code/__defines/sound.dm
index 412645f4d4..f155f5c736 100644
--- a/code/__defines/sound.dm
+++ b/code/__defines/sound.dm
@@ -69,7 +69,9 @@
// Restricted, military, or mercenary aligned locations like the armory, the merc ship/base, BSD, etc.
#define AMBIENCE_HIGHSEC list(\
'sound/ambience/highsec/highsec1.ogg',\
- 'sound/ambience/highsec/highsec2.ogg'\
+ 'sound/ambience/highsec/highsec2.ogg',\
+ 'sound/ambience/highsec/highsec3.ogg',\
+ 'sound/ambience/highsec/highsec4.ogg'\
)
// Ruined structures found on the surface or in the caves.
@@ -107,14 +109,19 @@
#define AMBIENCE_GENERIC list(\
'sound/ambience/generic/generic1.ogg',\
'sound/ambience/generic/generic2.ogg',\
- 'sound/ambience/generic/generic3.ogg',\
- 'sound/ambience/generic/generic4.ogg'\
+ 'sound/ambience/generic/generic3.ogg'\
)
+// 'sound/ambience/generic/generic4.ogg'\ // VOREStation Edit: Comment out entry 4 as this doesn't fit on Virgo, and we have our own weather system.
// Sounds of PA announcements, presumably involving shuttles?
#define AMBIENCE_ARRIVALS list(\
'sound/ambience/arrivals/arrivals1.ogg',\
- 'sound/ambience/arrivals/arrivals2.ogg'\
+ 'sound/ambience/arrivals/arrivals2.ogg',\
+ 'sound/ambience/arrivals/arrivals3.ogg',\
+ 'sound/ambience/arrivals/arrivals4.ogg',\
+ 'sound/ambience/arrivals/arrivals5.ogg',\
+ 'sound/ambience/arrivals/arrivals6.ogg',\
+ 'sound/ambience/arrivals/arrivals7.ogg'\
)
// Sounds suitable for being inside dark, tight corridors in the underbelly of the station.
@@ -123,7 +130,11 @@
'sound/ambience/maintenance/maintenance2.ogg',\
'sound/ambience/maintenance/maintenance3.ogg',\
'sound/ambience/maintenance/maintenance4.ogg',\
- 'sound/ambience/maintenance/maintenance5.ogg'\
+ 'sound/ambience/maintenance/maintenance5.ogg',\
+ 'sound/ambience/maintenance/maintenance6.ogg',\
+ 'sound/ambience/maintenance/maintenance7.ogg',\
+ 'sound/ambience/maintenance/maintenance8.ogg',\
+ 'sound/ambience/maintenance/maintenance9.ogg'\
)
// Life support machinery at work, keeping everyone breathing.
@@ -135,7 +146,9 @@
// Creepy AI/borg stuff.
#define AMBIENCE_AI list(\
- 'sound/ambience/ai/ai1.ogg'\
+ 'sound/ambience/ai/ai1.ogg',\
+ 'sound/ambience/ai/ai2.ogg',\
+ 'sound/ambience/ai/ai3.ogg'\
)
// Peaceful sounds when floating in the void.
@@ -178,4 +191,32 @@
// For the memes.
#define AMBIENCE_AESTHETIC list(\
'sound/ambience/vaporwave.ogg'\
+ )
+
+#define AMBIENCE_OUTPOST list(\
+ 'sound/ambience/expoutpost/expoutpost1.ogg',\
+ 'sound/ambience/expoutpost/expoutpost2.ogg',\
+ 'sound/ambience/expoutpost/expoutpost3.ogg',\
+ 'sound/ambience/expoutpost/expoutpost4.ogg'\
+ )
+
+#define AMBIENCE_SUBSTATION list(\
+ 'sound/ambience/substation/substation1.ogg',\
+ 'sound/ambience/substation/substation2.ogg'\
+ )
+
+#define AMBIENCE_HANGAR list(\
+ 'sound/ambience/hangar/hangar1.ogg',\
+ 'sound/ambience/hangar/hangar2.ogg',\
+ 'sound/ambience/hangar/hangar3.ogg',\
+ 'sound/ambience/hangar/hangar4.ogg',\
+ 'sound/ambience/hangar/hangar5.ogg',\
+ 'sound/ambience/hangar/hangar6.ogg'\
+ )
+
+#define AMBIENCE_ATMOS list(\
+ 'sound/ambience/engineering/engineering1.ogg',\
+ 'sound/ambience/engineering/engineering2.ogg',\
+ 'sound/ambience/engineering/engineering3.ogg',\
+ 'sound/ambience/atmospherics/atmospherics1.ogg'\
)
\ No newline at end of file
diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm
index 325558f8b1..9e7f3cf2e3 100644
--- a/code/controllers/subsystems/ticker.dm
+++ b/code/controllers/subsystems/ticker.dm
@@ -83,6 +83,7 @@ var/global/datum/controller/subsystem/ticker/ticker
/datum/controller/subsystem/ticker/proc/pregame_welcome()
to_world("Welcome to the pregame lobby!")
to_world("Please set up your character and select ready. The round will start in [pregame_timeleft] seconds.")
+ world << sound('sound/misc/server-ready.ogg', volume = 100)
// Called during GAME_STATE_PREGAME (RUNLEVEL_LOBBY)
/datum/controller/subsystem/ticker/proc/pregame_tick()
diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm
index 99af50bf42..b16f9ddc35 100644
--- a/code/datums/looping_sounds/_looping_sound.dm
+++ b/code/datums/looping_sounds/_looping_sound.dm
@@ -28,6 +28,8 @@
var/volume = 100
var/max_loops
var/direct
+ var/vary
+ var/extra_range
var/opacity_check
var/pref_check
@@ -89,7 +91,7 @@
continue
SEND_SOUND(thing, S)
else
- playsound(thing, S, volume, ignore_walls = !opacity_check, preference = pref_check)
+ playsound(thing, S, volume, vary, extra_range, ignore_walls = !opacity_check, preference = pref_check)
/datum/looping_sound/proc/get_sound(starttime, _mid_sounds)
if(!_mid_sounds)
diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm
index 3a9a0610a5..b52de0a7cf 100644
--- a/code/datums/looping_sounds/machinery_sounds.dm
+++ b/code/datums/looping_sounds/machinery_sounds.dm
@@ -9,9 +9,10 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/supermatter
- mid_sounds = list('sound/machines/sm/supermatter1.ogg'=1,'sound/machines/sm/supermatter2.ogg'=1,'sound/machines/sm/supermatter3.ogg'=1)
- mid_length = 10
- volume = 1
+ mid_sounds = list('sound/machines/sm/loops/calm.ogg'=1)
+ mid_length = 60
+ volume = 40
+ extra_range = 10
pref_check = /datum/client_preference/supermatter_hum
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -28,25 +29,74 @@
/datum/looping_sound/deep_fryer
- start_sound = 'sound/machines/fryer/deep_fryer_immerse.ogg' //my immersions
+ start_sound = 'sound/machines/kitchen/fryer/deep_fryer_immerse.ogg' //my immersions
start_length = 10
- mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1)
+ mid_sounds = list('sound/machines/kitchen/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/kitchen/fryer/deep_fryer_2.ogg' = 1)
mid_length = 2
- end_sound = 'sound/machines/fryer/deep_fryer_emerge.ogg'
+ end_sound = 'sound/machines/kitchen/fryer/deep_fryer_emerge.ogg'
volume = 15
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/microwave
- start_sound = 'sound/machines/microwave/microwave-start.ogg'
+ start_sound = 'sound/machines/kitchen/microwave/microwave-start.ogg'
start_length = 10
- mid_sounds = list('sound/machines/microwave/microwave-mid1.ogg'=10, 'sound/machines/microwave/microwave-mid2.ogg'=1)
+ mid_sounds = list('sound/machines/kitchen/microwave/microwave-mid1.ogg'=10, 'sound/machines/kitchen/microwave/microwave-mid2.ogg'=1)
mid_length = 10
- end_sound = 'sound/machines/microwave/microwave-end.ogg'
+ end_sound = 'sound/machines/kitchen/microwave/microwave-end.ogg'
volume = 90
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/datum/looping_sound/oven
+ start_sound = 'sound/machines/kitchen/oven/oven-start.ogg'
+ start_length = 10
+ mid_sounds = list('sound/machines/kitchen/oven/oven-mid1.ogg'=10)
+ mid_length = 40
+ end_sound = 'sound/machines/kitchen/oven/oven-stop.ogg'
+ volume = 50
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/datum/looping_sound/grill
+ start_sound = 'sound/machines/kitchen/grill/grill-start.ogg'
+ start_length = 10
+ mid_sounds = list('sound/machines/kitchen/grill/grill-mid1.ogg'=10)
+ mid_length = 40
+ end_sound = 'sound/machines/kitchen/grill/grill-stop.ogg'
+ volume = 50
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/datum/looping_sound/mixer
+ start_sound = 'sound/machines/kitchen/mixer/mixer-start.ogg'
+ start_length = 10
+ mid_sounds = list('sound/machines/kitchen/mixer/mixer-mid1.ogg'=10)
+ mid_length = 10
+ end_sound = 'sound/machines/kitchen/mixer/mixer-stop.ogg'
+ volume = 50
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/datum/looping_sound/cerealmaker
+ start_sound = 'sound/machines/kitchen/cerealmaker/cerealmaker-start.ogg'
+ start_length = 10
+ mid_sounds = list('sound/machines/kitchen/cerealmaker/cerealmaker-mid1.ogg'=10)
+ mid_length = 60
+ end_sound = 'sound/machines/kitchen/cerealmaker/cerealmaker-stop.ogg'
+ volume = 50
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/datum/looping_sound/candymaker
+ start_sound = 'sound/machines/kitchen/candymaker/candymaker-start.ogg'
+ start_length = 10
+ mid_sounds = list('sound/machines/kitchen/candymaker/candymaker-mid1.ogg'=10)
+ mid_length = 40
+ end_sound = 'sound/machines/kitchen/candymaker/candymaker-stop.ogg'
+ volume = 20
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/air_pump
start_sound = 'sound/machines/air_pump/airpumpstart.ogg'
start_length = 10
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index de7800acfb..18f889ffae 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -97,6 +97,7 @@
throw_speed = 1
throw_range = 20
drop_sound = 'sound/items/drop/rubber.ogg'
+ pickup_sound = 'sound/items/pickup/rubber.ogg'
afterattack(atom/target as mob|obj|turf|area, mob/user as mob)
user.drop_item()
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index e6ab31d4c9..bd36e2cbbe 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -79,6 +79,8 @@
/obj/item/weapon/disk
name = "disk"
icon = 'icons/obj/items.dmi'
+ drop_sound = 'sound/items/drop/disk.ogg'
+ pickup_sound = 'sound/items/pickup/disk.ogg'
/obj/item/weapon/disk/nuclear
name = "nuclear authentication disk"
diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm
index 20262fbcca..0c4e01a02b 100644
--- a/code/game/area/Space Station 13 areas.dm
+++ b/code/game/area/Space Station 13 areas.dm
@@ -280,6 +280,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/centcom/bathroom
name = "\improper CentCom Bathroom"
icon_state = "centcom_crew"
+ sound_env = SMALL_ENCLOSED
//SYNDICATES
@@ -736,6 +737,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Substation"
icon_state = "substation"
sound_env = SMALL_ENCLOSED
+ ambience = AMBIENCE_SUBSTATION
/area/maintenance/substation/engineering // Probably will be connected to engineering SMES room, as wires cannot be crossed properly without them sharing powernets.
name = "Engineering Substation"
@@ -1207,6 +1209,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/crew_quarters/recreation_area_restroom
name = "\improper Recreation Area Restroom"
icon_state = "recreation_area_restroom"
+ sound_env = SMALL_ENCLOSED
/area/crew_quarters/pool
name = "\improper Pool"
@@ -1232,6 +1235,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/crew_quarters/barrestroom
name = "\improper Cafeteria Restroom"
icon_state = "bar"
+ sound_env = SMALL_ENCLOSED
/area/crew_quarters/theatre
name = "\improper Theatre"
@@ -1380,6 +1384,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "\improper Atmospherics"
icon_state = "atmos"
sound_env = LARGE_ENCLOSED
+ ambience = AMBIENCE_ATMOS
/area/engineering/atmos/monitoring
name = "\improper Atmospherics Monitoring Room"
@@ -1602,6 +1607,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/crew_quarters/medical_restroom
name = "\improper Medbay Restroom"
icon_state = "medbay_restroom"
+ sound_env = SMALL_ENCLOSED
/area/medical/patients_rooms
name = "\improper Patient's Rooms"
@@ -1795,6 +1801,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/security/security_bathroom
name = "\improper Security - Restroom"
icon_state = "security_bathroom"
+ sound_env = SMALL_ENCLOSED
/area/security/security_cell_hallway
name = "\improper Security - Cell Hallway"
@@ -1943,6 +1950,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/rnd/research_restroom
name = "\improper Research Restroom"
icon_state = "research_restroom"
+ sound_env = SMALL_ENCLOSED
/area/rnd/research_storage
name = "\improper Research Storage"
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index 827e9730da..df3750275d 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -7,6 +7,8 @@
force = 30
throwforce = 10
hitsound = 'sound/weapons/bladeslice.ogg'
+ drop_sound = 'sound/items/drop/sword.ogg'
+ pickup_sound = 'sound/items/pickup/sword.ogg'
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
edge = 1
sharp = 1
diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index d447637d5e..758ac976a0 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -55,6 +55,7 @@
M.forceMove(src)
occupant = M
icon_state = "body_scanner_1"
+ playsound(src, 'sound/machines/medbayscanner1.ogg', 50) // Beepboop you're being scanned. <3
add_fingerprint(user)
qdel(G)
if(!occupant)
@@ -98,6 +99,7 @@
O.forceMove(src)
occupant = O
icon_state = "body_scanner_1"
+ playsound(src, 'sound/machines/medbayscanner1.ogg', 50) // Beepboop you're being scanned. <3
add_fingerprint(user)
/obj/machinery/bodyscanner/relaymove(mob/user as mob)
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 019ed86bea..bbc1cdeebc 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -201,7 +201,7 @@
return
else if((occupant.health >= heal_level || occupant.health == occupant.getMaxHealth()) && (!eject_wait))
- playsound(src, 'sound/machines/ding.ogg', 50, 1)
+ playsound(src, 'sound/machines/medbayscanner1.ogg', 50, 1)
audible_message("\The [src] signals that the cloning process is complete.")
connected_message("Cloning Process Complete.")
locked = 0
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index a8e8c34edb..8ba63073f4 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -31,9 +31,9 @@
var/secured_wires = 0
var/datum/wires/airlock/wires = null
- var/open_sound_powered = 'sound/machines/airlock.ogg'
+ var/open_sound_powered = 'sound/machines/door/covert1o.ogg'
var/open_sound_unpowered = 'sound/machines/airlockforced.ogg'
- var/close_sound_powered = 'sound/machines/airlockclose.ogg'
+ var/close_sound_powered = 'sound/machines/door/covert1c.ogg'
var/denied_sound = 'sound/machines/deniedbeep.ogg'
var/bolt_up_sound = 'sound/machines/boltsup.ogg'
var/bolt_down_sound = 'sound/machines/boltsdown.ogg'
@@ -103,35 +103,49 @@
name = "Airlock"
icon = 'icons/obj/doors/Doorcom.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_com
+ open_sound_powered = 'sound/machines/door/cmd3o.ogg'
+ close_sound_powered = 'sound/machines/door/cmd3c.ogg'
/obj/machinery/door/airlock/security
name = "Airlock"
icon = 'icons/obj/doors/Doorsec.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_sec
+ open_sound_powered = 'sound/machines/door/sec1o.ogg'
+ close_sound_powered = 'sound/machines/door/sec1c.ogg'
/obj/machinery/door/airlock/engineering
name = "Airlock"
icon = 'icons/obj/doors/Dooreng.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_eng
+ open_sound_powered = 'sound/machines/door/eng1o.ogg'
+ close_sound_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/engineeringatmos
name = "Airlock"
icon = 'icons/obj/doors/Doorengatmos.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_eat
+ open_sound_powered = 'sound/machines/door/eng1o.ogg'
+ close_sound_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/medical
name = "Airlock"
icon = 'icons/obj/doors/Doormed.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_med
+ open_sound_powered = 'sound/machines/door/med1o.ogg'
+ close_sound_powered = 'sound/machines/door/med1c.ogg'
/obj/machinery/door/airlock/maintenance
name = "Maintenance Access"
icon = 'icons/obj/doors/Doormaint.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_mai
+ open_sound_powered = 'sound/machines/door/door2o.ogg'
+ close_sound_powered = 'sound/machines/door/door2c.ogg'
/obj/machinery/door/airlock/maintenance/cargo
icon = 'icons/obj/doors/Doormaint_cargo.dmi'
req_one_access = list(access_cargo)
+ open_sound_powered = 'sound/machines/door/door2o.ogg'
+ close_sound_powered = 'sound/machines/door/door2c.ogg'
/obj/machinery/door/airlock/maintenance/command
icon = 'icons/obj/doors/Doormaint_command.dmi'
@@ -139,6 +153,8 @@
/obj/machinery/door/airlock/maintenance/common
icon = 'icons/obj/doors/Doormaint_common.dmi'
+ open_sound_powered = 'sound/machines/door/hall3o.ogg'
+ close_sound_powered = 'sound/machines/door/hall3c.ogg'
/obj/machinery/door/airlock/maintenance/engi
icon = 'icons/obj/doors/Doormaint_engi.dmi'
@@ -163,6 +179,8 @@
name = "External Airlock"
icon = 'icons/obj/doors/Doorext.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_ext
+ open_sound_powered = 'sound/machines/door/space1o.ogg'
+ close_sound_powered = 'sound/machines/door/space1c.ogg'
/obj/machinery/door/airlock/external/glass/bolted
icon_state = "door_locked" // So it looks visibly bolted in map editor
@@ -178,12 +196,15 @@
assembly_type = /obj/structure/door_assembly/door_assembly_ext
opacity = 0
glass = 1
+ open_sound_powered = 'sound/machines/door/space1o.ogg'
+ close_sound_powered = 'sound/machines/door/space1c.ogg'
/obj/machinery/door/airlock/glass
name = "Glass Airlock"
icon = 'icons/obj/doors/Doorglass.dmi'
hitsound = 'sound/effects/Glasshit.ogg'
- open_sound_powered = 'sound/machines/windowdoor.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
maxhealth = 300
explosion_resistance = 5
opacity = 0
@@ -193,12 +214,16 @@
name = "Airlock"
icon = 'icons/obj/doors/Doorele.dmi'
opacity = 1
+ open_sound_powered = 'sound/machines/door/cmd3o.ogg'
+ close_sound_powered = 'sound/machines/door/cmd3c.ogg'
/obj/machinery/door/airlock/glass_centcom
name = "Airlock"
icon = 'icons/obj/doors/Dooreleglass.dmi'
opacity = 0
glass = 1
+ open_sound_powered = 'sound/machines/door/cmd3o.ogg'
+ close_sound_powered = 'sound/machines/door/cmd3c.ogg'
/obj/machinery/door/airlock/vault
name = "Vault"
@@ -207,6 +232,8 @@
opacity = 1
secured_wires = 1
assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites.
+ open_sound_powered = 'sound/machines/door/vault1o.ogg'
+ close_sound_powered = 'sound/machines/door/vault1c.ogg'
/obj/machinery/door/airlock/vault/bolted
icon_state = "door_locked"
@@ -224,6 +251,9 @@
explosion_resistance = 20
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_hatch
+ open_sound_powered = 'sound/machines/door/hatchopen.ogg'
+ close_sound_powered = 'sound/machines/door/hatchclose.ogg'
+ open_sound_unpowered = 'sound/machines/door/hatchforced.ogg'
/obj/machinery/door/airlock/maintenance_hatch
name = "Maintenance Hatch"
@@ -231,6 +261,9 @@
explosion_resistance = 20
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_mhatch
+ open_sound_powered = 'sound/machines/door/hatchopen.ogg'
+ close_sound_powered = 'sound/machines/door/hatchclose.ogg'
+ open_sound_unpowered = 'sound/machines/door/hatchforced.ogg'
/obj/machinery/door/airlock/glass_command
name = "Maintenance Hatch"
@@ -241,6 +274,8 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_com
glass = 1
+ open_sound_powered = 'sound/machines/door/cmd1o.ogg'
+ close_sound_powered = 'sound/machines/door/cmd1c.ogg'
/obj/machinery/door/airlock/glass_engineering
name = "Maintenance Hatch"
@@ -251,6 +286,8 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_eng
glass = 1
+ open_sound_powered = 'sound/machines/door/eng1o.ogg'
+ close_sound_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/glass_engineeringatmos
name = "Maintenance Hatch"
@@ -261,6 +298,8 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_eat
glass = 1
+ open_sound_powered = 'sound/machines/door/eng1o.ogg'
+ close_sound_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/glass_security
name = "Maintenance Hatch"
@@ -271,6 +310,8 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_sec
glass = 1
+ open_sound_powered = 'sound/machines/door/sec1o.ogg'
+ close_sound_powered = 'sound/machines/door/sec1c.ogg'
/obj/machinery/door/airlock/glass_medical
name = "Maintenance Hatch"
@@ -281,21 +322,29 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_med
glass = 1
+ open_sound_powered = 'sound/machines/door/med1o.ogg'
+ close_sound_powered = 'sound/machines/door/med1c.ogg'
/obj/machinery/door/airlock/mining
name = "Mining Airlock"
icon = 'icons/obj/doors/Doormining.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_min
+ open_sound_powered = 'sound/machines/door/cgo1o.ogg'
+ close_sound_powered = 'sound/machines/door/cgo1c.ogg'
/obj/machinery/door/airlock/atmos
name = "Atmospherics Airlock"
icon = 'icons/obj/doors/Dooratmo.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_atmo
+ open_sound_powered = 'sound/machines/door/eng1o.ogg'
+ close_sound_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/research
name = "Airlock"
icon = 'icons/obj/doors/Doorresearch.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_research
+ open_sound_powered = 'sound/machines/door/sci1o.ogg'
+ close_sound_powered = 'sound/machines/door/sci1c.ogg'
/obj/machinery/door/airlock/glass_research
name = "Maintenance Hatch"
@@ -306,7 +355,8 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_research
glass = 1
- heat_proof = 1
+ open_sound_powered = 'sound/machines/door/sci1o.ogg'
+ close_sound_powered = 'sound/machines/door/sci1c.ogg'
/obj/machinery/door/airlock/glass_mining
name = "Maintenance Hatch"
@@ -317,6 +367,8 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_min
glass = 1
+ open_sound_powered = 'sound/machines/door/cgo1o.ogg'
+ close_sound_powered = 'sound/machines/door/cgo1c.ogg'
/obj/machinery/door/airlock/glass_atmos
name = "Maintenance Hatch"
@@ -327,6 +379,8 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_atmo
glass = 1
+ open_sound_powered = 'sound/machines/door/eng1o.ogg'
+ close_sound_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/gold
name = "Gold Airlock"
@@ -405,6 +459,8 @@
name = "Airlock"
icon = 'icons/obj/doors/Doorsci.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_science
+ open_sound_powered = 'sound/machines/door/sci1o.ogg'
+ close_sound_powered = 'sound/machines/door/sci1c.ogg'
/obj/machinery/door/airlock/glass_science
name = "Glass Airlocks"
@@ -412,6 +468,8 @@
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_science
glass = 1
+ open_sound_powered = 'sound/machines/door/sci1o.ogg'
+ close_sound_powered = 'sound/machines/door/sci1c.ogg'
/obj/machinery/door/airlock/highsecurity
name = "Secure Airlock"
@@ -419,6 +477,8 @@
explosion_resistance = 20
secured_wires = 1
assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity
+ open_sound_powered = 'sound/machines/door/secure1o.ogg'
+ close_sound_powered = 'sound/machines/door/secure1c.ogg'
/obj/machinery/door/airlock/voidcraft
name = "voidcraft hatch"
@@ -428,11 +488,15 @@
opacity = 0
glass = 1
assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft
+ open_sound_powered = 'sound/machines/door/shuttle1o.ogg'
+ close_sound_powered = 'sound/machines/door/shuttle1c.ogg'
// Airlock opens from top-bottom instead of left-right.
/obj/machinery/door/airlock/voidcraft/vertical
icon = 'icons/obj/doors/shuttledoors_vertical.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_voidcraft/vertical
+ open_sound_powered = 'sound/machines/door/shuttle1o.ogg'
+ close_sound_powered = 'sound/machines/door/shuttle1c.ogg'
/datum/category_item/catalogue/anomalous/precursor_a/alien_airlock
diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm
index ec561032a1..7c1d83036e 100644
--- a/code/game/machinery/doors/multi_tile.dm
+++ b/code/game/machinery/doors/multi_tile.dm
@@ -4,6 +4,8 @@
appearance_flags = 0
var/obj/machinery/filler_object/filler1
var/obj/machinery/filler_object/filler2
+ open_sound_powered = 'sound/machines/door/WideOpen.ogg'
+ close_sound_powered = 'sound/machines/door/WideClose.ogg'
/obj/machinery/door/airlock/multi_tile/New()
..()
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index ff16c8d044..04e693aac0 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -810,6 +810,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster)
var/scribble=""
var/scribble_page = null
drop_sound = 'sound/items/drop/wrapper.ogg'
+ pickup_sound = 'sound/items/pickup/wrapper.ogg'
obj/item/weapon/newspaper/attack_self(mob/user as mob)
if(ishuman(user))
diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm
index f533a2da60..5c39a7e770 100644
--- a/code/game/objects/effects/decals/contraband.dm
+++ b/code/game/objects/effects/decals/contraband.dm
@@ -12,6 +12,8 @@
name = "rolled-up poster"
desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface."
icon_state = "rolled_poster"
+ drop_sound = 'sound/items/drop/wrapper.ogg'
+ pickup_sound = 'sound/items/pickup/wrapper.ogg'
var/serial_number = null
var/poster_type = /obj/structure/sign/poster
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 1a4356d646..b0812251b5 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -91,8 +91,16 @@
var/icon/default_worn_icon //Default on-mob icon
var/worn_layer //Default on-mob layer
-
- var/drop_sound = 'sound/items/drop/device.ogg' // drop sound - this is the default
+
+ // Pickup/Drop/Equip/Throw Sounds
+ ///Used when thrown into a mob
+ var/mob_throw_hit_sound
+ // Sound used when equipping the items into a valid slot.
+ var/equip_sound
+ // pickup sound - this is the default
+ var/pickup_sound = 'sound/items/pickup/device.ogg'
+ // drop sound - this is the default
+ var/drop_sound = 'sound/items/drop/device.ogg'
var/tip_timer // reference to timer id for a tooltip we might open soon
@@ -278,10 +286,29 @@
/obj/item/proc/moved(mob/user as mob, old_loc as turf)
return
+/obj/item/proc/get_volume_by_throwforce_and_or_w_class() // This is used for figuring out how loud our sounds are for throwing.
+ if(throwforce && w_class)
+ return CLAMP((throwforce + w_class) * 5, 30, 100)// Add the item's throwforce to its weight class and multiply by 5, then clamp the value between 30 and 100
+ else if(w_class)
+ return CLAMP(w_class * 8, 20, 100) // Multiply the item's weight class by 8, then clamp the value between 20 and 100
+ else
+ return 0
+
/obj/item/throw_impact(atom/hit_atom)
..()
- if(drop_sound)
- playsound(src, drop_sound, 50, 0, preference = /datum/client_preference/drop_sounds)
+ if(isliving(hit_atom)) //Living mobs handle hit sounds differently.
+ var/volume = get_volume_by_throwforce_and_or_w_class()
+ if (throwforce > 0)
+ if (mob_throw_hit_sound)
+ playsound(hit_atom, mob_throw_hit_sound, volume, TRUE, -1)
+ else if(hitsound)
+ playsound(hit_atom, hitsound, volume, TRUE, -1)
+ else
+ playsound(hit_atom, 'sound/weapons/genhit.ogg', volume, TRUE, -1)
+ else
+ playsound(hit_atom, 'sound/weapons/throwtap.ogg', 1, volume, -1)
+ else
+ playsound(src, drop_sound, 30, preference = /datum/client_preference/drop_sounds)
// apparently called whenever an item is removed from a slot, container, or anything else.
/obj/item/proc/dropped(mob/user as mob)
@@ -318,6 +345,13 @@
user.position_hud_item(src,slot)
if(user.client) user.client.screen |= src
if(user.pulling == src) user.stop_pulling()
+ if((slot_flags & slot))
+ if(equip_sound)
+ playsound(src, equip_sound, 30)
+ else
+ playsound(src, drop_sound, 30)
+ else if(slot == slot_l_hand || slot == slot_r_hand)
+ playsound(src, pickup_sound, 20, preference = /datum/client_preference/pickup_sounds)
return
//Defines which slots correspond to which slot flags
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index 684b4b96b6..3cc7acddb2 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -51,6 +51,8 @@ var/list/civilian_cartridges = list(
icon_state = "cart"
item_state = "electronic"
w_class = ITEMSIZE_TINY
+ drop_sound = 'sound/items/drop/component.ogg'
+ pickup_sound = 'sound/items/pickup/component.ogg'
var/obj/item/radio/integrated/radio = null
var/access_security = 0
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index c908f30e17..c766c987dd 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -239,6 +239,8 @@
desc = "A pen-sized light, used by medical staff."
icon_state = "penlight"
item_state = "pen"
+ drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
slot_flags = SLOT_EARS
brightness_on = 2
w_class = ITEMSIZE_TINY
@@ -330,6 +332,8 @@
var/on_damage = 7
var/produce_heat = 1500
power_use = 0
+ drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
/obj/item/device/flashlight/flare/New()
fuel = rand(800, 1000) // Sorry for changing this so much but I keep under-estimating how long X number of ticks last in seconds.
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index a289e66e82..837c6616f7 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -7,13 +7,15 @@
/obj/item/device/multitool
name = "multitool"
desc = "Used for pulsing wires to test which to cut. Not recommended by doctors."
+ description_info = "You can use this on airlocks or APCs to try to hack them without cutting wires."
icon_state = "multitool"
force = 5.0
w_class = ITEMSIZE_SMALL
throwforce = 5.0
throw_range = 15
throw_speed = 3
- desc = "You can use this on airlocks or APCs to try to hack them without cutting wires."
+ drop_sound = 'sound/items/drop/multitool.ogg'
+ pickup_sound = 'sound/items/pickup/multitool.ogg'
matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20)
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 47de7ff7dd..d2097694fe 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -16,6 +16,9 @@
var/obj/item/device/encryptionkey/keyslot2 = null
var/ks1type = null
var/ks2type = null
+
+ drop_sound = 'sound/items/drop/component.ogg'
+ pickup_sound = 'sound/items/pickup/component.ogg'
/obj/item/device/radio/headset/New()
..()
diff --git a/code/game/objects/items/glassjar.dm b/code/game/objects/items/glassjar.dm
index e55285e9da..9db0d88010 100644
--- a/code/game/objects/items/glassjar.dm
+++ b/code/game/objects/items/glassjar.dm
@@ -14,6 +14,8 @@
flags = NOBLUDGEON
var/list/accept_mobs = list(/mob/living/simple_mob/animal/passive/lizard, /mob/living/simple_mob/animal/passive/mouse, /mob/living/simple_mob/animal/sif/leech, /mob/living/simple_mob/animal/sif/frostfly, /mob/living/simple_mob/animal/sif/glitterfly)
var/contains = 0 // 0 = nothing, 1 = money, 2 = animal, 3 = spiderling
+ drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/glass_jar/New()
..()
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 2cb4e1863b..fe897ed2b5 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -10,7 +10,8 @@
var/heal_brute = 0
var/heal_burn = 0
var/apply_sounds
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
var/upgrade_to // The type path this stack can be upgraded to.
@@ -155,6 +156,7 @@
no_variants = FALSE
apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg')
drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
upgrade_to = /obj/item/stack/medical/advanced/bruise_pack
@@ -230,6 +232,7 @@
no_variants = FALSE
apply_sounds = list('sound/effects/ointment.ogg')
drop_sound = 'sound/items/drop/herb.ogg'
+ pickup_sound = 'sound/items/pickup/herb.ogg'
/obj/item/stack/medical/ointment/attack(mob/living/carbon/M as mob, mob/user as mob)
if(..())
@@ -377,6 +380,7 @@
amount = 5
max_amount = 5
drop_sound = 'sound/items/drop/hat.ogg'
+ pickup_sound = 'sound/items/pickup/hat.ogg'
var/list/splintable_organs = list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO) //List of organs you can splint, natch.
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index fb09c03ff8..6ffa7100ca 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -8,6 +8,8 @@
throwforce = 15.0
throw_speed = 5
throw_range = 20
+ drop_sound = 'sound/items/drop/metalweapon.ogg'
+ pickup_sound = 'sound/items/pickup/metalweapon.ogg'
matter = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT / 2)
max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index f571123fc1..c2535ec3eb 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -17,6 +17,7 @@
var/is_reinforced = 0
default_type = "glass"
drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/stack/material/glass/attack_self(mob/user as mob)
construct_window(user)
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index ad3e349ba7..782df54346 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -4,7 +4,8 @@
singular_name = "human skin piece"
icon_state = "sheet-hide"
no_variants = FALSE
- drop_sound = 'sound/items/drop/clothing.ogg'
+ drop_sound = 'sound/items/drop/cloth.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/stack/animalhide/human
amount = 50
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 069457e380..31566ea029 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -18,6 +18,7 @@
w_class = ITEMSIZE_NORMAL
max_amount = 60
drop_sound = 'sound/items/drop/axe.ogg'
+ pickup_sound = 'sound/items/pickup/axe.ogg'
/obj/item/stack/tile/New()
..()
@@ -39,6 +40,7 @@
origin_tech = list(TECH_BIO = 1)
no_variants = FALSE
drop_sound = 'sound/items/drop/herb.ogg'
+ pickup_sound = 'sound/items/pickup/herb.ogg'
/*
* Wood
*/
@@ -54,6 +56,7 @@
flags = 0
no_variants = FALSE
drop_sound = 'sound/items/drop/wooden.ogg'
+ pickup_sound = 'sound/items/pickup/wooden.ogg'
/obj/item/stack/tile/wood/sif
name = "alien wood tile"
@@ -83,7 +86,8 @@
throw_range = 20
flags = 0
no_variants = FALSE
- drop_sound = 'sound/items/drop/clothing.ogg'
+ drop_sound = 'sound/items/drop/cloth.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/stack/tile/carpet/teal
name = "teal carpet"
diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm
index 4b18001e45..9b7828f5ac 100644
--- a/code/game/objects/items/trash.dm
+++ b/code/game/objects/items/trash.dm
@@ -7,6 +7,7 @@
w_class = ITEMSIZE_SMALL
desc = "This is rubbish."
drop_sound = 'sound/items/drop/wrapper.ogg'
+ pickup_sound = 'sound/items/pickup/wrapper.ogg'
var/age = 0
/obj/item/trash/New(var/newloc, var/_age)
@@ -75,6 +76,7 @@
name = "Moghes Imported Sissalik Jerky tin"
icon_state = "unathitinred"
drop_sound = 'sound/items/drop/soda.ogg'
+ pickup_sound = 'sound/items/pickup/soda.ogg'
/obj/item/trash/syndi_cakes
name = "syndi cakes box"
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 2dbd4aa082..b224503743 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -5,6 +5,8 @@
icon = 'icons/obj/tools.dmi'
icon_state = "rcd"
item_state = "rcd"
+ drop_sound = 'sound/items/drop/gun.ogg'
+ pickup_sound = 'sound/items/pickup/gun.ogg'
flags = NOBLUDGEON
force = 10
throwforce = 10
diff --git a/code/game/objects/items/weapons/candle.dm b/code/game/objects/items/weapons/candle.dm
index 18cb433ded..7663dfd7ff 100644
--- a/code/game/objects/items/weapons/candle.dm
+++ b/code/game/objects/items/weapons/candle.dm
@@ -3,6 +3,8 @@
desc = "a red pillar candle. Its specially-formulated fuel-oxidizer wax mixture allows continued combustion in airless environments."
icon = 'icons/obj/candle.dmi'
icon_state = "candle1"
+ drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
w_class = ITEMSIZE_TINY
light_color = "#E09D37"
var/wax = 2000
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index c1f3e1ef71..3ee795680e 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -34,7 +34,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
origin_tech = list(TECH_MATERIAL = 1)
slot_flags = SLOT_EARS
attack_verb = list("burnt", "singed")
- drop_sound = null
+ drop_sound = 'sound/items/drop/food.ogg'
+ pickup_sound = 'sound/items/pickup/food.ogg'
/obj/item/weapon/flame/match/process()
if(isliving(loc))
diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm
index 9435be7fb3..b7b5628dcd 100644
--- a/code/game/objects/items/weapons/cosmetics.dm
+++ b/code/game/objects/items/weapons/cosmetics.dm
@@ -9,6 +9,7 @@
var/colour = "red"
var/open = 0
drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/weapon/lipstick/purple
name = "purple lipstick"
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index e9951c83d4..bfacc2f8f4 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -13,6 +13,7 @@
matter = list(DEFAULT_WALL_MATERIAL = 90)
attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed")
drop_sound = 'sound/items/drop/gascan.ogg'
+ pickup_sound = 'sound/items/pickup/gascan.ogg'
var/spray_particles = 3
var/spray_amount = 10 //units of liquid per particle
diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm
index 22abe36ab4..f828b97b23 100644
--- a/code/game/objects/items/weapons/gift_wrappaper.dm
+++ b/code/game/objects/items/weapons/gift_wrappaper.dm
@@ -13,7 +13,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "gift1"
item_state = "gift1"
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/weapon/a_gift/New()
..()
@@ -125,6 +126,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "wrap_paper"
var/amount = 20.0
+ drop_sound = 'sound/items/drop/wrapper.ogg'
+ pickup_sound = 'sound/items/pickup/wrapper.ogg'
/obj/item/weapon/wrapping_paper/attackby(obj/item/weapon/W as obj, mob/living/user as mob)
..()
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index d50e42981e..7b166413c8 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -12,6 +12,7 @@
origin_tech = list(TECH_MATERIAL = 1)
matter = list(DEFAULT_WALL_MATERIAL = 500)
drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
var/elastic
var/dispenser = 0
var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes
diff --git a/code/game/objects/items/weapons/id cards/cards.dm b/code/game/objects/items/weapons/id cards/cards.dm
index 54e6046248..38a1956f8b 100644
--- a/code/game/objects/items/weapons/id cards/cards.dm
+++ b/code/game/objects/items/weapons/id cards/cards.dm
@@ -21,6 +21,7 @@
var/list/files = list( )
drop_sound = 'sound/items/drop/card.ogg'
+ pickup_sound = 'sound/items/pickup/card.ogg'
/obj/item/weapon/card/data
name = "data disk"
@@ -30,6 +31,8 @@
var/data = "null"
var/special = null
item_state = "card-id"
+ drop_sound = 'sound/items/drop/disk.ogg'
+ pickup_sound = 'sound/items/pickup/disk.ogg'
/obj/item/weapon/card/data/verb/label(t as text)
set name = "Label Disk"
diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm
index 4464084f85..e52b2add28 100644
--- a/code/game/objects/items/weapons/material/kitchen.dm
+++ b/code/game/objects/items/weapons/material/kitchen.dm
@@ -5,6 +5,8 @@
* Utensils
*/
/obj/item/weapon/material/kitchen/utensil
+ drop_sound = 'sound/items/drop/knife.ogg'
+ pickup_sound = 'sound/items/pickup/knife.ogg'
w_class = ITEMSIZE_TINY
thrown_force_divisor = 1
origin_tech = list(TECH_MATERIAL = 1)
@@ -104,6 +106,7 @@
dulled_divisor = 0.75 // Still a club
thrown_force_divisor = 1 // as above
drop_sound = 'sound/items/drop/wooden.ogg'
+ pickup_sound = 'sound/items/pickup/wooden.ogg'
/obj/item/weapon/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm
index c06e80becf..73179413f0 100644
--- a/code/game/objects/items/weapons/material/knives.dm
+++ b/code/game/objects/items/weapons/material/knives.dm
@@ -10,6 +10,7 @@
force_divisor = 0.25 // 15 when wielded with hardness 60 (steel)
thrown_force_divisor = 0.25 // 5 when thrown with weight 20 (steel)
drop_sound = 'sound/items/drop/knife.ogg'
+ pickup_sound = 'sound/items/pickup/knife.ogg'
/obj/item/weapon/material/butterfly/update_force()
if(active)
diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm
index 29193b1c08..754943671e 100644
--- a/code/game/objects/items/weapons/material/misc.dm
+++ b/code/game/objects/items/weapons/material/misc.dm
@@ -22,6 +22,7 @@
attack_verb = list("chopped", "torn", "cut")
applies_material_colour = 0
drop_sound = 'sound/items/drop/axe.ogg'
+ pickup_sound = 'sound/items/pickup/axe.ogg'
/obj/item/weapon/material/knife/machete/hatchet/unathiknife
name = "duelling knife"
diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm
index ba0fe4ddfe..4454b0b066 100644
--- a/code/game/objects/items/weapons/material/swords.dm
+++ b/code/game/objects/items/weapons/material/swords.dm
@@ -10,6 +10,7 @@
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
drop_sound = 'sound/items/drop/sword.ogg'
+ pickup_sound = 'sound/items/pickup/sword.ogg'
/obj/item/weapon/material/sword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(unique_parry_check(user, attacker, damage_source) && prob(50))
diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm
index e2d5e94118..24e359b507 100644
--- a/code/game/objects/items/weapons/material/twohanded.dm
+++ b/code/game/objects/items/weapons/material/twohanded.dm
@@ -26,6 +26,9 @@
var/base_icon
var/base_name
var/unwielded_force_divisor = 0.25
+ hitsound = "swing_hit"
+ drop_sound = 'sound/items/drop/sword.ogg'
+ pickup_sound = 'sound/items/pickup/sword.ogg'
/obj/item/weapon/material/twohanded/update_held_icon()
var/mob/living/M = loc
@@ -96,6 +99,7 @@
applies_material_colour = 0
can_cleave = TRUE
drop_sound = 'sound/items/drop/axe.ogg'
+ pickup_sound = 'sound/items/pickup/axe.ogg'
/obj/item/weapon/material/twohanded/fireaxe/update_held_icon()
var/mob/living/M = loc
@@ -152,6 +156,7 @@
edge = 0
sharp = 1
hitsound = 'sound/weapons/bladeslice.ogg'
+ mob_throw_hit_sound = 'sound/weapons/pierce.ogg'
attack_verb = list("attacked", "poked", "jabbed", "torn", "gored")
default_material = "glass"
applies_material_colour = 0
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 7153ebfa60..c4025f088a 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -279,6 +279,8 @@
sharp = 1
edge = 1
colorable = TRUE
+ drop_sound = 'sound/items/drop/sword.ogg'
+ pickup_sound = 'sound/items/pickup/sword.ogg'
projectile_parry_chance = 65
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 2cdc341523..be163402a1 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -17,6 +17,7 @@
var/flippable = 0
var/side = 0 //0 = right, 1 = left
drop_sound = 'sound/items/drop/backpack.ogg'
+ pickup_sound = 'sound/items/pickup/backpack.ogg'
/obj/item/weapon/storage/backpack/equipped(var/mob/user, var/slot)
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index f713050f7a..7369d39004 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -24,6 +24,7 @@
use_to_pickup = 1
slot_flags = SLOT_BELT
drop_sound = 'sound/items/drop/backpack.ogg'
+ pickup_sound = 'sound/items/pickup/backpack.ogg'
// -----------------------------
// Trash bag
@@ -35,6 +36,7 @@
icon_state = "trashbag0"
item_state_slots = list(slot_r_hand_str = "trashbag", slot_l_hand_str = "trashbag")
drop_sound = 'sound/items/drop/wrapper.ogg'
+ pickup_sound = 'sound/items/pickup/wrapper.ogg'
w_class = ITEMSIZE_LARGE
max_w_class = ITEMSIZE_SMALL
@@ -62,6 +64,7 @@
icon = 'icons/obj/trash.dmi'
icon_state = "plasticbag"
drop_sound = 'sound/items/drop/wrapper.ogg'
+ pickup_sound = 'sound/items/pickup/wrapper.ogg'
w_class = ITEMSIZE_LARGE
max_w_class = ITEMSIZE_SMALL
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index e2ac43006b..19b29bc480 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -8,8 +8,10 @@
max_w_class = ITEMSIZE_NORMAL
slot_flags = SLOT_BELT
attack_verb = list("whipped", "lashed", "disciplined")
+ equip_sound = 'sound/items/toolbelt_equip.ogg'
+ drop_sound = 'sound/items/drop/toolbelt.ogg'
+ pickup_sound = 'sound/items/pickup/toolbelt.ogg'
sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/belt.dmi')
- drop_sound = 'sound/items/drop/leather.ogg'
var/show_above_suit = 0
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index fd07009777..d66d590604 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -30,7 +30,8 @@
max_w_class = ITEMSIZE_SMALL
max_storage_space = INVENTORY_BOX_SPACE
use_sound = 'sound/items/storage/box.ogg'
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
// BubbleWrap - A box can be folded up to make card
/obj/item/weapon/storage/box/attack_self(mob/user as mob)
@@ -136,6 +137,8 @@
icon_state = "blankshot_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/blank = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/blanks/large
starts_with = list(/obj/item/ammo_casing/a12g/blank = 16)
@@ -146,6 +149,8 @@
icon_state = "beanshot_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/beanbag = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/beanbags/large/New()
starts_with = list(/obj/item/ammo_casing/a12g/beanbag = 16)
@@ -156,6 +161,8 @@
icon_state = "lethalshellshot_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/shotgunammo/large
starts_with = list(/obj/item/ammo_casing/a12g = 16)
@@ -166,6 +173,8 @@
icon_state = "lethalslug_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/pellet = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/shotgunshells/large
starts_with = list(/obj/item/ammo_casing/a12g/pellet = 16)
@@ -176,6 +185,8 @@
icon_state = "illumshot_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/flash = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/flashshells/large
starts_with = list(/obj/item/ammo_casing/a12g/flash = 16)
@@ -186,6 +197,8 @@
icon_state = "stunshot_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/stunshell = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/stunshells/large
starts_with = list(/obj/item/ammo_casing/a12g/stunshell = 16)
@@ -196,6 +209,8 @@
icon_state = "blankshot_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/practice = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/practiceshells/large
starts_with = list(/obj/item/ammo_casing/a12g/practice = 16)
@@ -206,6 +221,8 @@
icon_state = "empshot_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/emp = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/empshells/large
starts_with = list(/obj/item/ammo_casing/a12g/emp = 16)
@@ -216,6 +233,8 @@
icon_state = "lethalslug_box"
item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit")
starts_with = list(/obj/item/ammo_casing/a12g/flechette = 8)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/flechetteshells/large
starts_with = list(/obj/item/ammo_casing/a12g/flechette = 16)
@@ -224,6 +243,8 @@
name = "box of 14.5mm shells"
desc = "It has a picture of a gun and several warning symbols on the front.
WARNING: Live ammunition. Misuse may result in serious injury or death."
starts_with = list(/obj/item/ammo_casing/a145 = 7)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/sniperammo/highvel
name = "box of 14.5mm sabot shells"
@@ -235,42 +256,56 @@
desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use."
icon_state = "flashbang"
starts_with = list(/obj/item/weapon/grenade/flashbang = 7)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/emps
name = "box of emp grenades"
desc = "A box containing 5 military grade EMP grenades.
WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur."
icon_state = "emp"
starts_with = list(/obj/item/weapon/grenade/empgrenade = 7)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/empslite
name = "box of low yield emp grenades"
desc = "A box containing 5 low yield EMP grenades.
WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur."
icon_state = "emp"
starts_with = list(/obj/item/weapon/grenade/empgrenade/low_yield = 7)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/smokes
name = "box of smoke bombs"
desc = "A box containing 7 smoke bombs."
icon_state = "flashbang"
starts_with = list(/obj/item/weapon/grenade/smokebomb = 7)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/anti_photons
name = "box of anti-photon grenades"
desc = "A box containing 7 experimental photon disruption grenades."
icon_state = "flashbang"
starts_with = list(/obj/item/weapon/grenade/anti_photon = 7)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/frags
name = "box of fragmentation grenades (WARNING)"
desc = "A box containing 7 military grade fragmentation grenades.
WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use."
icon_state = "frag"
starts_with = list(/obj/item/weapon/grenade/explosive = 7)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/frags_half_box
name = "box of fragmentation grenades (WARNING)"
desc = "A box containing 4 military grade fragmentation grenades.
WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use."
icon_state = "frag"
starts_with = list(/obj/item/weapon/grenade/explosive = 4)
+ drop_sound = 'sound/items/drop/ammobox.ogg'
+ pickup_sound = 'sound/items/pickup/ammobox.ogg'
/obj/item/weapon/storage/box/metalfoam
name = "box of metal foam grenades."
@@ -433,6 +468,8 @@
slot_flags = SLOT_BELT
can_hold = list(/obj/item/weapon/flame/match)
starts_with = list(/obj/item/weapon/flame/match = 10)
+ drop_sound = 'sound/items/drop/matchbox.ogg'
+ pickup_sound = 'sound/items/pickup/matchbox.ogg'
/obj/item/weapon/storage/box/matches/attackby(var/obj/item/weapon/flame/match/W, var/mob/user)
if(istype(W) && !W.lit && !W.burnt)
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index fe6e5f84ed..ed4d8fdbbe 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -10,6 +10,7 @@
max_storage_space = ITEMSIZE_COST_NORMAL * 4
use_sound = 'sound/items/storage/briefcase.ogg'
drop_sound = 'sound/items/drop/backpack.ogg'
+ pickup_sound = 'sound/items/pickup/backpack.ogg'
/obj/item/weapon/storage/briefcase/clutch
name = "clutch purse"
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index c8eb58e5af..f115f9c133 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -19,6 +19,8 @@
icon_state = "donutbox6"
name = "donut box"
var/icon_type = "donut"
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/weapon/storage/fancy/update_icon(var/itemremoved = 0)
var/total_contents = contents.len - itemremoved
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index 9d2ef3a76e..487cc3867c 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -15,7 +15,8 @@
throw_range = 8
max_storage_space = ITEMSIZE_COST_SMALL * 7 // 14
var/list/icon_variety
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/weapon/storage/firstaid/Initialize()
. = ..()
@@ -173,6 +174,7 @@
icon_state = "pill_canister"
icon = 'icons/obj/chemical.dmi'
drop_sound = 'sound/items/drop/pillbottle.ogg'
+ pickup_sound = 'sound/items/pickup/pillbottle.ogg'
item_state_slots = list(slot_r_hand_str = "contsolid", slot_l_hand_str = "contsolid")
w_class = ITEMSIZE_SMALL
can_hold = list(/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/dice,/obj/item/weapon/paper)
diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm
index d23a5e2d69..e62ac35ea8 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -15,7 +15,8 @@
origin_tech = list(TECH_COMBAT = 1)
attack_verb = list("robusted")
use_sound = 'sound/items/storage/toolbox.ogg'
- drop_sound = 'sound/items/drop/metalboots.ogg'
+ drop_sound = 'sound/items/drop/toolbox.ogg'
+ pickup_sound = 'sound/items/pickup/toolbox.ogg'
/obj/item/weapon/storage/toolbox/emergency
name = "emergency toolbox"
diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm
index a668075068..83bb322e0e 100644
--- a/code/game/objects/items/weapons/storage/wallets.dm
+++ b/code/game/objects/items/weapons/storage/wallets.dm
@@ -42,6 +42,9 @@
slot_flags = SLOT_ID
var/obj/item/weapon/card/id/front_id = null
+
+ drop_sound = 'sound/items/drop/cloth.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/weapon/storage/wallet/remove_from_storage(obj/item/W as obj, atom/new_location)
. = ..(W, new_location)
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 87ce75a233..cd2f7e05af 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -11,6 +11,8 @@
throwforce = 7
flags = NOCONDUCT
w_class = ITEMSIZE_NORMAL
+ drop_sound = 'sound/items/drop/metalweapon.ogg'
+ pickup_sound = 'sound/items/pickup/metalweapon.ogg'
origin_tech = list(TECH_COMBAT = 2)
attack_verb = list("beaten")
var/lightcolor = "#FF6A00"
diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm
index e5580082a1..15bb7cd0e5 100644
--- a/code/game/objects/items/weapons/surgery_tools.dm
+++ b/code/game/objects/items/weapons/surgery_tools.dm
@@ -13,6 +13,8 @@
desc = "This shouldn't be here, ahelp it."
icon = 'icons/obj/surgery.dmi'
w_class = ITEMSIZE_SMALL
+ drop_sound = 'sound/items/drop/weldingtool.ogg'
+ pickup_sound = 'sound/items/pickup/weldingtool.ogg'
var/helpforce = 0 //For help intent things
/obj/item/weapon/surgical/attack(mob/M, mob/user)
diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm
index a4a7992872..ad3c856f97 100644
--- a/code/game/objects/items/weapons/swords_axes_etc.dm
+++ b/code/game/objects/items/weapons/swords_axes_etc.dm
@@ -26,6 +26,8 @@
item_state = "classic_baton"
slot_flags = SLOT_BELT
force = 10
+ drop_sound = 'sound/items/drop/crowbar.ogg'
+ pickup_sound = 'sound/items/pickup/crowbar.ogg'
/obj/item/weapon/melee/classic_baton/attack(mob/M as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
@@ -49,6 +51,8 @@
slot_flags = SLOT_BELT
w_class = ITEMSIZE_SMALL
force = 3
+ drop_sound = 'sound/items/drop/crowbar.ogg'
+ pickup_sound = 'sound/items/pickup/crowbar.ogg'
var/on = 0
/obj/item/weapon/melee/telebaton/attack_self(mob/user as mob)
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 9957e09f55..2936f142dd 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -11,6 +11,7 @@ var/list/global/tank_gauge_cache = list()
SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi'
)
drop_sound = 'sound/items/drop/gascan.ogg'
+ pickup_sound = 'sound/items/pickup/gascan.ogg'
var/gauge_icon = "indicator_tank"
var/last_gauge_pressure
diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm
index b24f24d2fe..b821158c09 100644
--- a/code/game/objects/items/weapons/tape.dm
+++ b/code/game/objects/items/weapons/tape.dm
@@ -4,7 +4,8 @@
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "taperoll"
w_class = ITEMSIZE_TINY
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
toolspeed = 2 //It is now used in surgery as a not awful, but probably dangerous option, due to speed.
diff --git a/code/game/objects/items/weapons/tools/combitool.dm b/code/game/objects/items/weapons/tools/combitool.dm
index 43bb2794fe..573ff96128 100644
--- a/code/game/objects/items/weapons/tools/combitool.dm
+++ b/code/game/objects/items/weapons/tools/combitool.dm
@@ -10,6 +10,8 @@
icon = 'icons/obj/items.dmi'
icon_state = "combitool"
w_class = ITEMSIZE_SMALL
+ drop_sound = 'sound/items/drop/multitool.ogg'
+ pickup_sound = 'sound/items/pickup/multitool.ogg'
var/list/spawn_tools = list(
/obj/item/weapon/tool/screwdriver,
diff --git a/code/game/objects/items/weapons/tools/crowbar.dm b/code/game/objects/items/weapons/tools/crowbar.dm
index 09d2aeb5f3..f1ff2dd642 100644
--- a/code/game/objects/items/weapons/tools/crowbar.dm
+++ b/code/game/objects/items/weapons/tools/crowbar.dm
@@ -17,7 +17,8 @@
matter = list(DEFAULT_WALL_MATERIAL = 50)
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
usesound = 'sound/items/crowbar.ogg'
- drop_sound = 'sound/items/drop/sword.ogg'
+ drop_sound = 'sound/items/drop/crowbar.ogg'
+ pickup_sound = 'sound/items/pickup/crowbar.ogg'
toolspeed = 1
/obj/item/weapon/tool/crowbar/is_crowbar()
diff --git a/code/game/objects/items/weapons/tools/screwdriver.dm b/code/game/objects/items/weapons/tools/screwdriver.dm
index aea17ebf2b..6ea222b6ac 100644
--- a/code/game/objects/items/weapons/tools/screwdriver.dm
+++ b/code/game/objects/items/weapons/tools/screwdriver.dm
@@ -15,7 +15,8 @@
throw_range = 5
hitsound = 'sound/weapons/bladeslice.ogg'
usesound = 'sound/items/screwdriver.ogg'
- drop_sound = 'sound/items/drop/scrap.ogg'
+ drop_sound = 'sound/items/drop/screwdriver.ogg'
+ pickup_sound = 'sound/items/pickup/screwdriver.ogg'
matter = list(DEFAULT_WALL_MATERIAL = 75)
attack_verb = list("stabbed")
sharp = 1
diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm
index 0c0add9e24..1efd87b26f 100644
--- a/code/game/objects/items/weapons/tools/weldingtool.dm
+++ b/code/game/objects/items/weapons/tools/weldingtool.dm
@@ -37,7 +37,8 @@
var/burned_fuel_for = 0 // Keeps track of how long the welder's been on, used to gradually empty the welder if left one, without RNG.
var/always_process = FALSE // If true, keeps the welder on the process list even if it's off. Used for when it needs to regenerate fuel.
toolspeed = 1
- drop_sound = 'sound/items/drop/scrap.ogg'
+ drop_sound = 'sound/items/drop/weldingtool.ogg'
+ pickup_sound = 'sound/items/pickup/weldingtool.ogg'
/obj/item/weapon/weldingtool/Initialize()
. = ..()
diff --git a/code/game/objects/items/weapons/tools/wirecutters.dm b/code/game/objects/items/weapons/tools/wirecutters.dm
index 3b8c83c1f9..1ef130e13f 100644
--- a/code/game/objects/items/weapons/tools/wirecutters.dm
+++ b/code/game/objects/items/weapons/tools/wirecutters.dm
@@ -17,7 +17,8 @@
attack_verb = list("pinched", "nipped")
hitsound = 'sound/items/wirecutter.ogg'
usesound = 'sound/items/wirecutter.ogg'
- drop_sound = 'sound/items/drop/knife.ogg'
+ drop_sound = 'sound/items/drop/wirecutter.ogg'
+ pickup_sound = 'sound/items/pickup/wirecutter.ogg'
sharp = 1
edge = 1
toolspeed = 1
diff --git a/code/game/objects/items/weapons/tools/wrench.dm b/code/game/objects/items/weapons/tools/wrench.dm
index d96a244282..300a3c8c6b 100644
--- a/code/game/objects/items/weapons/tools/wrench.dm
+++ b/code/game/objects/items/weapons/tools/wrench.dm
@@ -15,7 +15,8 @@
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
usesound = 'sound/items/ratchet.ogg'
toolspeed = 1
- drop_sound = 'sound/items/drop/sword.ogg'
+ drop_sound = 'sound/items/drop/wrench.ogg'
+ pickup_sound = 'sound/items/pickup/wrench.ogg'
/obj/item/weapon/tool/wrench/is_wrench()
return TRUE
diff --git a/code/game/objects/items/weapons/towels.dm b/code/game/objects/items/weapons/towels.dm
index 232a321202..2b41ce5163 100644
--- a/code/game/objects/items/weapons/towels.dm
+++ b/code/game/objects/items/weapons/towels.dm
@@ -8,7 +8,8 @@
attack_verb = list("whipped")
hitsound = 'sound/weapons/towelwhip.ogg'
desc = "A soft cotton towel."
- drop_sound = 'sound/items/drop/clothing.ogg'
+ drop_sound = 'sound/items/drop/cloth.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/weapon/towel/equipped(var/M, var/slot)
..()
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 82e6ff7699..98332cca42 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -10,6 +10,7 @@
throwforce = 10
w_class = ITEMSIZE_SMALL
drop_sound = 'sound/items/drop/sword.ogg'
+ pickup_sound = 'sound/items/pickup/sword.ogg'
suicide_act(mob/user)
var/datum/gender/T = gender_datums[user.get_visible_gender()]
diff --git a/code/game/objects/items/weapons/weldbackpack.dm b/code/game/objects/items/weapons/weldbackpack.dm
index e839bba3b3..bdabfaf826 100644
--- a/code/game/objects/items/weapons/weldbackpack.dm
+++ b/code/game/objects/items/weapons/weldbackpack.dm
@@ -10,6 +10,7 @@
var/nozzle_type = /obj/item/weapon/weldingtool/tubefed
var/nozzle_attached = 0
drop_sound = 'sound/items/drop/backpack.ogg'
+ pickup_sound = 'sound/items/pickup/backpack.ogg'
/obj/item/weapon/weldpack/Initialize()
. = ..()
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 4180b78ec3..fc136cfda8 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -16,7 +16,8 @@ LINEN BINS
throw_speed = 1
throw_range = 2
w_class = ITEMSIZE_SMALL
- drop_sound = 'sound/items/drop/clothing.ogg'
+ drop_sound = 'sound/items/drop/cloth.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/weapon/bedsheet/attack_self(mob/user as mob)
user.drop_item()
diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
index 3d6743d82b..29f8580374 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
@@ -236,6 +236,8 @@
w_class = ITEMSIZE_LARGE
var/rollertype = /obj/item/roller
var/bedtype = /obj/structure/bed/roller
+ drop_sound = 'sound/items/drop/axe.ogg'
+ pickup_sound = 'sound/items/pickup/axe.ogg'
/obj/item/roller/attack_self(mob/user)
var/obj/structure/bed/roller/R = new bedtype(user.loc)
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index 8d28288afb..0cff6e1d09 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -8,6 +8,8 @@
throwforce = 2
throw_speed = 3
throw_range = 10
+ drop_sound = 'sound/items/drop/component.ogg'
+ pickup_sound = 'sound/items/pickup/component.ogg'
origin_tech = list(TECH_MAGNET = 1)
var/secured = 1
diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm
index 8efb44a98b..3431dc1b47 100644
--- a/code/modules/client/preference_setup/global/setting_datums.dm
+++ b/code/modules/client/preference_setup/global/setting_datums.dm
@@ -116,6 +116,12 @@ var/list/_client_preferences_by_type
enabled_description = "Audible"
disabled_description = "Silent"
+/datum/client_preference/pickup_sounds
+ description = "Picked Up Item Sounds"
+ key = "SOUND_PICKED"
+ enabled_description = "Enabled"
+ disabled_description = "Disabled"
+
/datum/client_preference/drop_sounds
description = "Dropped Item Sounds"
key = "SOUND_DROPPED"
diff --git a/code/modules/client/preferences_toggle_procs.dm b/code/modules/client/preferences_toggle_procs.dm
index aabcc23c8c..a3313dcf2b 100644
--- a/code/modules/client/preferences_toggle_procs.dm
+++ b/code/modules/client/preferences_toggle_procs.dm
@@ -239,6 +239,21 @@
feedback_add_details("admin_verb","TAirPumpNoise")
+/client/verb/toggle_pickup_sounds()
+ set name = "Toggle Picked Up Item Sounds"
+ set category = "Preferences"
+ set desc = "Toggles sounds when items are picked up or thrown."
+
+ var/pref_path = /datum/client_preference/pickup_sounds
+
+ toggle_preference(pref_path)
+
+ to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear sounds when items are picked up or thrown.")
+
+ SScharacter_setup.queue_preferences_save(prefs)
+
+ feedback_add_details("admin_verb", "TPickupSounds")
+
/client/verb/toggle_drop_sounds()
set name = "Toggle Dropped Item Sounds"
set category = "Preferences"
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 14e9feb9a3..bf3830801d 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -2,6 +2,7 @@
name = "clothing"
siemens_coefficient = 0.9
drop_sound = 'sound/items/drop/clothing.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
var/list/species_restricted = null //Only these species can wear this kit.
var/gunshot_residue //Used by forensics.
@@ -284,6 +285,7 @@
SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi'
)
drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
/obj/item/clothing/proc/set_clothing_index()
return
@@ -418,6 +420,7 @@
SPECIES_VOX = 'icons/mob/species/vox/head.dmi'
)
drop_sound = 'sound/items/drop/hat.ogg'
+ pickup_sound = 'sound/items/pickup/hat.ogg'
/obj/item/clothing/head/attack_self(mob/user)
if(brightness_on)
@@ -574,6 +577,7 @@
SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi'
)
drop_sound = 'sound/items/drop/shoes.ogg'
+ pickup_sound = 'sound/items/pickup/shoes.ogg'
/obj/item/clothing/shoes/proc/draw_knife()
set name = "Draw Boot Knife"
@@ -722,6 +726,7 @@
permeability_coefficient = 0.90
slot_flags = SLOT_ICLOTHING
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ equip_sound = 'sound/items/jumpsuit_equip.ogg'
w_class = ITEMSIZE_NORMAL
show_messages = 1
blood_sprite_state = "uniformblood"
diff --git a/code/modules/clothing/ears/ears.dm b/code/modules/clothing/ears/ears.dm
index 505a4be004..8fdd6deb94 100644
--- a/code/modules/clothing/ears/ears.dm
+++ b/code/modules/clothing/ears/ears.dm
@@ -54,6 +54,7 @@
icon_state = "skrell_chain"
item_state_slots = list(slot_r_hand_str = "egg5", slot_l_hand_str = "egg5")
drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/ears/skrell/chain/silver
name = "Silver headtail chains"
@@ -85,6 +86,7 @@
icon_state = "skrell_band"
item_state_slots = list(slot_r_hand_str = "egg5", slot_l_hand_str = "egg5")
drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/ears/skrell/band/silver
name = "Silver headtail bands"
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index fdbc1c257d..ff9a69fea8 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -28,6 +28,7 @@ BLIND // can't see anything
var/obj/screen/overlay = null
var/list/away_planes //Holder for disabled planes
drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
sprite_sheets = list(
"Teshari" = 'icons/mob/species/seromi/eyes.dmi',
@@ -182,6 +183,7 @@ BLIND // can't see anything
body_parts_covered = 0
var/eye = null
drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
/obj/item/clothing/glasses/eyepatch/verb/switcheye()
set name = "Switch Eyepatch"
@@ -364,6 +366,7 @@ BLIND // can't see anything
flash_protection = FLASH_PROTECTION_MAJOR
tint = BLIND
drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
/obj/item/clothing/glasses/sunglasses/blindfold/tape
name = "length of tape"
diff --git a/code/modules/clothing/gloves/arm_guards.dm b/code/modules/clothing/gloves/arm_guards.dm
index 6b0517642a..ea0c97187c 100644
--- a/code/modules/clothing/gloves/arm_guards.dm
+++ b/code/modules/clothing/gloves/arm_guards.dm
@@ -6,6 +6,7 @@
punch_force = 3
w_class = ITEMSIZE_NORMAL
drop_sound = 'sound/items/drop/metalshield.ogg'
+ pickup_sound = 'sound/items/pickup/axe.ogg'
/obj/item/clothing/gloves/arm_guard/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = FALSE)
if(..()) //This will only run if no other problems occured when equiping.
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index 11572e2745..ec8e05670f 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -7,6 +7,7 @@
siemens_coefficient = 0
permeability_coefficient = 0.05
drop_sound = 'sound/items/drop/rubber.ogg'
+ pickup_sound = 'sound/items/pickup/rubber.ogg'
/obj/item/clothing/gloves/fyellow //Cheap Chinese Crap
desc = "These gloves are cheap copies of proper insulated gloves. No way this can end badly."
@@ -15,6 +16,7 @@
siemens_coefficient = 1 //Set to a default of 1, gets overridden in initialize()
permeability_coefficient = 0.05
drop_sound = 'sound/items/drop/rubber.ogg'
+ pickup_sound = 'sound/items/pickup/rubber.ogg'
/obj/item/clothing/gloves/fyellow/Initialize()
. = ..()
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index b44dc54567..65945e2554 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -57,6 +57,7 @@
germ_level = 0
fingerprint_chance = 25
drop_sound = 'sound/items/drop/rubber.ogg'
+ pickup_sound = 'sound/items/pickup/rubber.ogg'
// var/balloonPath = /obj/item/latexballon
//TODO: Make inflating gloves a thing
@@ -83,6 +84,7 @@
permeability_coefficient = 0.05
siemens_coefficient = 0.75 //thick work gloves
drop_sound = 'sound/items/drop/leather.ogg'
+ pickup_sound = 'sound/items/pickup/leather.ogg'
/obj/item/clothing/gloves/duty
desc = "These brown duty gloves are made from a durable synthetic."
@@ -112,6 +114,7 @@
permeability_coefficient = 0.05
species_restricted = list("Vox")
drop_sound = 'sound/items/drop/metalboots.ogg'
+ pickup_sound = 'sound/items/pickup/toolbox.ogg'
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
@@ -131,6 +134,7 @@
force = 5
punch_force = 5
drop_sound = 'sound/items/drop/metalboots.ogg'
+ pickup_sound = 'sound/items/pickup/toolbox.ogg'
/obj/item/clothing/gloves/ranger
var/glovecolor = "white"
diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm
index 810ac403f7..1b1d2ecfe6 100644
--- a/code/modules/clothing/head/collectable.dm
+++ b/code/modules/clothing/head/collectable.dm
@@ -38,6 +38,7 @@
icon_state = "paper"
body_parts_covered = 0
drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
/obj/item/clothing/head/collectable/tophat
name = "collectable top hat"
diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm
index d3db7a5b17..f974c321c0 100644
--- a/code/modules/clothing/head/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -11,6 +11,7 @@
w_class = ITEMSIZE_NORMAL
ear_protection = 1
drop_sound = 'sound/items/drop/helm.ogg'
+ pickup_sound = 'sound/items/pickup/helm.ogg'
/obj/item/clothing/head/hardhat/orange
icon_state = "hardhat0_orange"
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index 2f30326e78..a617717576 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -15,6 +15,7 @@
w_class = ITEMSIZE_NORMAL
ear_protection = 1
drop_sound = 'sound/items/drop/helm.ogg'
+ pickup_sound = 'sound/items/pickup/helm.ogg'
/obj/item/clothing/head/helmet/solgov
name = "\improper Solar Confederate Government helmet"
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index 1b7544c351..818c91eda5 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -18,6 +18,7 @@
slot_flags = SLOT_HEAD | SLOT_EARS
body_parts_covered = 0
drop_sound = 'sound/items/drop/ring.ogg'
+ pickup_sound = 'sound/items/pickup/ring.ogg'
/obj/item/clothing/head/pin/pink
icon_state = "pinkpin"
@@ -169,7 +170,8 @@
icon_state = "cardborg_h"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
body_parts_covered = HEAD|FACE|EYES
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/clothing/head/justice
name = "justice hat"
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index b23f70b185..13fa4f33c6 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -30,6 +30,7 @@
flash_protection = FLASH_PROTECTION_MAJOR
tint = TINT_HEAVY
drop_sound = 'sound/items/drop/helm.ogg'
+ pickup_sound = 'sound/items/pickup/helm.ogg'
/obj/item/clothing/head/welding/attack_self()
toggle()
@@ -170,6 +171,7 @@
light_overlay = "helmet_light"
w_class = ITEMSIZE_NORMAL
drop_sound = 'sound/items/drop/herb.ogg'
+ pickup_sound = 'sound/items/pickup/herb.ogg'
/*
* Kitty ears
diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm
index b0ccf41175..60d9b8e9b4 100644
--- a/code/modules/clothing/shoes/boots.dm
+++ b/code/modules/clothing/shoes/boots.dm
@@ -31,6 +31,8 @@
icon_state = "jackboots"
armor = list(melee = 30, bullet = 10, laser = 10, energy = 15, bomb = 20, bio = 0, rad = 0)
siemens_coefficient = 0.7
+ drop_sound = 'sound/items/drop/boots.ogg'
+ pickup_sound = 'sound/items/pickup/boots.ogg'
/obj/item/clothing/shoes/boots/jackboots/toeless
name = "toe-less jackboots"
@@ -45,6 +47,8 @@
icon_state = "workboots"
armor = list(melee = 40, bullet = 0, laser = 0, energy = 15, bomb = 20, bio = 0, rad = 20)
siemens_coefficient = 0.7
+ drop_sound = 'sound/items/drop/boots.ogg'
+ pickup_sound = 'sound/items/pickup/boots.ogg'
/obj/item/clothing/shoes/boots/workboots/toeless
name = "toe-less workboots"
diff --git a/code/modules/clothing/shoes/leg_guards.dm b/code/modules/clothing/shoes/leg_guards.dm
index a4079087ab..db7e5a88b5 100644
--- a/code/modules/clothing/shoes/leg_guards.dm
+++ b/code/modules/clothing/shoes/leg_guards.dm
@@ -8,6 +8,7 @@
step_volume_mod = 1.3
can_hold_knife = TRUE
drop_sound = 'sound/items/drop/boots.ogg'
+ pickup_sound = 'sound/items/pickup/boots.ogg'
/obj/item/clothing/shoes/leg_guard/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = FALSE)
if(..()) //This will only run if no other problems occured when equiping.
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index 7590817a37..cb736737c6 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -17,6 +17,7 @@
var/mob/living/carbon/human/wearer = null //For shoe procs
step_volume_mod = 1.3
drop_sound = 'sound/items/drop/metalboots.ogg'
+ pickup_sound = 'sound/items/pickup/toolbox.ogg'
/obj/item/clothing/shoes/magboots/proc/set_slowdown()
slowdown = shoes? max(SHOES_SLOWDOWN, shoes.slowdown): SHOES_SLOWDOWN //So you can't put on magboots to make you walk faster.
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 0e492c6d6c..4ac7a6701e 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -9,6 +9,8 @@
siemens_coefficient = 0.8
species_restricted = null
step_volume_mod = 0.5
+ drop_sound = 'sound/items/drop/rubber.ogg'
+ pickup_sound = 'sound/items/pickup/rubber.ogg'
/obj/item/clothing/shoes/mime
name = "mime shoes"
@@ -25,6 +27,7 @@
slowdown = SHOES_SLOWDOWN+1
species_restricted = null
drop_sound = 'sound/items/drop/rubber.ogg'
+ pickup_sound = 'sound/items/pickup/rubber.ogg'
/obj/item/clothing/shoes/dress
name = "dress shoes"
@@ -100,6 +103,7 @@
species_restricted = null
w_class = ITEMSIZE_SMALL
drop_sound = 'sound/items/drop/clothing.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/clothing/shoes/slippers_worn
name = "worn bunny slippers"
@@ -158,6 +162,7 @@
w_class = ITEMSIZE_SMALL
species_restricted = null
drop_sound = 'sound/items/drop/clothing.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/clothing/shoes/boots/ranger
var/bootcolor = "white"
diff --git a/code/modules/clothing/suits/aliens/tajara.dm b/code/modules/clothing/suits/aliens/tajara.dm
index 3c3b0bb55d..f0a9fa13fe 100644
--- a/code/modules/clothing/suits/aliens/tajara.dm
+++ b/code/modules/clothing/suits/aliens/tajara.dm
@@ -4,10 +4,14 @@
icon_state = "zhan_furs"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
+ drop_sound = 'sound/items/drop/leather.ogg'
+ pickup_sound = 'sound/items/pickup/leather.ogg'
/obj/item/clothing/head/tajaran/scarf //This stays in /suits because it goes with the furs above
name = "headscarf"
desc = "A scarf of coarse fabric. Seems to have ear-holes."
icon_state = "zhan_scarf"
item_state_slots = list(slot_r_hand_str = "beret_white", slot_l_hand_str = "beret_white")
- body_parts_covered = HEAD|FACE
\ No newline at end of file
+ body_parts_covered = HEAD|FACE
+ drop_sound = 'sound/items/drop/leather.ogg'
+ pickup_sound = 'sound/items/pickup/leather.ogg'
\ No newline at end of file
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index 5591100ca6..39f23ef5e6 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -16,6 +16,8 @@
var/mob/living/carbon/human/wearer = null // To check if the wearer changes, so species spritesheets change properly.
var/list/on_rolled = list() // Used when jumpsuit sleevels are rolled ("rolled" entry) or it's rolled down ("down"). Set to "none" to hide in those states.
sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/ties.dmi') //Teshari can into webbing, too!
+ drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/accessory/Destroy()
on_removed()
@@ -222,6 +224,8 @@
desc = "A bronze medal."
icon_state = "bronze"
slot = ACCESSORY_SLOT_MEDAL
+ drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/accessory/medal/conduct
name = "distinguished conduct medal"
diff --git a/code/modules/clothing/under/accessories/badges.dm b/code/modules/clothing/under/accessories/badges.dm
index 085279c424..e6a0a787a9 100644
--- a/code/modules/clothing/under/accessories/badges.dm
+++ b/code/modules/clothing/under/accessories/badges.dm
@@ -13,6 +13,9 @@
var/stored_name
var/badge_string = "Corporate Security"
+
+ drop_sound = 'sound/items/drop/ring.ogg'
+ pickup_sound = 'sound/items/pickup/ring.ogg'
/obj/item/clothing/accessory/badge/old
name = "faded badge"
diff --git a/code/modules/clothing/under/accessories/lockets.dm b/code/modules/clothing/under/accessories/lockets.dm
index 153df0d584..dcc775d878 100644
--- a/code/modules/clothing/under/accessories/lockets.dm
+++ b/code/modules/clothing/under/accessories/lockets.dm
@@ -2,6 +2,8 @@
name = "silver locket"
desc = "A small locket of high-quality metal."
icon_state = "locket"
+ drop_sound = 'sound/items/drop/ring.ogg'
+ pickup_sound = 'sound/items/pickup/ring.ogg'
w_class = ITEMSIZE_SMALL
slot_flags = SLOT_MASK | SLOT_TIE
slot = ACCESSORY_SLOT_DECOR
diff --git a/code/modules/detectivework/tools/crimekit.dm b/code/modules/detectivework/tools/crimekit.dm
index 8d4e3cf8e6..395aca8b49 100644
--- a/code/modules/detectivework/tools/crimekit.dm
+++ b/code/modules/detectivework/tools/crimekit.dm
@@ -5,6 +5,8 @@
icon = 'icons/obj/forensics.dmi'
icon_state = "case"
storage_slots = 14
+ drop_sound = 'sound/items/drop/toolbox.ogg'
+ pickup_sound = 'sound/items/pickup/toolbox.ogg'
/obj/item/weapon/storage/briefcase/crimekit/New()
..()
diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm
index 485fce8cec..4907f905fe 100644
--- a/code/modules/detectivework/tools/rag.dm
+++ b/code/modules/detectivework/tools/rag.dm
@@ -25,7 +25,8 @@
can_be_placed_into = null
flags = OPENCONTAINER | NOBLUDGEON
unacidable = 0
- drop_sound = 'sound/items/drop/clothing.ogg'
+ drop_sound = 'sound/items/drop/cloth.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
var/on_fire = 0
var/burn_time = 20 //if the rag burns for too long it turns to ashes
diff --git a/code/modules/detectivework/tools/swabs.dm b/code/modules/detectivework/tools/swabs.dm
index 5a83dc642a..f74154756b 100644
--- a/code/modules/detectivework/tools/swabs.dm
+++ b/code/modules/detectivework/tools/swabs.dm
@@ -5,6 +5,8 @@
var/gsr = 0
var/list/dna
var/used
+ drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/weapon/forensics/swab/proc/is_used()
return used
diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm
index 88858f7a70..3d4d44d918 100644
--- a/code/modules/economy/cash.dm
+++ b/code/modules/economy/cash.dm
@@ -16,6 +16,7 @@
access = access_crate_cash
var/worth = 0
drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
/obj/item/weapon/spacecash/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/spacecash))
@@ -152,6 +153,7 @@ proc/spawn_money(var/sum, spawnloc, mob/living/carbon/human/human_user as mob)
icon_state = "efundcard"
desc = "A card that holds an amount of money."
drop_sound = 'sound/items/drop/card.ogg'
+ pickup_sound = 'sound/items/pickup/card.ogg'
var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions.
attack_self() return //Don't act
attackby() return //like actual
diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm
index c33389ad15..f34db732e7 100644
--- a/code/modules/food/food.dm
+++ b/code/modules/food/food.dm
@@ -9,6 +9,7 @@
volume = 50 //Sets the default container amount for all food items.
var/filling_color = "#FFFFFF" //Used by sandwiches.
drop_sound = 'sound/items/drop/food.ogg'
+ pickup_sound = 'sound/items/pickup/food.ogg'
/obj/item/weapon/reagent_containers/food/Initialize()
. = ..()
diff --git a/code/modules/food/food/cans.dm b/code/modules/food/food/cans.dm
index f4ade46de4..01ef9591bc 100644
--- a/code/modules/food/food/cans.dm
+++ b/code/modules/food/food/cans.dm
@@ -3,6 +3,7 @@
amount_per_transfer_from_this = 5
flags = 0 //starts closed
drop_sound = 'sound/items/drop/soda.ogg'
+ pickup_sound = 'sound/items/pickup/soda.ogg'
//DRINKS
@@ -22,7 +23,8 @@
desc = "Ice cold and utterly tasteless, this 'all-natural' mineral water comes 'fresh' from one of NanoTrasen's heavy-duty bottling plants in the Sivian poles."
icon_state = "waterbottle"
center_of_mass = list("x"=16, "y"=8)
- drop_sound = 'sound/items/drop/food.ogg'
+ drop_sound = 'sound/items/drop/disk.ogg'
+ pickup_sound = 'sound/items/pickup/disk.ogg'
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle/Initialize()
. = ..()
diff --git a/code/modules/food/food/drinks.dm b/code/modules/food/food/drinks.dm
index e13d53cac8..131dd684c1 100644
--- a/code/modules/food/food/drinks.dm
+++ b/code/modules/food/food/drinks.dm
@@ -6,6 +6,7 @@
desc = "yummy"
icon = 'icons/obj/drinks.dmi'
drop_sound = 'sound/items/drop/bottle.ogg'
+ pickup_sound = 'sound/items/pickup/bottle.ogg'
icon_state = null
flags = OPENCONTAINER
amount_per_transfer_from_this = 5
@@ -135,7 +136,8 @@
icon_state = "milk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/weapon/reagent_containers/food/drinks/milk/Initialize()
. = ..()
@@ -148,7 +150,8 @@
icon_state = "soymilk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/weapon/reagent_containers/food/drinks/soymilk/Initialize()
. = ..()
@@ -162,7 +165,8 @@
icon_state = "mini-milk"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/weapon/reagent_containers/food/drinks/smallmilk/Initialize()
. = ..()
@@ -176,7 +180,8 @@
icon_state = "mini-milk_choco"
item_state = "carton"
center_of_mass = list("x"=16, "y"=9)
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/weapon/reagent_containers/food/drinks/smallchocmilk/Initialize()
. = ..()
@@ -190,6 +195,7 @@
trash = /obj/item/trash/coffee
center_of_mass = list("x"=15, "y"=10)
drop_sound = 'sound/items/drop/papercup.ogg'
+ pickup_sound = 'sound/items/pickup/papercup.ogg'
/obj/item/weapon/reagent_containers/food/drinks/coffee/Initialize()
. = ..()
@@ -204,6 +210,7 @@
trash = /obj/item/trash/coffee
center_of_mass = list("x"=16, "y"=14)
drop_sound = 'sound/items/drop/papercup.ogg'
+ pickup_sound = 'sound/items/pickup/papercup.ogg'
/obj/item/weapon/reagent_containers/food/drinks/tea/Initialize()
. = ..()
diff --git a/code/modules/food/food/drinks/drinkingglass.dm b/code/modules/food/food/drinks/drinkingglass.dm
index 7324dc8ad8..260c4a7ae6 100644
--- a/code/modules/food/food/drinks/drinkingglass.dm
+++ b/code/modules/food/food/drinks/drinkingglass.dm
@@ -8,6 +8,8 @@
volume = 30
unacidable = 1 //glass
center_of_mass = list("x"=16, "y"=10)
+ drop_sound = 'sound/items/drop/drinkglass.ogg'
+ pickup_sound = 'sound/items/pickup/drinkglass.ogg'
matter = list("glass" = 500)
on_reagent_change()
diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm
index 7806f9a0e7..655f658a03 100644
--- a/code/modules/food/food/snacks.dm
+++ b/code/modules/food/food/snacks.dm
@@ -2385,6 +2385,8 @@
center_of_mass = list("x"=16, "y"=5)
nutriment_amt = 6
nutriment_desc = list("tomato" = 2, "potato" = 2, "carrot" = 2, "eggplant" = 2, "mushroom" = 2)
+ drop_sound = 'sound/items/drop/shovel.ogg'
+ pickup_sound = 'sound/items/pickup/shovel.ogg'
/obj/item/weapon/reagent_containers/food/snacks/stew/Initialize()
. = ..()
diff --git a/code/modules/food/glass/bottle.dm b/code/modules/food/glass/bottle.dm
index 7396076892..f372a2facf 100644
--- a/code/modules/food/glass/bottle.dm
+++ b/code/modules/food/glass/bottle.dm
@@ -11,6 +11,8 @@
possible_transfer_amounts = list(5,10,15,25,30,60)
flags = 0
volume = 60
+ drop_sound = 'sound/items/drop/bottle.ogg'
+ pickup_sound = 'sound/items/pickup/bottle.ogg'
/obj/item/weapon/reagent_containers/glass/bottle/on_reagent_change()
update_icon()
diff --git a/code/modules/food/kitchen/cooking_machines/_mixer.dm b/code/modules/food/kitchen/cooking_machines/_mixer.dm
index ce17e55d91..e1c3b0d838 100644
--- a/code/modules/food/kitchen/cooking_machines/_mixer.dm
+++ b/code/modules/food/kitchen/cooking_machines/_mixer.dm
@@ -13,6 +13,7 @@ fundamental differences
cooking_coeff = 0.75 // Original value 0.4
active_power_usage = 3000
idle_power_usage = 50
+ var/datum/looping_sound/mixer/mixer_loop
/obj/machinery/appliance/mixer/examine(var/mob/user)
. = ..()
@@ -24,6 +25,13 @@ fundamental differences
cooking_objs += new /datum/cooking_item(new /obj/item/weapon/reagent_containers/cooking_container(src))
cooking = FALSE
selected_option = pick(output_options)
+
+ mixer_loop = new(list(src), FALSE)
+
+/obj/machinery/appliance/mixer/Destroy()
+ . = ..()
+
+ QDEL_NULL(mixer_loop)
//Mixers cannot-not do combining mode. So the default option is removed from this. A combine target must be chosen
/obj/machinery/appliance/mixer/choose_output()
@@ -132,8 +140,12 @@ fundamental differences
/obj/machinery/appliance/mixer/update_icon()
if (!stat)
icon_state = on_icon
+ if(mixer_loop)
+ mixer_loop.start(src)
else
icon_state = off_icon
+ if(mixer_loop)
+ mixer_loop.stop(src)
/obj/machinery/appliance/mixer/process()
diff --git a/code/modules/food/kitchen/cooking_machines/candy.dm b/code/modules/food/kitchen/cooking_machines/candy.dm
index 21f8fdf715..93b88bef8e 100644
--- a/code/modules/food/kitchen/cooking_machines/candy.dm
+++ b/code/modules/food/kitchen/cooking_machines/candy.dm
@@ -6,6 +6,7 @@
on_icon = "mixer_on"
cook_type = "candied"
appliancetype = CANDYMAKER
+ var/datum/looping_sound/candymaker/candymaker_loop
circuit = /obj/item/weapon/circuitboard/candymachine
cooking_coeff = 1.0 // Original Value 0.6
@@ -16,6 +17,28 @@
"Jelly" = /obj/item/weapon/reagent_containers/food/snacks/variable/jelly
)
+/obj/machinery/appliance/mixer/candy/Initialize()
+ . = ..()
+
+ candymaker_loop = new(list(src), FALSE)
+
+/obj/machinery/appliance/mixer/candy/Destroy()
+ . = ..()
+
+ QDEL_NULL(candymaker_loop)
+
+/obj/machinery/appliance/mixer/candy/update_icon()
+ . = ..()
+
+ if(!stat)
+ icon_state = on_icon
+ if(candymaker_loop)
+ candymaker_loop.start(src)
+ else
+ icon_state = off_icon
+ if(candymaker_loop)
+ candymaker_loop.stop(src)
+
/obj/machinery/appliance/mixer/candy/change_product_appearance(var/obj/item/weapon/reagent_containers/food/snacks/cooked/product)
food_color = get_random_colour(1)
. = ..()
diff --git a/code/modules/food/kitchen/cooking_machines/cereal.dm b/code/modules/food/kitchen/cooking_machines/cereal.dm
index 4e272e4773..ae2516da4a 100644
--- a/code/modules/food/kitchen/cooking_machines/cereal.dm
+++ b/code/modules/food/kitchen/cooking_machines/cereal.dm
@@ -7,12 +7,23 @@
on_icon = "cereal_on"
off_icon = "cereal_off"
appliancetype = CEREALMAKER
+ var/datum/looping_sound/cerealmaker/cerealmaker_loop
circuit = /obj/item/weapon/circuitboard/cerealmaker
output_options = list(
"Cereal" = /obj/item/weapon/reagent_containers/food/snacks/variable/cereal
)
+
+/obj/machinery/appliance/mixer/cereal/Initialize()
+ . = ..()
+ cerealmaker_loop = new(list(src), FALSE)
+
+/obj/machinery/appliance/mixer/cereal/Destroy()
+ . = ..()
+
+ QDEL_NULL(cerealmaker_loop)
+
/*
/obj/machinery/appliance/mixer/cereal/change_product_strings(var/obj/item/weapon/reagent_containers/food/snacks/product, var/datum/cooking_item/CI)
. = ..()
@@ -31,6 +42,18 @@
product.overlays += food_image
*/
+/obj/machinery/appliance/mixer/cereal/update_icon()
+ . = ..()
+
+ if(!stat)
+ icon_state = on_icon
+ if(cerealmaker_loop)
+ cerealmaker_loop.start(src)
+ else
+ icon_state = off_icon
+ if(cerealmaker_loop)
+ cerealmaker_loop.stop(src)
+
/obj/machinery/appliance/mixer/cereal/combination_cook(var/datum/cooking_item/CI)
var/list/images = list()
diff --git a/code/modules/food/kitchen/cooking_machines/grill.dm b/code/modules/food/kitchen/cooking_machines/grill.dm
index 6db3c89331..d43598449d 100644
--- a/code/modules/food/kitchen/cooking_machines/grill.dm
+++ b/code/modules/food/kitchen/cooking_machines/grill.dm
@@ -8,6 +8,7 @@
on_icon = "grill_on"
off_icon = "grill_off"
can_burn_food = TRUE
+ var/datum/looping_sound/grill/grill_loop
circuit = /obj/item/weapon/circuitboard/grill
active_power_usage = 4 KILOWATTS
heating_power = 4000
@@ -24,6 +25,28 @@
max_contents = 3 // Arbitrary number, 3 grill 'racks'
container_type = /obj/item/weapon/reagent_containers/cooking_container/grill
+
+/obj/machinery/appliance/cooker/grill/Initialize()
+ . = ..()
+ grill_loop = new(list(src), FALSE)
+
+/obj/machinery/appliance/cooker/grill/Destroy()
+ QDEL_NULL(grill_loop)
+ return ..()
+
+/obj/machinery/appliance/cooker/grill/update_icon() // TODO: Cooking icon
+ if(!stat)
+ icon_state = on_icon
+ if(cooking == TRUE)
+ if(grill_loop)
+ grill_loop.start(src)
+ else
+ if(grill_loop)
+ grill_loop.stop(src)
+ else
+ icon_state = off_icon
+ if(grill_loop)
+ grill_loop.stop(src)
/* // Test Comment this out too, /cooker does this for us, and this path '/obj/machinery/appliance/grill' is invalid anyways, meaning it does jack shit. - Updated the paths, but I'm basically commenting all this shit out and if the grill works as-normal, none of this stuff is needed.
/obj/machinery/appliance/grill/toggle_power()
@@ -88,12 +111,6 @@
return 0
*/
-/obj/machinery/appliance/grill/update_icon() // TODO: Cooking icon
- if(!stat)
- icon_state = on_icon
- else
- icon_state = off_icon
-
/* // Test remove this too.
/obj/machinery/appliance/grill/process()
if (!stat)
diff --git a/code/modules/food/kitchen/cooking_machines/oven.dm b/code/modules/food/kitchen/cooking_machines/oven.dm
index 72780aa62c..d616973631 100644
--- a/code/modules/food/kitchen/cooking_machines/oven.dm
+++ b/code/modules/food/kitchen/cooking_machines/oven.dm
@@ -7,6 +7,7 @@
appliancetype = OVEN
food_color = "#A34719"
can_burn_food = TRUE
+ var/datum/looping_sound/oven/oven_loop
circuit = /obj/item/weapon/circuitboard/oven
active_power_usage = 6 KILOWATTS
heating_power = 6 KILOWATTS
@@ -37,6 +38,15 @@
"Cookie" = /obj/item/weapon/reagent_containers/food/snacks/variable/cookie,
"Donut" = /obj/item/weapon/reagent_containers/food/snacks/variable/donut,
)
+
+/obj/machinery/appliance/cooker/oven/Initialize()
+ . = ..()
+
+ oven_loop = new(list(src), FALSE)
+
+/obj/machinery/appliance/cooker/oven/Destroy()
+ QDEL_NULL(oven_loop)
+ return ..()
/obj/machinery/appliance/cooker/oven/update_icon()
if(!open)
@@ -44,12 +54,20 @@
icon_state = "ovenclosed_on"
if(cooking == TRUE)
icon_state = "ovenclosed_cooking"
+ if(oven_loop)
+ oven_loop.start(src)
else
icon_state = "ovenclosed_on"
+ if(oven_loop)
+ oven_loop.stop(src)
else
icon_state = "ovenclosed_off"
+ if(oven_loop)
+ oven_loop.stop(src)
else
icon_state = "ovenopen"
+ if(oven_loop)
+ oven_loop.stop(src)
..()
/obj/machinery/appliance/cooker/oven/AltClick(var/mob/user)
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
index 3be22f940a..91d7d8d666 100644
--- a/code/modules/games/cards.dm
+++ b/code/modules/games/cards.dm
@@ -18,6 +18,8 @@
name = "deck of cards"
desc = "A simple deck of playing cards."
icon_state = "deck"
+ drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
/obj/item/weapon/deck/cards/New()
..()
@@ -281,6 +283,8 @@
w_class = ITEMSIZE_TINY
var/list/cards = list()
var/parentdeck = null // This variable is added here so that card pack dependent card can be mixed together by defining a "parentdeck" for them
+ drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
/obj/item/weapon/pack/attack_self(var/mob/user as mob)
@@ -301,6 +305,8 @@
desc = "Some playing cards."
icon = 'icons/obj/playing_cards.dmi'
icon_state = "empty"
+ drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
w_class = ITEMSIZE_TINY
var/concealed = 0
diff --git a/code/modules/games/dice.dm b/code/modules/games/dice.dm
index 039631cdb4..9b796995c5 100644
--- a/code/modules/games/dice.dm
+++ b/code/modules/games/dice.dm
@@ -80,6 +80,8 @@
desc = "It's a small bag with dice inside."
icon = 'icons/obj/dice.dmi'
icon_state = "dicebag"
+ drop_sound = 'sound/items/drop/hat.ogg'
+ pickup_sound = 'sound/items/pickup/hat.ogg'
/obj/item/weapon/storage/pill_bottle/dice/New()
..()
@@ -91,6 +93,8 @@
desc = "It's a small bag with gaming dice inside."
icon = 'icons/obj/dice.dmi'
icon_state = "magicdicebag"
+ drop_sound = 'sound/items/drop/hat.ogg'
+ pickup_sound = 'sound/items/pickup/hat.ogg'
/obj/item/weapon/storage/pill_bottle/dice_nerd/New()
..()
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index 621a01281c..91f98a41d1 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -355,6 +355,7 @@ datum/unarmed_attack/holopugilism/unarmed_override(var/mob/living/carbon/human/u
desc = "Here's your chance, do your dance at the Space Jam."
w_class = ITEMSIZE_LARGE //Stops people from hiding it in their bags/pockets
drop_sound = 'sound/items/drop/basketball.ogg'
+ pickup_sound = 'sound/items/pickup/basketball.ogg'
/obj/structure/holohoop
name = "basketball hoop"
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index 3486ab4e34..fddd10cb23 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -8,6 +8,7 @@
flags = NOCONDUCT
slot_flags = SLOT_HOLSTER
drop_sound = 'sound/items/drop/herb.ogg'
+ pickup_sound = 'sound/items/pickup/herb.ogg'
var/plantname
var/datum/seed/seed
@@ -353,6 +354,7 @@ var/list/fruit_icon_cache = list()
name = "[S.seed_name] slice"
desc = "A slice of \a [S.seed_name]. Tasty, probably."
drop_sound = 'sound/items/drop/herb.ogg'
+ pickup_sound = 'sound/items/pickup/herb.ogg'
var/rind_colour = S.get_trait(TRAIT_PRODUCT_COLOUR)
var/flesh_colour = S.get_trait(TRAIT_FLESH_COLOUR)
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index 879c7595a4..6bb1fc9939 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -185,7 +185,8 @@ Book Cart End
var/title // The real name of the book.
var/carved = 0 // Has the book been hollowed out for use as a secret storage item?
var/obj/item/store //What's in the book?
- drop_sound = 'sound/bureaucracy/bookclose.ogg'
+ drop_sound = 'sound/items/drop/book.ogg'
+ pickup_sound = 'sound/items/pickup/book.ogg'
/obj/item/weapon/book/attack_self(var/mob/user as mob)
if(carved)
diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm
index 029191ff6e..3e17239563 100644
--- a/code/modules/materials/material_sheets.dm
+++ b/code/modules/materials/material_sheets.dm
@@ -18,6 +18,7 @@
var/perunit = SHEET_MATERIAL_AMOUNT
var/apply_colour //temp pending icon rewrite
drop_sound = 'sound/items/drop/axe.ogg'
+ pickup_sound = 'sound/items/pickup/axe.ogg'
/obj/item/stack/material/New()
..()
@@ -108,6 +109,7 @@
default_type = "sandstone"
no_variants = FALSE
drop_sound = 'sound/items/drop/boots.ogg'
+ pickup_sound = 'sound/items/pickup/boots.ogg'
/obj/item/stack/material/marble
name = "marble brick"
@@ -115,12 +117,14 @@
default_type = "marble"
no_variants = FALSE
drop_sound = 'sound/items/drop/boots.ogg'
+ pickup_sound = 'sound/items/pickup/boots.ogg'
/obj/item/stack/material/diamond
name = "diamond"
icon_state = "sheet-diamond"
default_type = "diamond"
drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/stack/material/uranium
name = "uranium"
@@ -134,6 +138,7 @@
default_type = "phoron"
no_variants = FALSE
drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/stack/material/plastic
name = "plastic"
@@ -330,6 +335,7 @@
default_type = MAT_WOOD
strict_color_stacking = TRUE
drop_sound = 'sound/items/drop/wooden.ogg'
+ pickup_sound = 'sound/items/pickup/wooden.ogg'
/obj/item/stack/material/wood/sif
name = "alien wooden plank"
@@ -347,6 +353,7 @@
description_info = "Use inhand to craft things, or use a sharp and edged object on this to convert it into two wooden planks."
var/plank_type = /obj/item/stack/material/wood
drop_sound = 'sound/items/drop/wooden.ogg'
+ pickup_sound = 'sound/items/pickup/wooden.ogg'
/obj/item/stack/material/log/sif
name = "alien log"
@@ -384,7 +391,8 @@
no_variants = FALSE
pass_color = TRUE
strict_color_stacking = TRUE
- drop_sound = 'sound/items/drop/clothing.ogg'
+ drop_sound = 'sound/items/drop/cloth.ogg'
+ pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/stack/material/cloth/diyaab
color = "#c6ccf0"
@@ -405,7 +413,8 @@
no_variants = FALSE
pass_color = TRUE
strict_color_stacking = TRUE
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/stack/material/snow
name = "snow"
@@ -427,7 +436,8 @@
no_variants = FALSE
pass_color = TRUE
strict_color_stacking = TRUE
- drop_sound = 'sound/items/drop/clothing.ogg'
+ drop_sound = 'sound/items/drop/leather.ogg'
+ pickup_sound = 'sound/items/pickup/leather.ogg'
/obj/item/stack/material/glass
name = "glass"
@@ -435,6 +445,7 @@
default_type = "glass"
no_variants = FALSE
drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/stack/material/glass/reinforced
name = "reinforced glass"
diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm
index 9da7e05148..ad16122b3f 100644
--- a/code/modules/mining/coins.dm
+++ b/code/modules/mining/coins.dm
@@ -13,6 +13,7 @@
var/string_attached
var/sides = 2
drop_sound = 'sound/items/drop/ring.ogg'
+ pickup_sound = 'sound/items/pickup/ring.ogg'
/obj/item/weapon/coin/New()
randpixel_xy()
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index 44580b101a..47ec7865da 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -472,6 +472,12 @@
message = "points to [M]."
else
m_type = 1
+
+ if("crack")
+ if(!restrained())
+ message = "cracks [T.his] knuckles."
+ playsound(src, 'sound/voice/knuckles.ogg', 50, 1)
+ m_type = 1
if("raise")
if(!src.restrained())
diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm
index 588ba5e115..859a719fe9 100644
--- a/code/modules/organs/organ.dm
+++ b/code/modules/organs/organ.dm
@@ -5,6 +5,7 @@ var/list/organ_cache = list()
icon = 'icons/obj/surgery.dmi'
germ_level = 0
drop_sound = 'sound/items/drop/flesh.ogg'
+ pickup_sound = 'sound/items/pickup/flesh.ogg'
// Strings.
var/organ_tag = "organ" // Unique identifier.
diff --git a/code/modules/overmap/ships/computers/sensors.dm b/code/modules/overmap/ships/computers/sensors.dm
index d6e4265a27..41d174b51c 100644
--- a/code/modules/overmap/ships/computers/sensors.dm
+++ b/code/modules/overmap/ships/computers/sensors.dm
@@ -99,7 +99,7 @@
if (href_list["scan"])
var/obj/effect/overmap/O = locate(href_list["scan"])
if(istype(O) && !QDELETED(O) && (O in view(7,linked)))
- playsound(src, "sound/machines/dotprinter.ogg", 30, 1)
+ playsound(src, "sound/machines/printer.ogg", 30, 1)
new/obj/item/weapon/paper/(get_turf(src), O.get_scan_data(user), "paper (Sensor Scan - [O])")
return TOPIC_HANDLED
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 8b94e3c416..8fe1cc2923 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -156,7 +156,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins
return 0 //You can't send faxes to "Unknown"
flick("faxreceive", src)
- playsound(src, "sound/effects/printer.ogg", 50, 1)
+ playsound(src, "sound/machines/printer.ogg", 50, 1)
// give the sprite some time to flick
@@ -219,4 +219,4 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins
for(var/client/C in admins)
if(check_rights((R_ADMIN|R_MOD|R_EVENT),0,C))
to_chat(C,msg)
- C << 'sound/effects/printer.ogg'
+ C << 'sound/machines/printer.ogg'
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index d0e9931f71..892bf50bdd 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -6,6 +6,7 @@
w_class = ITEMSIZE_SMALL
pressure_resistance = 2
drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
/obj/item/weapon/folder/blue
desc = "A blue folder."
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index c89e1209b0..6996f91012 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -20,6 +20,7 @@
body_parts_covered = HEAD
attack_verb = list("bapped")
drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
var/info //What's actually written on the paper.
var/info_links //A different version of the paper which includes html links at fields and EOF
diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm
index bbf66d9f9a..5c5eb14a57 100644
--- a/code/modules/paperwork/paper_bundle.dm
+++ b/code/modules/paperwork/paper_bundle.dm
@@ -13,6 +13,7 @@
pressure_resistance = 1
attack_verb = list("bapped")
drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
var/page = 1 // current page
var/list/pages = list() // Ordered list of pages as they are to be displayed. Can be different order than src.contents.
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index 69c14fe8b9..2a91257966 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -16,6 +16,8 @@
layer = OBJ_LAYER - 0.1
var/amount = 30 //How much paper is in the bin.
var/list/papers = new/list() //List of papers put in the bin for reference.
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
/obj/item/weapon/paper_bin/MouseDrop(mob/user as mob)
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index e27f8db8b0..5aa1f6901f 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -24,6 +24,7 @@
var/colour = "black" //what colour the ink is!
pressure_resistance = 2
drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/weapon/pen/attack_self(var/mob/user)
if(!user.checkClickCooldown())
@@ -287,6 +288,8 @@
var/uses = 30 //0 for unlimited uses
var/instant = 0
var/colourName = "red" //for updateIcon purposes
+ drop_sound = 'sound/items/drop/gloves.ogg'
+ pickup_sound = 'sound/items/pickup/gloves.ogg'
/obj/item/weapon/pen/crayon/suicide_act(mob/user)
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index 2e27fa0658..1d2d40e90b 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -29,6 +29,8 @@ var/global/photo_count = 0
icon_state = "photo"
item_state = "paper"
w_class = ITEMSIZE_SMALL
+ drop_sound = 'sound/items/drop/paper.ogg'
+ pickup_sound = 'sound/items/pickup/paper.ogg'
var/id
var/icon/img //Big photo image
var/scribble //Scribble on the back.
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index fcd8e086a6..beb25963ab 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -509,6 +509,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
stacktype = /obj/item/stack/cable_coil
drop_sound = 'sound/items/drop/accessory.ogg'
+ pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/stack/cable_coil/cyborg
name = "cable coil synthesizer"
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 0fc1695363..c73a899a20 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -854,6 +854,8 @@ var/global/list/light_type_cache = list()
var/nightshift_range = 8
var/nightshift_power = 0.7
var/nightshift_color = LIGHT_COLOR_NIGHTSHIFT
+ drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/weapon/light/tube
name = "light tube"
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index 96194104b8..af35605584 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -43,6 +43,9 @@
#define WARNING_DELAY 20 //seconds between warnings.
+// Keeps Accent sounds from layering, increase or decrease as preferred.
+#define SUPERMATTER_ACCENT_SOUND_COOLDOWN 2 SECONDS
+
/obj/machinery/power/supermatter
name = "Supermatter"
desc = "A strangely translucent and iridescent crystal. You get headaches just from looking at it."
@@ -98,6 +101,9 @@
var/config_hallucination_power = 0.1
var/debug = 0
+
+ /// Cooldown tracker for accent sounds,
+ var/last_accent_sound = 0
var/datum/looping_sound/supermatter/soundloop
@@ -289,11 +295,29 @@
shift_light(4,initial(light_color))
if(grav_pulling)
supermatter_pull(src)
-
+
+ // Vary volume by power produced.
if(power)
// Volume will be 1 at no power, ~12.5 at ENERGY_NITROGEN, and 20+ at ENERGY_PHORON.
// Capped to 20 volume since higher volumes get annoying and it sounds worse.
- soundloop.volume = min(round(power/10)+1, 20)
+ // Formula previously was min(round(power/10)+1, 20)
+ soundloop.volume = CLAMP((50 + (power / 50)), 50, 100)
+
+ // Swap loops between calm and delamming.
+ if(damage >= 300)
+ soundloop.mid_sounds = list('sound/machines/sm/loops/delamming.ogg' = 1)
+ else
+ soundloop.mid_sounds = list('sound/machines/sm/loops/calm.ogg' = 1)
+
+ // Play Delam/Neutral sounds at rate determined by power and damage.
+ if(last_accent_sound < world.time && prob(20))
+ var/aggression = min(((damage / 800) * (power / 2500)), 1.0) * 100
+ if(damage >= 300)
+ playsound(src, "smdelam", max(50, aggression), FALSE, 10)
+ else
+ playsound(src, "smcalm", max(50, aggression), FALSE, 10)
+ var/next_sound = round((100 - aggression) * 5)
+ last_accent_sound = world.time + max(SUPERMATTER_ACCENT_SOUND_COOLDOWN, next_sound)
//Ok, get the air from the turf
var/datum/gas_mixture/removed = null
diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm
index 8c7e9a440b..d55fe61684 100644
--- a/code/modules/projectiles/ammunition.dm
+++ b/code/modules/projectiles/ammunition.dm
@@ -9,6 +9,7 @@
w_class = ITEMSIZE_TINY
preserve_item = 1
drop_sound = 'sound/items/drop/ring.ogg'
+ pickup_sound = 'sound/items/pickup/ring.ogg'
var/leaves_residue = 1
var/caliber = "" //Which kind of guns it can be loaded into
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index a21f5358ad..75faa0bfae 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -50,6 +50,7 @@
attack_verb = list("struck", "hit", "bashed")
zoomdevicename = "scope"
drop_sound = 'sound/items/drop/gun.ogg'
+ pickup_sound = 'sound/items/pickup/gun.ogg'
var/automatic = 0
var/burst = 1
diff --git a/code/modules/projectiles/guns/launcher/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm
index aec4db2d32..9de4027392 100644
--- a/code/modules/projectiles/guns/launcher/crossbow.dm
+++ b/code/modules/projectiles/guns/launcher/crossbow.dm
@@ -6,6 +6,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "bolt"
item_state = "bolt"
+ drop_sound = 'sound/items/drop/sword.ogg'
+ pickup_sound = 'sound/items/pickup/sword.ogg'
throwforce = 8
w_class = ITEMSIZE_NORMAL
sharp = 1
@@ -24,6 +26,8 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "metal-rod"
item_state = "bolt"
+ drop_sound = 'sound/items/drop/sword.ogg'
+ pickup_sound = 'sound/items/pickup/sword.ogg'
/obj/item/weapon/arrow/quill
name = "alien quill"
diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm
index 9611460f21..223583f7dc 100644
--- a/code/modules/reagents/reagent_containers/blood_pack.dm
+++ b/code/modules/reagents/reagent_containers/blood_pack.dm
@@ -22,6 +22,7 @@
icon_state = "empty"
item_state = "bloodpack_empty"
drop_sound = 'sound/items/drop/food.ogg'
+ pickup_sound = 'sound/items/pickup/food.ogg'
volume = 200
var/label_text = ""
diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm
index 7ffcf28881..459d481cba 100644
--- a/code/modules/reagents/reagent_containers/dropper.dm
+++ b/code/modules/reagents/reagent_containers/dropper.dm
@@ -12,6 +12,7 @@
slot_flags = SLOT_EARS
volume = 5
drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/weapon/reagent_containers/dropper/examine(var/mob/user)
. = ..()
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index b57dbd0841..abd1e56624 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -16,6 +16,8 @@
w_class = ITEMSIZE_SMALL
flags = OPENCONTAINER | NOCONDUCT
unacidable = 1 //glass doesn't dissolve in acid
+ drop_sound = 'sound/items/drop/bottle.ogg'
+ pickup_sound = 'sound/items/pickup/bottle.ogg'
var/label_text = ""
@@ -154,6 +156,8 @@
item_state = "beaker"
center_of_mass = list("x" = 15,"y" = 11)
matter = list("glass" = 500)
+ drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/weapon/reagent_containers/glass/beaker/Initialize()
. = ..()
@@ -262,6 +266,8 @@
volume = 120
flags = OPENCONTAINER
unacidable = 0
+ drop_sound = 'sound/items/drop/helm.ogg'
+ pickup_sound = 'sound/items/pickup/helm.ogg'
/obj/item/weapon/reagent_containers/glass/bucket/attackby(var/obj/item/D, mob/user as mob)
if(isprox(D))
@@ -319,6 +325,8 @@ obj/item/weapon/reagent_containers/glass/bucket/wood
volume = 120
flags = OPENCONTAINER
unacidable = 0
+ drop_sound = 'sound/items/drop/wooden.ogg'
+ pickup_sound = 'sound/items/pickup/wooden.ogg'
/obj/item/weapon/reagent_containers/glass/bucket/wood/attackby(var/obj/D, mob/user as mob)
if(isprox(D))
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index f18ab442ef..e674d2493e 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -14,6 +14,8 @@
possible_transfer_amounts = null
flags = OPENCONTAINER
slot_flags = SLOT_BELT
+ drop_sound = 'sound/items/drop/gun.ogg'
+ pickup_sound = 'sound/items/pickup/gun.ogg'
preserve_item = 1
var/filled = 0
var/list/filled_reagents = list()
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 573afc9013..abcd839dc2 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -8,6 +8,7 @@
icon_state = null
item_state = "pill"
drop_sound = 'sound/items/drop/food.ogg'
+ pickup_sound = 'sound/items/pickup/food.ogg'
var/base_state = "pill"
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index a83c961546..eb4bba2387 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -156,6 +156,8 @@
amount_per_transfer_from_this = 1
possible_transfer_amounts = null
volume = 10
+ drop_sound = 'sound/items/drop/herb.ogg'
+ pickup_sound = 'sound/items/pickup/herb.ogg'
/obj/item/weapon/reagent_containers/spray/waterflower/Initialize()
. = ..()
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 2d68f9fe43..9519f912c1 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -26,6 +26,7 @@
var/time = 30
var/drawing = 0
drop_sound = 'sound/items/drop/glass.ogg'
+ pickup_sound = 'sound/items/pickup/glass.ogg'
/obj/item/weapon/reagent_containers/syringe/on_reagent_change()
update_icon()
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 4ca1b851e8..a12e699c8b 100755
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -114,7 +114,8 @@
name = "small parcel"
icon = 'icons/obj/storage.dmi'
icon_state = "deliverycrate3"
- drop_sound = 'sound/items/drop/box.ogg'
+ drop_sound = 'sound/items/drop/cardboardbox.ogg'
+ pickup_sound = 'sound/items/pickup/cardboardbox.ogg'
var/obj/item/wrapped = null
var/sortTag = null
var/examtext = null
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 41510d0545..d6b9c373d5 100755
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -256,17 +256,21 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_destroy.loaded_item = null
for(var/obj/I in linked_destroy.contents)
for(var/mob/M in I.contents)
+ playsound(linked_destroy, 'sound/machines/destructive_analyzer.ogg', 50, 1)
M.death()
if(istype(I,/obj/item/stack/material))//Only deconsturcts one sheet at a time instead of the entire stack
var/obj/item/stack/material/S = I
if(S.get_amount() > 1)
+ playsound(linked_destroy, 'sound/machines/destructive_analyzer.ogg', 50, 1)
S.use(1)
linked_destroy.loaded_item = S
else
+ playsound(linked_destroy, 'sound/machines/destructive_analyzer.ogg', 50, 1)
qdel(S)
linked_destroy.icon_state = "d_analyzer"
else
if(I != linked_destroy.circuit && !(I in linked_destroy.component_parts))
+ playsound(linked_destroy, 'sound/machines/destructive_analyzer.ogg', 50, 1)
qdel(I)
linked_destroy.icon_state = "d_analyzer"
diff --git a/code/modules/security levels/security levels.dm b/code/modules/security levels/security levels.dm
index 0e3a9f02d5..57114bdd46 100644
--- a/code/modules/security levels/security levels.dm
+++ b/code/modules/security levels/security levels.dm
@@ -8,7 +8,7 @@
//6 = code delta
//config.alert_desc_blue_downto
-/var/datum/announcement/priority/security/security_announcement_up = new(do_log = 0, do_newscast = 1, new_sound = sound('sound/misc/notice1.ogg'))
+/var/datum/announcement/priority/security/security_announcement_up = new(do_log = 0, do_newscast = 1, new_sound = sound('sound/effects/alert_levels/alert_raise.ogg'))
/var/datum/announcement/priority/security/security_announcement_down = new(do_log = 0, do_newscast = 1)
/proc/set_security_level(var/level)
@@ -60,12 +60,12 @@
security_level = SEC_LEVEL_BLUE
if(SEC_LEVEL_RED)
if(security_level < SEC_LEVEL_RED)
- security_announcement_up.Announce("[config.alert_desc_red_upto]", "Attention! Code red!")
+ security_announcement_up.Announce("[config.alert_desc_red_upto]", "Attention! Code red!", new_sound = sound('sound/effects/alert_levels/red_alert.ogg', volume = 75))
else
security_announcement_down.Announce("[config.alert_desc_red_downto]", "Attention! Code red!")
security_level = SEC_LEVEL_RED
if(SEC_LEVEL_DELTA)
- security_announcement_up.Announce("[config.alert_desc_delta]", "Attention! Delta alert level reached!", new_sound = 'sound/effects/siren.ogg')
+ security_announcement_up.Announce("[config.alert_desc_delta]", "Attention! Delta alert level reached!", new_sound = 'sound/effects/alert_levels/deltaklaxon.ogg')
security_level = SEC_LEVEL_DELTA
var/newlevel = get_security_level()
diff --git a/maps/southern_cross/southern_cross_areas.dm b/maps/southern_cross/southern_cross_areas.dm
index 471e70c6f9..a45194d2af 100644
--- a/maps/southern_cross/southern_cross_areas.dm
+++ b/maps/southern_cross/southern_cross_areas.dm
@@ -109,13 +109,13 @@
icon_state = "bluenew"
/area/surface/outside/river/faxalven
- name = "Faxälven River"
+ name = "Fax�lven River"
/area/surface/outside/river/indalsalven
- name = "Indalsälven River"
+ name = "Indals�lven River"
/area/surface/outside/river/svartan
- name = "Svartån River"
+ name = "Svart�n River"
/area/surface/outside/lake/romsele
name = "Romsele Lake"
@@ -183,6 +183,7 @@
/area/surface/outpost/mining_main/gen_room
name = "North Mining Generator Room"
icon_state = "substation"
+ ambience = AMBIENCE_SUBSTATION
/area/surface/outpost/mining_main/emergencystorage
name = "\improper North Mining Emergency Storage"
@@ -212,6 +213,7 @@
name = "\improper Xenoresearch SMES Maintenance"
icon_state = "substation"
sound_env = SMALL_ENCLOSED
+ ambience = AMBIENCE_SUBSTATION
/area/surface/outpost/research/xenoresearch/emergencystorage
name = "\improper Xenoresearch Emergency Storage"
@@ -248,6 +250,7 @@
name = "\improper Xenoarcheology SMES Maintenance"
icon_state = "substation"
sound_env = SMALL_ENCLOSED
+ ambience = AMBIENCE_SUBSTATION
/area/surface/outpost/research/xenoarcheology/emergencystorage
name = "\improper Xenoarcheology Emergency Storage"
@@ -292,7 +295,7 @@
/area/surface/outpost/main/gen_room
name = "\improper Main Outpost SMES"
icon_state = "substation"
- ambience = AMBIENCE_ENGINEERING
+ ambience = AMBIENCE_SUBSTATION
/area/surface/outpost/main/gen_room/smes
name = "\improper Main Outpost Dorm SMES"
@@ -378,6 +381,7 @@
/area/outpost/mining_station/gen_station
name = "Mining Station Generator Room"
icon_state = "substation"
+ ambience = AMBIENCE_SUBSTATION
/area/outpost/mining_station/crew_area
name = "Mining Station Crew Area"
@@ -609,6 +613,7 @@
name = "\improper First Deck Hangar"
icon_state = "hangar"
sound_env = LARGE_ENCLOSED
+ ambience = AMBIENCE_HANGAR
/area/hangar/one
name = "\improper Hangar One"
diff --git a/sound/ambience/ai/ai2.ogg b/sound/ambience/ai/ai2.ogg
new file mode 100644
index 0000000000..691b437f49
Binary files /dev/null and b/sound/ambience/ai/ai2.ogg differ
diff --git a/sound/ambience/ai/ai3.ogg b/sound/ambience/ai/ai3.ogg
new file mode 100644
index 0000000000..b20e79fdde
Binary files /dev/null and b/sound/ambience/ai/ai3.ogg differ
diff --git a/sound/ambience/arrivals/arrivals3.ogg b/sound/ambience/arrivals/arrivals3.ogg
new file mode 100644
index 0000000000..d396599d2d
Binary files /dev/null and b/sound/ambience/arrivals/arrivals3.ogg differ
diff --git a/sound/ambience/arrivals/arrivals4.ogg b/sound/ambience/arrivals/arrivals4.ogg
new file mode 100644
index 0000000000..d82763c0e5
Binary files /dev/null and b/sound/ambience/arrivals/arrivals4.ogg differ
diff --git a/sound/ambience/arrivals/arrivals5.ogg b/sound/ambience/arrivals/arrivals5.ogg
new file mode 100644
index 0000000000..0e56fa439e
Binary files /dev/null and b/sound/ambience/arrivals/arrivals5.ogg differ
diff --git a/sound/ambience/arrivals/arrivals6.ogg b/sound/ambience/arrivals/arrivals6.ogg
new file mode 100644
index 0000000000..d0241cc0e2
Binary files /dev/null and b/sound/ambience/arrivals/arrivals6.ogg differ
diff --git a/sound/ambience/arrivals/arrivals7.ogg b/sound/ambience/arrivals/arrivals7.ogg
new file mode 100644
index 0000000000..3a609012d9
Binary files /dev/null and b/sound/ambience/arrivals/arrivals7.ogg differ
diff --git a/sound/ambience/atmospherics/atmospherics1.ogg b/sound/ambience/atmospherics/atmospherics1.ogg
new file mode 100644
index 0000000000..006de1c9cc
Binary files /dev/null and b/sound/ambience/atmospherics/atmospherics1.ogg differ
diff --git a/sound/ambience/expoutpost/expoutpost1.ogg b/sound/ambience/expoutpost/expoutpost1.ogg
new file mode 100644
index 0000000000..04b393816f
Binary files /dev/null and b/sound/ambience/expoutpost/expoutpost1.ogg differ
diff --git a/sound/ambience/expoutpost/expoutpost2.ogg b/sound/ambience/expoutpost/expoutpost2.ogg
new file mode 100644
index 0000000000..6c40d0a32b
Binary files /dev/null and b/sound/ambience/expoutpost/expoutpost2.ogg differ
diff --git a/sound/ambience/expoutpost/expoutpost3.ogg b/sound/ambience/expoutpost/expoutpost3.ogg
new file mode 100644
index 0000000000..ef9cfba72e
Binary files /dev/null and b/sound/ambience/expoutpost/expoutpost3.ogg differ
diff --git a/sound/ambience/expoutpost/expoutpost4.ogg b/sound/ambience/expoutpost/expoutpost4.ogg
new file mode 100644
index 0000000000..ad95b9d475
Binary files /dev/null and b/sound/ambience/expoutpost/expoutpost4.ogg differ
diff --git a/sound/ambience/foreboding/foreboding7.ogg b/sound/ambience/foreboding/foreboding7.ogg
new file mode 100644
index 0000000000..b27c03d736
Binary files /dev/null and b/sound/ambience/foreboding/foreboding7.ogg differ
diff --git a/sound/ambience/hangar/hangar1.ogg b/sound/ambience/hangar/hangar1.ogg
new file mode 100644
index 0000000000..6fea9fc0f5
Binary files /dev/null and b/sound/ambience/hangar/hangar1.ogg differ
diff --git a/sound/ambience/hangar/hangar2.ogg b/sound/ambience/hangar/hangar2.ogg
new file mode 100644
index 0000000000..1c8a63424c
Binary files /dev/null and b/sound/ambience/hangar/hangar2.ogg differ
diff --git a/sound/ambience/hangar/hangar3.ogg b/sound/ambience/hangar/hangar3.ogg
new file mode 100644
index 0000000000..4518a70a94
Binary files /dev/null and b/sound/ambience/hangar/hangar3.ogg differ
diff --git a/sound/ambience/hangar/hangar4.ogg b/sound/ambience/hangar/hangar4.ogg
new file mode 100644
index 0000000000..a28c914c9e
Binary files /dev/null and b/sound/ambience/hangar/hangar4.ogg differ
diff --git a/sound/ambience/hangar/hangar5.ogg b/sound/ambience/hangar/hangar5.ogg
new file mode 100644
index 0000000000..cef20f5628
Binary files /dev/null and b/sound/ambience/hangar/hangar5.ogg differ
diff --git a/sound/ambience/hangar/hangar6.ogg b/sound/ambience/hangar/hangar6.ogg
new file mode 100644
index 0000000000..938cb83f19
Binary files /dev/null and b/sound/ambience/hangar/hangar6.ogg differ
diff --git a/sound/ambience/highsec/highsec3.ogg b/sound/ambience/highsec/highsec3.ogg
new file mode 100644
index 0000000000..87318e6203
Binary files /dev/null and b/sound/ambience/highsec/highsec3.ogg differ
diff --git a/sound/ambience/highsec/highsec4.ogg b/sound/ambience/highsec/highsec4.ogg
new file mode 100644
index 0000000000..9fb613e031
Binary files /dev/null and b/sound/ambience/highsec/highsec4.ogg differ
diff --git a/sound/ambience/maintenance/maintenance6.ogg b/sound/ambience/maintenance/maintenance6.ogg
new file mode 100644
index 0000000000..4a8078b344
Binary files /dev/null and b/sound/ambience/maintenance/maintenance6.ogg differ
diff --git a/sound/ambience/maintenance/maintenance7.ogg b/sound/ambience/maintenance/maintenance7.ogg
new file mode 100644
index 0000000000..13b07ee803
Binary files /dev/null and b/sound/ambience/maintenance/maintenance7.ogg differ
diff --git a/sound/ambience/maintenance/maintenance8.ogg b/sound/ambience/maintenance/maintenance8.ogg
new file mode 100644
index 0000000000..dc3cd9a589
Binary files /dev/null and b/sound/ambience/maintenance/maintenance8.ogg differ
diff --git a/sound/ambience/maintenance/maintenance9.ogg b/sound/ambience/maintenance/maintenance9.ogg
new file mode 100644
index 0000000000..728049f3ed
Binary files /dev/null and b/sound/ambience/maintenance/maintenance9.ogg differ
diff --git a/sound/ambience/substation/substation1.ogg b/sound/ambience/substation/substation1.ogg
new file mode 100644
index 0000000000..cee14fcd13
Binary files /dev/null and b/sound/ambience/substation/substation1.ogg differ
diff --git a/sound/ambience/substation/substation2.ogg b/sound/ambience/substation/substation2.ogg
new file mode 100644
index 0000000000..7d79f0e3c4
Binary files /dev/null and b/sound/ambience/substation/substation2.ogg differ
diff --git a/sound/effects/alert_levels/alert_raise.ogg b/sound/effects/alert_levels/alert_raise.ogg
new file mode 100644
index 0000000000..da6454ce3c
Binary files /dev/null and b/sound/effects/alert_levels/alert_raise.ogg differ
diff --git a/sound/effects/alert_levels/deltaklaxon.ogg b/sound/effects/alert_levels/deltaklaxon.ogg
new file mode 100644
index 0000000000..7a9522c1ff
Binary files /dev/null and b/sound/effects/alert_levels/deltaklaxon.ogg differ
diff --git a/sound/effects/alert_levels/red_alert.ogg b/sound/effects/alert_levels/red_alert.ogg
new file mode 100644
index 0000000000..6eed302098
Binary files /dev/null and b/sound/effects/alert_levels/red_alert.ogg differ
diff --git a/sound/effects/pai_boot.ogg b/sound/effects/pai_boot.ogg
new file mode 100644
index 0000000000..3d6783fe70
Binary files /dev/null and b/sound/effects/pai_boot.ogg differ
diff --git a/sound/items/drop/ammobox.ogg b/sound/items/drop/ammobox.ogg
new file mode 100644
index 0000000000..13fce70fe3
Binary files /dev/null and b/sound/items/drop/ammobox.ogg differ
diff --git a/sound/items/drop/book.ogg b/sound/items/drop/book.ogg
new file mode 100644
index 0000000000..b492b665f5
Binary files /dev/null and b/sound/items/drop/book.ogg differ
diff --git a/sound/items/drop/cardboardbox.ogg b/sound/items/drop/cardboardbox.ogg
new file mode 100644
index 0000000000..7070ba1c34
Binary files /dev/null and b/sound/items/drop/cardboardbox.ogg differ
diff --git a/sound/items/drop/cloth.ogg b/sound/items/drop/cloth.ogg
new file mode 100644
index 0000000000..5bf734caba
Binary files /dev/null and b/sound/items/drop/cloth.ogg differ
diff --git a/sound/items/drop/component.ogg b/sound/items/drop/component.ogg
new file mode 100644
index 0000000000..093fde7c90
Binary files /dev/null and b/sound/items/drop/component.ogg differ
diff --git a/sound/items/drop/crowbar.ogg b/sound/items/drop/crowbar.ogg
new file mode 100644
index 0000000000..7746411066
Binary files /dev/null and b/sound/items/drop/crowbar.ogg differ
diff --git a/sound/items/drop/disk.ogg b/sound/items/drop/disk.ogg
new file mode 100644
index 0000000000..3174b88117
Binary files /dev/null and b/sound/items/drop/disk.ogg differ
diff --git a/sound/items/drop/drinkglass.ogg b/sound/items/drop/drinkglass.ogg
new file mode 100644
index 0000000000..43bb732db3
Binary files /dev/null and b/sound/items/drop/drinkglass.ogg differ
diff --git a/sound/items/drop/matchbox.ogg b/sound/items/drop/matchbox.ogg
new file mode 100644
index 0000000000..8e4e276c9e
Binary files /dev/null and b/sound/items/drop/matchbox.ogg differ
diff --git a/sound/items/drop/multitool.ogg b/sound/items/drop/multitool.ogg
new file mode 100644
index 0000000000..67e0a41042
Binary files /dev/null and b/sound/items/drop/multitool.ogg differ
diff --git a/sound/items/drop/screwdriver.ogg b/sound/items/drop/screwdriver.ogg
new file mode 100644
index 0000000000..d460fd0aed
Binary files /dev/null and b/sound/items/drop/screwdriver.ogg differ
diff --git a/sound/items/drop/toolbelt.ogg b/sound/items/drop/toolbelt.ogg
new file mode 100644
index 0000000000..2a3c4655c4
Binary files /dev/null and b/sound/items/drop/toolbelt.ogg differ
diff --git a/sound/items/drop/toolbox.ogg b/sound/items/drop/toolbox.ogg
new file mode 100644
index 0000000000..abf5694627
Binary files /dev/null and b/sound/items/drop/toolbox.ogg differ
diff --git a/sound/items/drop/weldingtool.ogg b/sound/items/drop/weldingtool.ogg
new file mode 100644
index 0000000000..58b722ad7a
Binary files /dev/null and b/sound/items/drop/weldingtool.ogg differ
diff --git a/sound/items/drop/wirecutter.ogg b/sound/items/drop/wirecutter.ogg
new file mode 100644
index 0000000000..e099870fc7
Binary files /dev/null and b/sound/items/drop/wirecutter.ogg differ
diff --git a/sound/items/drop/wrench.ogg b/sound/items/drop/wrench.ogg
new file mode 100644
index 0000000000..86020bf822
Binary files /dev/null and b/sound/items/drop/wrench.ogg differ
diff --git a/sound/items/jumpsuit_equip.ogg b/sound/items/jumpsuit_equip.ogg
new file mode 100644
index 0000000000..bdcc2bb3a6
Binary files /dev/null and b/sound/items/jumpsuit_equip.ogg differ
diff --git a/sound/items/pickup/accessory.ogg b/sound/items/pickup/accessory.ogg
new file mode 100644
index 0000000000..b532e2d402
Binary files /dev/null and b/sound/items/pickup/accessory.ogg differ
diff --git a/sound/items/pickup/ammobox.ogg b/sound/items/pickup/ammobox.ogg
new file mode 100644
index 0000000000..9532a7697b
Binary files /dev/null and b/sound/items/pickup/ammobox.ogg differ
diff --git a/sound/items/pickup/axe.ogg b/sound/items/pickup/axe.ogg
new file mode 100644
index 0000000000..a77809ab57
Binary files /dev/null and b/sound/items/pickup/axe.ogg differ
diff --git a/sound/items/pickup/backpack.ogg b/sound/items/pickup/backpack.ogg
new file mode 100644
index 0000000000..50965d7134
Binary files /dev/null and b/sound/items/pickup/backpack.ogg differ
diff --git a/sound/items/pickup/basketball.ogg b/sound/items/pickup/basketball.ogg
new file mode 100644
index 0000000000..cae604b1fd
Binary files /dev/null and b/sound/items/pickup/basketball.ogg differ
diff --git a/sound/items/pickup/book.ogg b/sound/items/pickup/book.ogg
new file mode 100644
index 0000000000..120a4e4721
Binary files /dev/null and b/sound/items/pickup/book.ogg differ
diff --git a/sound/items/pickup/boots.ogg b/sound/items/pickup/boots.ogg
new file mode 100644
index 0000000000..077801f6f5
Binary files /dev/null and b/sound/items/pickup/boots.ogg differ
diff --git a/sound/items/pickup/bottle.ogg b/sound/items/pickup/bottle.ogg
new file mode 100644
index 0000000000..77e0b22187
Binary files /dev/null and b/sound/items/pickup/bottle.ogg differ
diff --git a/sound/items/pickup/card.ogg b/sound/items/pickup/card.ogg
new file mode 100644
index 0000000000..ba5b0451c6
Binary files /dev/null and b/sound/items/pickup/card.ogg differ
diff --git a/sound/items/pickup/cardboardbox.ogg b/sound/items/pickup/cardboardbox.ogg
new file mode 100644
index 0000000000..aa4e72129b
Binary files /dev/null and b/sound/items/pickup/cardboardbox.ogg differ
diff --git a/sound/items/pickup/cloth.ogg b/sound/items/pickup/cloth.ogg
new file mode 100644
index 0000000000..f46988887d
Binary files /dev/null and b/sound/items/pickup/cloth.ogg differ
diff --git a/sound/items/pickup/component.ogg b/sound/items/pickup/component.ogg
new file mode 100644
index 0000000000..cfaba1dd19
Binary files /dev/null and b/sound/items/pickup/component.ogg differ
diff --git a/sound/items/pickup/crowbar.ogg b/sound/items/pickup/crowbar.ogg
new file mode 100644
index 0000000000..79b276f845
Binary files /dev/null and b/sound/items/pickup/crowbar.ogg differ
diff --git a/sound/items/pickup/device.ogg b/sound/items/pickup/device.ogg
new file mode 100644
index 0000000000..ca2c4f1ab1
Binary files /dev/null and b/sound/items/pickup/device.ogg differ
diff --git a/sound/items/pickup/disk.ogg b/sound/items/pickup/disk.ogg
new file mode 100644
index 0000000000..8f67406a5f
Binary files /dev/null and b/sound/items/pickup/disk.ogg differ
diff --git a/sound/items/pickup/drinkglass.ogg b/sound/items/pickup/drinkglass.ogg
new file mode 100644
index 0000000000..fcd1c7d312
Binary files /dev/null and b/sound/items/pickup/drinkglass.ogg differ
diff --git a/sound/items/pickup/flesh.ogg b/sound/items/pickup/flesh.ogg
new file mode 100644
index 0000000000..818ca54500
Binary files /dev/null and b/sound/items/pickup/flesh.ogg differ
diff --git a/sound/items/pickup/food.ogg b/sound/items/pickup/food.ogg
new file mode 100644
index 0000000000..1113a16a36
Binary files /dev/null and b/sound/items/pickup/food.ogg differ
diff --git a/sound/items/pickup/gascan.ogg b/sound/items/pickup/gascan.ogg
new file mode 100644
index 0000000000..c2a51c3972
Binary files /dev/null and b/sound/items/pickup/gascan.ogg differ
diff --git a/sound/items/pickup/glass.ogg b/sound/items/pickup/glass.ogg
new file mode 100644
index 0000000000..67e53309e6
Binary files /dev/null and b/sound/items/pickup/glass.ogg differ
diff --git a/sound/items/pickup/gloves.ogg b/sound/items/pickup/gloves.ogg
new file mode 100644
index 0000000000..1a7d263426
Binary files /dev/null and b/sound/items/pickup/gloves.ogg differ
diff --git a/sound/items/pickup/gun.ogg b/sound/items/pickup/gun.ogg
new file mode 100644
index 0000000000..4eeda50ca5
Binary files /dev/null and b/sound/items/pickup/gun.ogg differ
diff --git a/sound/items/pickup/hat.ogg b/sound/items/pickup/hat.ogg
new file mode 100644
index 0000000000..d80b46f7f2
Binary files /dev/null and b/sound/items/pickup/hat.ogg differ
diff --git a/sound/items/pickup/helm.ogg b/sound/items/pickup/helm.ogg
new file mode 100644
index 0000000000..2d33f62a5d
Binary files /dev/null and b/sound/items/pickup/helm.ogg differ
diff --git a/sound/items/pickup/herb.ogg b/sound/items/pickup/herb.ogg
new file mode 100644
index 0000000000..bd250b5a13
Binary files /dev/null and b/sound/items/pickup/herb.ogg differ
diff --git a/sound/items/pickup/knife.ogg b/sound/items/pickup/knife.ogg
new file mode 100644
index 0000000000..6f5ca73c24
Binary files /dev/null and b/sound/items/pickup/knife.ogg differ
diff --git a/sound/items/pickup/leather.ogg b/sound/items/pickup/leather.ogg
new file mode 100644
index 0000000000..5895cd8f9f
Binary files /dev/null and b/sound/items/pickup/leather.ogg differ
diff --git a/sound/items/pickup/matchbox.ogg b/sound/items/pickup/matchbox.ogg
new file mode 100644
index 0000000000..82c23410e1
Binary files /dev/null and b/sound/items/pickup/matchbox.ogg differ
diff --git a/sound/items/pickup/metalweapon.ogg b/sound/items/pickup/metalweapon.ogg
new file mode 100644
index 0000000000..ac6e738711
Binary files /dev/null and b/sound/items/pickup/metalweapon.ogg differ
diff --git a/sound/items/pickup/multitool.ogg b/sound/items/pickup/multitool.ogg
new file mode 100644
index 0000000000..cbd598ce89
Binary files /dev/null and b/sound/items/pickup/multitool.ogg differ
diff --git a/sound/items/pickup/paper.ogg b/sound/items/pickup/paper.ogg
new file mode 100644
index 0000000000..55ae2b3d2d
Binary files /dev/null and b/sound/items/pickup/paper.ogg differ
diff --git a/sound/items/pickup/papercup.ogg b/sound/items/pickup/papercup.ogg
new file mode 100644
index 0000000000..f0c459a353
Binary files /dev/null and b/sound/items/pickup/papercup.ogg differ
diff --git a/sound/items/pickup/pillbottle.ogg b/sound/items/pickup/pillbottle.ogg
new file mode 100644
index 0000000000..b62ec0016e
Binary files /dev/null and b/sound/items/pickup/pillbottle.ogg differ
diff --git a/sound/items/pickup/plushie.ogg b/sound/items/pickup/plushie.ogg
new file mode 100644
index 0000000000..91299b0975
Binary files /dev/null and b/sound/items/pickup/plushie.ogg differ
diff --git a/sound/items/pickup/ring.ogg b/sound/items/pickup/ring.ogg
new file mode 100644
index 0000000000..41c57a3175
Binary files /dev/null and b/sound/items/pickup/ring.ogg differ
diff --git a/sound/items/pickup/rubber.ogg b/sound/items/pickup/rubber.ogg
new file mode 100644
index 0000000000..874934ae45
Binary files /dev/null and b/sound/items/pickup/rubber.ogg differ
diff --git a/sound/items/pickup/screwdriver.ogg b/sound/items/pickup/screwdriver.ogg
new file mode 100644
index 0000000000..987d9af708
Binary files /dev/null and b/sound/items/pickup/screwdriver.ogg differ
diff --git a/sound/items/pickup/shoes.ogg b/sound/items/pickup/shoes.ogg
new file mode 100644
index 0000000000..9200f32501
Binary files /dev/null and b/sound/items/pickup/shoes.ogg differ
diff --git a/sound/items/pickup/shovel.ogg b/sound/items/pickup/shovel.ogg
new file mode 100644
index 0000000000..0d14682411
Binary files /dev/null and b/sound/items/pickup/shovel.ogg differ
diff --git a/sound/items/pickup/soda.ogg b/sound/items/pickup/soda.ogg
new file mode 100644
index 0000000000..f19a06ec75
Binary files /dev/null and b/sound/items/pickup/soda.ogg differ
diff --git a/sound/items/pickup/sword.ogg b/sound/items/pickup/sword.ogg
new file mode 100644
index 0000000000..96d8d00cf5
Binary files /dev/null and b/sound/items/pickup/sword.ogg differ
diff --git a/sound/items/pickup/toolbelt.ogg b/sound/items/pickup/toolbelt.ogg
new file mode 100644
index 0000000000..58e5d25979
Binary files /dev/null and b/sound/items/pickup/toolbelt.ogg differ
diff --git a/sound/items/pickup/toolbox.ogg b/sound/items/pickup/toolbox.ogg
new file mode 100644
index 0000000000..01a4ab4b3f
Binary files /dev/null and b/sound/items/pickup/toolbox.ogg differ
diff --git a/sound/items/pickup/weldingtool.ogg b/sound/items/pickup/weldingtool.ogg
new file mode 100644
index 0000000000..da78b06b84
Binary files /dev/null and b/sound/items/pickup/weldingtool.ogg differ
diff --git a/sound/items/pickup/wirecutter.ogg b/sound/items/pickup/wirecutter.ogg
new file mode 100644
index 0000000000..078faaf432
Binary files /dev/null and b/sound/items/pickup/wirecutter.ogg differ
diff --git a/sound/items/pickup/wooden.ogg b/sound/items/pickup/wooden.ogg
new file mode 100644
index 0000000000..1a778074e9
Binary files /dev/null and b/sound/items/pickup/wooden.ogg differ
diff --git a/sound/items/pickup/woodweapon.ogg b/sound/items/pickup/woodweapon.ogg
new file mode 100644
index 0000000000..34e9c238ea
Binary files /dev/null and b/sound/items/pickup/woodweapon.ogg differ
diff --git a/sound/items/pickup/wrapper.ogg b/sound/items/pickup/wrapper.ogg
new file mode 100644
index 0000000000..9270ade8db
Binary files /dev/null and b/sound/items/pickup/wrapper.ogg differ
diff --git a/sound/items/pickup/wrench.ogg b/sound/items/pickup/wrench.ogg
new file mode 100644
index 0000000000..860e0d7087
Binary files /dev/null and b/sound/items/pickup/wrench.ogg differ
diff --git a/sound/items/toolbelt_equip.ogg b/sound/items/toolbelt_equip.ogg
new file mode 100644
index 0000000000..0ef67a3fd6
Binary files /dev/null and b/sound/items/toolbelt_equip.ogg differ
diff --git a/sound/machines/destructive_analyzer.ogg b/sound/machines/destructive_analyzer.ogg
new file mode 100644
index 0000000000..d5e9123668
Binary files /dev/null and b/sound/machines/destructive_analyzer.ogg differ
diff --git a/sound/machines/door/WideClose.ogg b/sound/machines/door/WideClose.ogg
new file mode 100644
index 0000000000..69c85a84b1
Binary files /dev/null and b/sound/machines/door/WideClose.ogg differ
diff --git a/sound/machines/door/WideOpen.ogg b/sound/machines/door/WideOpen.ogg
new file mode 100644
index 0000000000..d7ae7f171f
Binary files /dev/null and b/sound/machines/door/WideOpen.ogg differ
diff --git a/sound/machines/door/cgo1c.ogg b/sound/machines/door/cgo1c.ogg
new file mode 100644
index 0000000000..86dddb1d81
Binary files /dev/null and b/sound/machines/door/cgo1c.ogg differ
diff --git a/sound/machines/door/cgo1o.ogg b/sound/machines/door/cgo1o.ogg
new file mode 100644
index 0000000000..9a16e67538
Binary files /dev/null and b/sound/machines/door/cgo1o.ogg differ
diff --git a/sound/machines/door/cmd1c.ogg b/sound/machines/door/cmd1c.ogg
new file mode 100644
index 0000000000..22fa8e29cf
Binary files /dev/null and b/sound/machines/door/cmd1c.ogg differ
diff --git a/sound/machines/door/cmd1o.ogg b/sound/machines/door/cmd1o.ogg
new file mode 100644
index 0000000000..6247044287
Binary files /dev/null and b/sound/machines/door/cmd1o.ogg differ
diff --git a/sound/machines/door/cmd3c.ogg b/sound/machines/door/cmd3c.ogg
new file mode 100644
index 0000000000..dacb1867d1
Binary files /dev/null and b/sound/machines/door/cmd3c.ogg differ
diff --git a/sound/machines/door/cmd3o.ogg b/sound/machines/door/cmd3o.ogg
new file mode 100644
index 0000000000..a508ddcaf5
Binary files /dev/null and b/sound/machines/door/cmd3o.ogg differ
diff --git a/sound/machines/door/covert1c.ogg b/sound/machines/door/covert1c.ogg
new file mode 100644
index 0000000000..e38b4b4daf
Binary files /dev/null and b/sound/machines/door/covert1c.ogg differ
diff --git a/sound/machines/door/covert1o.ogg b/sound/machines/door/covert1o.ogg
new file mode 100644
index 0000000000..7ce424a4a1
Binary files /dev/null and b/sound/machines/door/covert1o.ogg differ
diff --git a/sound/machines/door/door2c.ogg b/sound/machines/door/door2c.ogg
new file mode 100644
index 0000000000..f68a23f5ec
Binary files /dev/null and b/sound/machines/door/door2c.ogg differ
diff --git a/sound/machines/door/door2o.ogg b/sound/machines/door/door2o.ogg
new file mode 100644
index 0000000000..e1499e82a0
Binary files /dev/null and b/sound/machines/door/door2o.ogg differ
diff --git a/sound/machines/door/eng1c.ogg b/sound/machines/door/eng1c.ogg
new file mode 100644
index 0000000000..6fc5b74e8e
Binary files /dev/null and b/sound/machines/door/eng1c.ogg differ
diff --git a/sound/machines/door/eng1o.ogg b/sound/machines/door/eng1o.ogg
new file mode 100644
index 0000000000..86c2724d20
Binary files /dev/null and b/sound/machines/door/eng1o.ogg differ
diff --git a/sound/machines/door/hall1c.ogg b/sound/machines/door/hall1c.ogg
new file mode 100644
index 0000000000..ae497fe764
Binary files /dev/null and b/sound/machines/door/hall1c.ogg differ
diff --git a/sound/machines/door/hall1o.ogg b/sound/machines/door/hall1o.ogg
new file mode 100644
index 0000000000..2386a0c39f
Binary files /dev/null and b/sound/machines/door/hall1o.ogg differ
diff --git a/sound/machines/door/hall3c.ogg b/sound/machines/door/hall3c.ogg
new file mode 100644
index 0000000000..2dba50dee0
Binary files /dev/null and b/sound/machines/door/hall3c.ogg differ
diff --git a/sound/machines/door/hall3o.ogg b/sound/machines/door/hall3o.ogg
new file mode 100644
index 0000000000..47a7102ec0
Binary files /dev/null and b/sound/machines/door/hall3o.ogg differ
diff --git a/sound/machines/door/hatchclose.ogg b/sound/machines/door/hatchclose.ogg
new file mode 100644
index 0000000000..e828230d03
Binary files /dev/null and b/sound/machines/door/hatchclose.ogg differ
diff --git a/sound/machines/door/hatchforced.ogg b/sound/machines/door/hatchforced.ogg
new file mode 100644
index 0000000000..4caefc0b9e
Binary files /dev/null and b/sound/machines/door/hatchforced.ogg differ
diff --git a/sound/machines/door/hatchopen.ogg b/sound/machines/door/hatchopen.ogg
new file mode 100644
index 0000000000..4fda10ec5d
Binary files /dev/null and b/sound/machines/door/hatchopen.ogg differ
diff --git a/sound/machines/door/med1c.ogg b/sound/machines/door/med1c.ogg
new file mode 100644
index 0000000000..9fd7b95a85
Binary files /dev/null and b/sound/machines/door/med1c.ogg differ
diff --git a/sound/machines/door/med1o.ogg b/sound/machines/door/med1o.ogg
new file mode 100644
index 0000000000..e3edec35f9
Binary files /dev/null and b/sound/machines/door/med1o.ogg differ
diff --git a/sound/machines/door/sci1c.ogg b/sound/machines/door/sci1c.ogg
new file mode 100644
index 0000000000..ef5e767b36
Binary files /dev/null and b/sound/machines/door/sci1c.ogg differ
diff --git a/sound/machines/door/sci1o.ogg b/sound/machines/door/sci1o.ogg
new file mode 100644
index 0000000000..b9c5877abd
Binary files /dev/null and b/sound/machines/door/sci1o.ogg differ
diff --git a/sound/machines/door/scp1c.ogg b/sound/machines/door/scp1c.ogg
new file mode 100644
index 0000000000..9e0e224b17
Binary files /dev/null and b/sound/machines/door/scp1c.ogg differ
diff --git a/sound/machines/door/scp1o.ogg b/sound/machines/door/scp1o.ogg
new file mode 100644
index 0000000000..996e3f12b9
Binary files /dev/null and b/sound/machines/door/scp1o.ogg differ
diff --git a/sound/machines/door/sec1c.ogg b/sound/machines/door/sec1c.ogg
new file mode 100644
index 0000000000..c79ab5cd39
Binary files /dev/null and b/sound/machines/door/sec1c.ogg differ
diff --git a/sound/machines/door/sec1o.ogg b/sound/machines/door/sec1o.ogg
new file mode 100644
index 0000000000..fb4d569700
Binary files /dev/null and b/sound/machines/door/sec1o.ogg differ
diff --git a/sound/machines/door/secure1c.ogg b/sound/machines/door/secure1c.ogg
new file mode 100644
index 0000000000..35bd11ddfe
Binary files /dev/null and b/sound/machines/door/secure1c.ogg differ
diff --git a/sound/machines/door/secure1o.ogg b/sound/machines/door/secure1o.ogg
new file mode 100644
index 0000000000..b18643d606
Binary files /dev/null and b/sound/machines/door/secure1o.ogg differ
diff --git a/sound/machines/door/shuttle1c.ogg b/sound/machines/door/shuttle1c.ogg
new file mode 100644
index 0000000000..835e898d8f
Binary files /dev/null and b/sound/machines/door/shuttle1c.ogg differ
diff --git a/sound/machines/door/shuttle1o.ogg b/sound/machines/door/shuttle1o.ogg
new file mode 100644
index 0000000000..801582b45c
Binary files /dev/null and b/sound/machines/door/shuttle1o.ogg differ
diff --git a/sound/machines/door/space1c.ogg b/sound/machines/door/space1c.ogg
new file mode 100644
index 0000000000..d4e4f6da6b
Binary files /dev/null and b/sound/machines/door/space1c.ogg differ
diff --git a/sound/machines/door/space1o.ogg b/sound/machines/door/space1o.ogg
new file mode 100644
index 0000000000..f1a28a266e
Binary files /dev/null and b/sound/machines/door/space1o.ogg differ
diff --git a/sound/machines/door/vault1c.ogg b/sound/machines/door/vault1c.ogg
new file mode 100644
index 0000000000..b3b83e1f92
Binary files /dev/null and b/sound/machines/door/vault1c.ogg differ
diff --git a/sound/machines/door/vault1o.ogg b/sound/machines/door/vault1o.ogg
new file mode 100644
index 0000000000..de746d34d1
Binary files /dev/null and b/sound/machines/door/vault1o.ogg differ
diff --git a/sound/machines/hatch_close.ogg b/sound/machines/hatch_close.ogg
new file mode 100644
index 0000000000..7676a73f2b
Binary files /dev/null and b/sound/machines/hatch_close.ogg differ
diff --git a/sound/machines/kitchen/candymaker/candymaker-mid1.ogg b/sound/machines/kitchen/candymaker/candymaker-mid1.ogg
new file mode 100644
index 0000000000..bca0c3a62b
Binary files /dev/null and b/sound/machines/kitchen/candymaker/candymaker-mid1.ogg differ
diff --git a/sound/machines/kitchen/candymaker/candymaker-start.ogg b/sound/machines/kitchen/candymaker/candymaker-start.ogg
new file mode 100644
index 0000000000..54f38165f8
Binary files /dev/null and b/sound/machines/kitchen/candymaker/candymaker-start.ogg differ
diff --git a/sound/machines/kitchen/candymaker/candymaker-stop.ogg b/sound/machines/kitchen/candymaker/candymaker-stop.ogg
new file mode 100644
index 0000000000..dbe11822f1
Binary files /dev/null and b/sound/machines/kitchen/candymaker/candymaker-stop.ogg differ
diff --git a/sound/machines/kitchen/cerealmaker/cerealmaker-mid1.ogg b/sound/machines/kitchen/cerealmaker/cerealmaker-mid1.ogg
new file mode 100644
index 0000000000..eaccf8e5c0
Binary files /dev/null and b/sound/machines/kitchen/cerealmaker/cerealmaker-mid1.ogg differ
diff --git a/sound/machines/kitchen/cerealmaker/cerealmaker-start.ogg b/sound/machines/kitchen/cerealmaker/cerealmaker-start.ogg
new file mode 100644
index 0000000000..3080d9e653
Binary files /dev/null and b/sound/machines/kitchen/cerealmaker/cerealmaker-start.ogg differ
diff --git a/sound/machines/kitchen/cerealmaker/cerealmaker-stop.ogg b/sound/machines/kitchen/cerealmaker/cerealmaker-stop.ogg
new file mode 100644
index 0000000000..2a81b0bbbe
Binary files /dev/null and b/sound/machines/kitchen/cerealmaker/cerealmaker-stop.ogg differ
diff --git a/sound/machines/fryer/deep_fryer_1.ogg b/sound/machines/kitchen/fryer/deep_fryer_1.ogg
similarity index 100%
rename from sound/machines/fryer/deep_fryer_1.ogg
rename to sound/machines/kitchen/fryer/deep_fryer_1.ogg
diff --git a/sound/machines/fryer/deep_fryer_2.ogg b/sound/machines/kitchen/fryer/deep_fryer_2.ogg
similarity index 100%
rename from sound/machines/fryer/deep_fryer_2.ogg
rename to sound/machines/kitchen/fryer/deep_fryer_2.ogg
diff --git a/sound/machines/fryer/deep_fryer_emerge.ogg b/sound/machines/kitchen/fryer/deep_fryer_emerge.ogg
similarity index 100%
rename from sound/machines/fryer/deep_fryer_emerge.ogg
rename to sound/machines/kitchen/fryer/deep_fryer_emerge.ogg
diff --git a/sound/machines/fryer/deep_fryer_immerse.ogg b/sound/machines/kitchen/fryer/deep_fryer_immerse.ogg
similarity index 100%
rename from sound/machines/fryer/deep_fryer_immerse.ogg
rename to sound/machines/kitchen/fryer/deep_fryer_immerse.ogg
diff --git a/sound/machines/kitchen/grill/grill-mid1.ogg b/sound/machines/kitchen/grill/grill-mid1.ogg
new file mode 100644
index 0000000000..0733899a76
Binary files /dev/null and b/sound/machines/kitchen/grill/grill-mid1.ogg differ
diff --git a/sound/machines/kitchen/grill/grill-start.ogg b/sound/machines/kitchen/grill/grill-start.ogg
new file mode 100644
index 0000000000..2c99396cb7
Binary files /dev/null and b/sound/machines/kitchen/grill/grill-start.ogg differ
diff --git a/sound/machines/kitchen/grill/grill-stop.ogg b/sound/machines/kitchen/grill/grill-stop.ogg
new file mode 100644
index 0000000000..2ec3f92a1c
Binary files /dev/null and b/sound/machines/kitchen/grill/grill-stop.ogg differ
diff --git a/sound/machines/microwave/microwave-end.ogg b/sound/machines/kitchen/microwave/microwave-end.ogg
similarity index 100%
rename from sound/machines/microwave/microwave-end.ogg
rename to sound/machines/kitchen/microwave/microwave-end.ogg
diff --git a/sound/machines/microwave/microwave-mid1.ogg b/sound/machines/kitchen/microwave/microwave-mid1.ogg
similarity index 100%
rename from sound/machines/microwave/microwave-mid1.ogg
rename to sound/machines/kitchen/microwave/microwave-mid1.ogg
diff --git a/sound/machines/microwave/microwave-mid2.ogg b/sound/machines/kitchen/microwave/microwave-mid2.ogg
similarity index 100%
rename from sound/machines/microwave/microwave-mid2.ogg
rename to sound/machines/kitchen/microwave/microwave-mid2.ogg
diff --git a/sound/machines/microwave/microwave-start.ogg b/sound/machines/kitchen/microwave/microwave-start.ogg
similarity index 100%
rename from sound/machines/microwave/microwave-start.ogg
rename to sound/machines/kitchen/microwave/microwave-start.ogg
diff --git a/sound/machines/kitchen/mixer/mixer-mid1.ogg b/sound/machines/kitchen/mixer/mixer-mid1.ogg
new file mode 100644
index 0000000000..456f55bb2d
Binary files /dev/null and b/sound/machines/kitchen/mixer/mixer-mid1.ogg differ
diff --git a/sound/machines/kitchen/mixer/mixer-start.ogg b/sound/machines/kitchen/mixer/mixer-start.ogg
new file mode 100644
index 0000000000..f6ef3ea7e4
Binary files /dev/null and b/sound/machines/kitchen/mixer/mixer-start.ogg differ
diff --git a/sound/machines/kitchen/mixer/mixer-stop.ogg b/sound/machines/kitchen/mixer/mixer-stop.ogg
new file mode 100644
index 0000000000..2d7bf6ad16
Binary files /dev/null and b/sound/machines/kitchen/mixer/mixer-stop.ogg differ
diff --git a/sound/machines/kitchen/oven/oven-mid1.ogg b/sound/machines/kitchen/oven/oven-mid1.ogg
new file mode 100644
index 0000000000..03d52641b9
Binary files /dev/null and b/sound/machines/kitchen/oven/oven-mid1.ogg differ
diff --git a/sound/machines/kitchen/oven/oven-start.ogg b/sound/machines/kitchen/oven/oven-start.ogg
new file mode 100644
index 0000000000..2792d76d3c
Binary files /dev/null and b/sound/machines/kitchen/oven/oven-start.ogg differ
diff --git a/sound/machines/kitchen/oven/oven-stop.ogg b/sound/machines/kitchen/oven/oven-stop.ogg
new file mode 100644
index 0000000000..19151413d4
Binary files /dev/null and b/sound/machines/kitchen/oven/oven-stop.ogg differ
diff --git a/sound/machines/medbayscanner1.ogg b/sound/machines/medbayscanner1.ogg
new file mode 100644
index 0000000000..a3402e3304
Binary files /dev/null and b/sound/machines/medbayscanner1.ogg differ
diff --git a/sound/effects/printer.ogg b/sound/machines/printer.ogg
similarity index 100%
rename from sound/effects/printer.ogg
rename to sound/machines/printer.ogg
diff --git a/sound/machines/scanbuzz.ogg b/sound/machines/scanbuzz.ogg
new file mode 100644
index 0000000000..d3422bc8f4
Binary files /dev/null and b/sound/machines/scanbuzz.ogg differ
diff --git a/sound/machines/sm/accent/delam/1.ogg b/sound/machines/sm/accent/delam/1.ogg
new file mode 100644
index 0000000000..75c79f89ab
Binary files /dev/null and b/sound/machines/sm/accent/delam/1.ogg differ
diff --git a/sound/machines/sm/accent/delam/10.ogg b/sound/machines/sm/accent/delam/10.ogg
new file mode 100644
index 0000000000..c87b63b526
Binary files /dev/null and b/sound/machines/sm/accent/delam/10.ogg differ
diff --git a/sound/machines/sm/accent/delam/11.ogg b/sound/machines/sm/accent/delam/11.ogg
new file mode 100644
index 0000000000..c7f678245b
Binary files /dev/null and b/sound/machines/sm/accent/delam/11.ogg differ
diff --git a/sound/machines/sm/accent/delam/12.ogg b/sound/machines/sm/accent/delam/12.ogg
new file mode 100644
index 0000000000..a395942183
Binary files /dev/null and b/sound/machines/sm/accent/delam/12.ogg differ
diff --git a/sound/machines/sm/accent/delam/13.ogg b/sound/machines/sm/accent/delam/13.ogg
new file mode 100644
index 0000000000..934f17947d
Binary files /dev/null and b/sound/machines/sm/accent/delam/13.ogg differ
diff --git a/sound/machines/sm/accent/delam/14.ogg b/sound/machines/sm/accent/delam/14.ogg
new file mode 100644
index 0000000000..4175e5b947
Binary files /dev/null and b/sound/machines/sm/accent/delam/14.ogg differ
diff --git a/sound/machines/sm/accent/delam/15.ogg b/sound/machines/sm/accent/delam/15.ogg
new file mode 100644
index 0000000000..dcf73deb84
Binary files /dev/null and b/sound/machines/sm/accent/delam/15.ogg differ
diff --git a/sound/machines/sm/accent/delam/16.ogg b/sound/machines/sm/accent/delam/16.ogg
new file mode 100644
index 0000000000..20bc19399b
Binary files /dev/null and b/sound/machines/sm/accent/delam/16.ogg differ
diff --git a/sound/machines/sm/accent/delam/17.ogg b/sound/machines/sm/accent/delam/17.ogg
new file mode 100644
index 0000000000..b517fb3d3d
Binary files /dev/null and b/sound/machines/sm/accent/delam/17.ogg differ
diff --git a/sound/machines/sm/accent/delam/18.ogg b/sound/machines/sm/accent/delam/18.ogg
new file mode 100644
index 0000000000..4ef138d27a
Binary files /dev/null and b/sound/machines/sm/accent/delam/18.ogg differ
diff --git a/sound/machines/sm/accent/delam/19.ogg b/sound/machines/sm/accent/delam/19.ogg
new file mode 100644
index 0000000000..f638a6971b
Binary files /dev/null and b/sound/machines/sm/accent/delam/19.ogg differ
diff --git a/sound/machines/sm/accent/delam/2.ogg b/sound/machines/sm/accent/delam/2.ogg
new file mode 100644
index 0000000000..5b480daa2e
Binary files /dev/null and b/sound/machines/sm/accent/delam/2.ogg differ
diff --git a/sound/machines/sm/accent/delam/20.ogg b/sound/machines/sm/accent/delam/20.ogg
new file mode 100644
index 0000000000..6072bc6227
Binary files /dev/null and b/sound/machines/sm/accent/delam/20.ogg differ
diff --git a/sound/machines/sm/accent/delam/21.ogg b/sound/machines/sm/accent/delam/21.ogg
new file mode 100644
index 0000000000..1223dd946d
Binary files /dev/null and b/sound/machines/sm/accent/delam/21.ogg differ
diff --git a/sound/machines/sm/accent/delam/22.ogg b/sound/machines/sm/accent/delam/22.ogg
new file mode 100644
index 0000000000..9ccfb9b55a
Binary files /dev/null and b/sound/machines/sm/accent/delam/22.ogg differ
diff --git a/sound/machines/sm/accent/delam/23.ogg b/sound/machines/sm/accent/delam/23.ogg
new file mode 100644
index 0000000000..6399a8376a
Binary files /dev/null and b/sound/machines/sm/accent/delam/23.ogg differ
diff --git a/sound/machines/sm/accent/delam/24.ogg b/sound/machines/sm/accent/delam/24.ogg
new file mode 100644
index 0000000000..b51d359807
Binary files /dev/null and b/sound/machines/sm/accent/delam/24.ogg differ
diff --git a/sound/machines/sm/accent/delam/25.ogg b/sound/machines/sm/accent/delam/25.ogg
new file mode 100644
index 0000000000..823f22f136
Binary files /dev/null and b/sound/machines/sm/accent/delam/25.ogg differ
diff --git a/sound/machines/sm/accent/delam/26.ogg b/sound/machines/sm/accent/delam/26.ogg
new file mode 100644
index 0000000000..24b2a2f040
Binary files /dev/null and b/sound/machines/sm/accent/delam/26.ogg differ
diff --git a/sound/machines/sm/accent/delam/27.ogg b/sound/machines/sm/accent/delam/27.ogg
new file mode 100644
index 0000000000..4b4b145b7b
Binary files /dev/null and b/sound/machines/sm/accent/delam/27.ogg differ
diff --git a/sound/machines/sm/accent/delam/28.ogg b/sound/machines/sm/accent/delam/28.ogg
new file mode 100644
index 0000000000..7bc71bf0e6
Binary files /dev/null and b/sound/machines/sm/accent/delam/28.ogg differ
diff --git a/sound/machines/sm/accent/delam/29.ogg b/sound/machines/sm/accent/delam/29.ogg
new file mode 100644
index 0000000000..7fec2f271c
Binary files /dev/null and b/sound/machines/sm/accent/delam/29.ogg differ
diff --git a/sound/machines/sm/accent/delam/3.ogg b/sound/machines/sm/accent/delam/3.ogg
new file mode 100644
index 0000000000..5b57cc2707
Binary files /dev/null and b/sound/machines/sm/accent/delam/3.ogg differ
diff --git a/sound/machines/sm/accent/delam/30.ogg b/sound/machines/sm/accent/delam/30.ogg
new file mode 100644
index 0000000000..ed1ec7d89f
Binary files /dev/null and b/sound/machines/sm/accent/delam/30.ogg differ
diff --git a/sound/machines/sm/accent/delam/31.ogg b/sound/machines/sm/accent/delam/31.ogg
new file mode 100644
index 0000000000..0baa82e246
Binary files /dev/null and b/sound/machines/sm/accent/delam/31.ogg differ
diff --git a/sound/machines/sm/accent/delam/32.ogg b/sound/machines/sm/accent/delam/32.ogg
new file mode 100644
index 0000000000..e925b32d67
Binary files /dev/null and b/sound/machines/sm/accent/delam/32.ogg differ
diff --git a/sound/machines/sm/accent/delam/33.ogg b/sound/machines/sm/accent/delam/33.ogg
new file mode 100644
index 0000000000..9ddec0e84a
Binary files /dev/null and b/sound/machines/sm/accent/delam/33.ogg differ
diff --git a/sound/machines/sm/accent/delam/4.ogg b/sound/machines/sm/accent/delam/4.ogg
new file mode 100644
index 0000000000..aa4f4da071
Binary files /dev/null and b/sound/machines/sm/accent/delam/4.ogg differ
diff --git a/sound/machines/sm/accent/delam/5.ogg b/sound/machines/sm/accent/delam/5.ogg
new file mode 100644
index 0000000000..be438f6f15
Binary files /dev/null and b/sound/machines/sm/accent/delam/5.ogg differ
diff --git a/sound/machines/sm/accent/delam/6.ogg b/sound/machines/sm/accent/delam/6.ogg
new file mode 100644
index 0000000000..b89d52a564
Binary files /dev/null and b/sound/machines/sm/accent/delam/6.ogg differ
diff --git a/sound/machines/sm/accent/delam/7.ogg b/sound/machines/sm/accent/delam/7.ogg
new file mode 100644
index 0000000000..3a9cfc62ca
Binary files /dev/null and b/sound/machines/sm/accent/delam/7.ogg differ
diff --git a/sound/machines/sm/accent/delam/8.ogg b/sound/machines/sm/accent/delam/8.ogg
new file mode 100644
index 0000000000..7bc0a727fa
Binary files /dev/null and b/sound/machines/sm/accent/delam/8.ogg differ
diff --git a/sound/machines/sm/accent/delam/9.ogg b/sound/machines/sm/accent/delam/9.ogg
new file mode 100644
index 0000000000..5c1bd37405
Binary files /dev/null and b/sound/machines/sm/accent/delam/9.ogg differ
diff --git a/sound/machines/sm/accent/normal/1.ogg b/sound/machines/sm/accent/normal/1.ogg
new file mode 100644
index 0000000000..e92beed7fe
Binary files /dev/null and b/sound/machines/sm/accent/normal/1.ogg differ
diff --git a/sound/machines/sm/accent/normal/10.ogg b/sound/machines/sm/accent/normal/10.ogg
new file mode 100644
index 0000000000..9efb616f0b
Binary files /dev/null and b/sound/machines/sm/accent/normal/10.ogg differ
diff --git a/sound/machines/sm/accent/normal/11.ogg b/sound/machines/sm/accent/normal/11.ogg
new file mode 100644
index 0000000000..2af0981ef1
Binary files /dev/null and b/sound/machines/sm/accent/normal/11.ogg differ
diff --git a/sound/machines/sm/accent/normal/12.ogg b/sound/machines/sm/accent/normal/12.ogg
new file mode 100644
index 0000000000..2fab78b02d
Binary files /dev/null and b/sound/machines/sm/accent/normal/12.ogg differ
diff --git a/sound/machines/sm/accent/normal/13.ogg b/sound/machines/sm/accent/normal/13.ogg
new file mode 100644
index 0000000000..784e84e4a8
Binary files /dev/null and b/sound/machines/sm/accent/normal/13.ogg differ
diff --git a/sound/machines/sm/accent/normal/14.ogg b/sound/machines/sm/accent/normal/14.ogg
new file mode 100644
index 0000000000..af170394dd
Binary files /dev/null and b/sound/machines/sm/accent/normal/14.ogg differ
diff --git a/sound/machines/sm/accent/normal/15.ogg b/sound/machines/sm/accent/normal/15.ogg
new file mode 100644
index 0000000000..05c88c6b29
Binary files /dev/null and b/sound/machines/sm/accent/normal/15.ogg differ
diff --git a/sound/machines/sm/accent/normal/16.ogg b/sound/machines/sm/accent/normal/16.ogg
new file mode 100644
index 0000000000..46b0e33980
Binary files /dev/null and b/sound/machines/sm/accent/normal/16.ogg differ
diff --git a/sound/machines/sm/accent/normal/17.ogg b/sound/machines/sm/accent/normal/17.ogg
new file mode 100644
index 0000000000..e432b2ee02
Binary files /dev/null and b/sound/machines/sm/accent/normal/17.ogg differ
diff --git a/sound/machines/sm/accent/normal/18.ogg b/sound/machines/sm/accent/normal/18.ogg
new file mode 100644
index 0000000000..1e0e91abc8
Binary files /dev/null and b/sound/machines/sm/accent/normal/18.ogg differ
diff --git a/sound/machines/sm/accent/normal/19.ogg b/sound/machines/sm/accent/normal/19.ogg
new file mode 100644
index 0000000000..31de063e02
Binary files /dev/null and b/sound/machines/sm/accent/normal/19.ogg differ
diff --git a/sound/machines/sm/accent/normal/2.ogg b/sound/machines/sm/accent/normal/2.ogg
new file mode 100644
index 0000000000..05e3c9ff17
Binary files /dev/null and b/sound/machines/sm/accent/normal/2.ogg differ
diff --git a/sound/machines/sm/accent/normal/20.ogg b/sound/machines/sm/accent/normal/20.ogg
new file mode 100644
index 0000000000..36810bd8f1
Binary files /dev/null and b/sound/machines/sm/accent/normal/20.ogg differ
diff --git a/sound/machines/sm/accent/normal/21.ogg b/sound/machines/sm/accent/normal/21.ogg
new file mode 100644
index 0000000000..306e8856e5
Binary files /dev/null and b/sound/machines/sm/accent/normal/21.ogg differ
diff --git a/sound/machines/sm/accent/normal/22.ogg b/sound/machines/sm/accent/normal/22.ogg
new file mode 100644
index 0000000000..38286aa98b
Binary files /dev/null and b/sound/machines/sm/accent/normal/22.ogg differ
diff --git a/sound/machines/sm/accent/normal/23.ogg b/sound/machines/sm/accent/normal/23.ogg
new file mode 100644
index 0000000000..89f85fed91
Binary files /dev/null and b/sound/machines/sm/accent/normal/23.ogg differ
diff --git a/sound/machines/sm/accent/normal/24.ogg b/sound/machines/sm/accent/normal/24.ogg
new file mode 100644
index 0000000000..7c12a3e768
Binary files /dev/null and b/sound/machines/sm/accent/normal/24.ogg differ
diff --git a/sound/machines/sm/accent/normal/25.ogg b/sound/machines/sm/accent/normal/25.ogg
new file mode 100644
index 0000000000..f89175ceb1
Binary files /dev/null and b/sound/machines/sm/accent/normal/25.ogg differ
diff --git a/sound/machines/sm/accent/normal/26.ogg b/sound/machines/sm/accent/normal/26.ogg
new file mode 100644
index 0000000000..9efd1d8ef3
Binary files /dev/null and b/sound/machines/sm/accent/normal/26.ogg differ
diff --git a/sound/machines/sm/accent/normal/27.ogg b/sound/machines/sm/accent/normal/27.ogg
new file mode 100644
index 0000000000..1fb1edbb5a
Binary files /dev/null and b/sound/machines/sm/accent/normal/27.ogg differ
diff --git a/sound/machines/sm/accent/normal/28.ogg b/sound/machines/sm/accent/normal/28.ogg
new file mode 100644
index 0000000000..890c5ea429
Binary files /dev/null and b/sound/machines/sm/accent/normal/28.ogg differ
diff --git a/sound/machines/sm/accent/normal/29.ogg b/sound/machines/sm/accent/normal/29.ogg
new file mode 100644
index 0000000000..cd2aa40714
Binary files /dev/null and b/sound/machines/sm/accent/normal/29.ogg differ
diff --git a/sound/machines/sm/accent/normal/3.ogg b/sound/machines/sm/accent/normal/3.ogg
new file mode 100644
index 0000000000..38de5571a4
Binary files /dev/null and b/sound/machines/sm/accent/normal/3.ogg differ
diff --git a/sound/machines/sm/accent/normal/30.ogg b/sound/machines/sm/accent/normal/30.ogg
new file mode 100644
index 0000000000..87d1782768
Binary files /dev/null and b/sound/machines/sm/accent/normal/30.ogg differ
diff --git a/sound/machines/sm/accent/normal/31.ogg b/sound/machines/sm/accent/normal/31.ogg
new file mode 100644
index 0000000000..9ce3eeb72e
Binary files /dev/null and b/sound/machines/sm/accent/normal/31.ogg differ
diff --git a/sound/machines/sm/accent/normal/32.ogg b/sound/machines/sm/accent/normal/32.ogg
new file mode 100644
index 0000000000..26ca056142
Binary files /dev/null and b/sound/machines/sm/accent/normal/32.ogg differ
diff --git a/sound/machines/sm/accent/normal/33.ogg b/sound/machines/sm/accent/normal/33.ogg
new file mode 100644
index 0000000000..24964c1ce9
Binary files /dev/null and b/sound/machines/sm/accent/normal/33.ogg differ
diff --git a/sound/machines/sm/accent/normal/4.ogg b/sound/machines/sm/accent/normal/4.ogg
new file mode 100644
index 0000000000..2e71e976e8
Binary files /dev/null and b/sound/machines/sm/accent/normal/4.ogg differ
diff --git a/sound/machines/sm/accent/normal/5.ogg b/sound/machines/sm/accent/normal/5.ogg
new file mode 100644
index 0000000000..04852e10f2
Binary files /dev/null and b/sound/machines/sm/accent/normal/5.ogg differ
diff --git a/sound/machines/sm/accent/normal/6.ogg b/sound/machines/sm/accent/normal/6.ogg
new file mode 100644
index 0000000000..bf06c06bbe
Binary files /dev/null and b/sound/machines/sm/accent/normal/6.ogg differ
diff --git a/sound/machines/sm/accent/normal/7.ogg b/sound/machines/sm/accent/normal/7.ogg
new file mode 100644
index 0000000000..d29821701f
Binary files /dev/null and b/sound/machines/sm/accent/normal/7.ogg differ
diff --git a/sound/machines/sm/accent/normal/8.ogg b/sound/machines/sm/accent/normal/8.ogg
new file mode 100644
index 0000000000..0b94b9dbe0
Binary files /dev/null and b/sound/machines/sm/accent/normal/8.ogg differ
diff --git a/sound/machines/sm/accent/normal/9.ogg b/sound/machines/sm/accent/normal/9.ogg
new file mode 100644
index 0000000000..545b038be1
Binary files /dev/null and b/sound/machines/sm/accent/normal/9.ogg differ
diff --git a/sound/machines/sm/loops/calm.ogg b/sound/machines/sm/loops/calm.ogg
new file mode 100644
index 0000000000..cee14fcd13
Binary files /dev/null and b/sound/machines/sm/loops/calm.ogg differ
diff --git a/sound/machines/sm/loops/delamming.ogg b/sound/machines/sm/loops/delamming.ogg
new file mode 100644
index 0000000000..7d79f0e3c4
Binary files /dev/null and b/sound/machines/sm/loops/delamming.ogg differ
diff --git a/sound/misc/notice1.ogg b/sound/misc/notice1.ogg
index da6454ce3c..6eed302098 100644
Binary files a/sound/misc/notice1.ogg and b/sound/misc/notice1.ogg differ
diff --git a/sound/misc/server-ready.ogg b/sound/misc/server-ready.ogg
new file mode 100644
index 0000000000..216533b6f3
Binary files /dev/null and b/sound/misc/server-ready.ogg differ
diff --git a/sound/voice/knuckles.ogg b/sound/voice/knuckles.ogg
new file mode 100644
index 0000000000..b61a50fb61
Binary files /dev/null and b/sound/voice/knuckles.ogg differ