diff --git a/code/game/gamemodes/technomancer/spells/audible_deception.dm b/code/game/gamemodes/technomancer/spells/audible_deception.dm
index 8faff2b4e6..fc67ba1ee3 100644
--- a/code/game/gamemodes/technomancer/spells/audible_deception.dm
+++ b/code/game/gamemodes/technomancer/spells/audible_deception.dm
@@ -25,8 +25,8 @@
"Glass Shattering" = "shatter",
"Grille Damage" = 'sound/effects/grillehit.ogg',
"Energy Pulse" = 'sound/effects/EMPulse.ogg',
- "Airlock" = 'sound/machines/airlock.ogg',
- "Airlock Creak" = 'sound/machines/airlock_creaking.ogg',
+ "Airlock" = 'sound/machines/door/old_airlock.ogg',
+ "Airlock Creak" = 'sound/machines/door/airlock_creaking.ogg',
"Shotgun Pumping" = 'sound/weapons/shotgunpump.ogg',
"Flash" = 'sound/weapons/flash.ogg',
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 03822a6c6d..3da717ef49 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -40,11 +40,15 @@
var/datum/wires/airlock/wires = null
var/open_sound_powered = 'sound/machines/door/covert1o.ogg'
- var/open_sound_unpowered = 'sound/machines/airlockforced.ogg'
+ var/open_sound_unpowered = 'sound/machines/door/airlockforced.ogg'
var/close_sound_powered = 'sound/machines/door/covert1c.ogg'
+ var/legacy_open_powered = 'sound/machines/door/old_airlock.ogg'
+ var/legacy_close_powered = 'sound/machines/door/old_airlockclose.ogg'
+ var/department_open_powered = null
+ var/department_close_powered = null
var/denied_sound = 'sound/machines/deniedbeep.ogg'
- var/bolt_up_sound = 'sound/machines/boltsup.ogg'
- var/bolt_down_sound = 'sound/machines/boltsdown.ogg'
+ var/bolt_up_sound = 'sound/machines/door/boltsup.ogg'
+ var/bolt_down_sound = 'sound/machines/door/boltsdown.ogg'
/obj/machinery/door/airlock/attack_generic(var/mob/living/user, var/damage)
if(stat & (BROKEN|NOPOWER))
@@ -81,7 +85,7 @@
if(do_after(user,5 SECONDS,src))
visible_message("\The [user] forces \the [src] open, sparks flying from its electronics!")
src.do_animate("spark")
- playsound(src, 'sound/machines/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS)
+ playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS)
src.locked = 0
src.welded = 0
update_icon()
@@ -90,7 +94,7 @@
else if(src.density)
visible_message("\The [user] begins forcing \the [src] open!")
if(do_after(user, 5 SECONDS,src))
- playsound(src, 'sound/machines/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS)
+ playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1, volume_channel = VOLUME_CHANNEL_DOORS)
visible_message("\The [user] forces \the [src] open!")
open(1)
else
@@ -112,40 +116,50 @@
icon = 'icons/obj/doors/Doorcom.dmi'
req_one_access = list(access_heads)
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'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/cmd3o.ogg'
+ department_close_powered = 'sound/machines/door/cmd3c.ogg'
/obj/machinery/door/airlock/security
name = "Security Airlock"
icon = 'icons/obj/doors/Doorsec.dmi'
req_one_access = list(access_security)
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'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/sec1o.ogg'
+ department_close_powered = 'sound/machines/door/sec1c.ogg'
/obj/machinery/door/airlock/engineering
name = "Engineering Airlock"
icon = 'icons/obj/doors/Dooreng.dmi'
req_one_access = list(access_engine)
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'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/eng1o.ogg'
+ department_close_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/engineeringatmos
name = "Atmospherics Airlock"
icon = 'icons/obj/doors/Doorengatmos.dmi'
req_one_access = list(access_atmospherics)
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'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/eng1o.ogg'
+ department_close_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/medical
name = "Medical Airlock"
icon = 'icons/obj/doors/Doormed.dmi'
req_one_access = list(access_medical)
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'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/med1o.ogg'
+ department_close_powered = 'sound/machines/door/med1c.ogg'
/obj/machinery/door/airlock/maintenance
name = "Maintenance Access"
@@ -158,8 +172,10 @@
/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'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/door2o.ogg'
+ department_close_powered = 'sound/machines/door/door2c.ogg'
/obj/machinery/door/airlock/maintenance/command
icon = 'icons/obj/doors/Doormaint_command.dmi'
@@ -220,6 +236,7 @@
hitsound = 'sound/effects/Glasshit.ogg'
open_sound_powered = 'sound/machines/door/hall1o.ogg'
close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ legacy_open_powered = 'sound/machines/door/windowdoor.ogg'
maxhealth = 300
explosion_resistance = 5
opacity = 0
@@ -294,8 +311,10 @@
assembly_type = /obj/structure/door_assembly/door_assembly_com
glass = 1
req_one_access = list(access_heads)
- open_sound_powered = 'sound/machines/door/cmd1o.ogg'
- close_sound_powered = 'sound/machines/door/cmd1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/cmd1o.ogg'
+ department_close_powered = 'sound/machines/door/cmd1c.ogg'
/obj/machinery/door/airlock/glass_engineering
name = "Engineering Airlock"
@@ -307,8 +326,8 @@
assembly_type = /obj/structure/door_assembly/door_assembly_eng
glass = 1
req_one_access = list(access_engine)
- open_sound_powered = 'sound/machines/door/eng1o.ogg'
- close_sound_powered = 'sound/machines/door/eng1c.ogg'
+ department_open_powered = 'sound/machines/door/eng1o.ogg'
+ department_close_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/glass_engineeringatmos
name = "Atmospherics Airlock"
@@ -320,8 +339,10 @@
assembly_type = /obj/structure/door_assembly/door_assembly_eat
glass = 1
req_one_access = list(access_atmospherics)
- open_sound_powered = 'sound/machines/door/eng1o.ogg'
- close_sound_powered = 'sound/machines/door/eng1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/eng1o.ogg'
+ department_close_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/glass_security
name = "Security Airlock"
@@ -333,8 +354,10 @@
assembly_type = /obj/structure/door_assembly/door_assembly_sec
glass = 1
req_one_access = list(access_security)
- open_sound_powered = 'sound/machines/door/sec1o.ogg'
- close_sound_powered = 'sound/machines/door/sec1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/sec1o.ogg'
+ department_close_powered = 'sound/machines/door/sec1c.ogg'
/obj/machinery/door/airlock/glass_medical
name = "Medical Airlock"
@@ -346,31 +369,39 @@
assembly_type = /obj/structure/door_assembly/door_assembly_med
glass = 1
req_one_access = list(access_medical)
- open_sound_powered = 'sound/machines/door/med1o.ogg'
- close_sound_powered = 'sound/machines/door/med1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/med1o.ogg'
+ department_close_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
req_one_access = list(access_mining)
- open_sound_powered = 'sound/machines/door/cgo1o.ogg'
- close_sound_powered = 'sound/machines/door/cgo1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/cgo1o.ogg'
+ department_close_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
req_one_access = list(access_atmospherics)
- open_sound_powered = 'sound/machines/door/eng1o.ogg'
- close_sound_powered = 'sound/machines/door/eng1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/eng1o.ogg'
+ department_close_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/research
name = "Research 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'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/sci1o.ogg'
+ department_close_powered = 'sound/machines/door/sci1c.ogg'
/obj/machinery/door/airlock/glass_research
name = "Research Airlock"
@@ -382,8 +413,10 @@
assembly_type = /obj/structure/door_assembly/door_assembly_research
glass = 1
req_one_access = list(access_research)
- open_sound_powered = 'sound/machines/door/sci1o.ogg'
- close_sound_powered = 'sound/machines/door/sci1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/sci1o.ogg'
+ department_close_powered = 'sound/machines/door/sci1c.ogg'
/obj/machinery/door/airlock/glass_mining
name = "Mining Airlock"
@@ -395,8 +428,10 @@
assembly_type = /obj/structure/door_assembly/door_assembly_min
glass = 1
req_one_access = list(access_mining)
- open_sound_powered = 'sound/machines/door/cgo1o.ogg'
- close_sound_powered = 'sound/machines/door/cgo1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/cgo1o.ogg'
+ department_close_powered = 'sound/machines/door/cgo1c.ogg'
/obj/machinery/door/airlock/glass_atmos
name = "Atmospherics Airlock"
@@ -408,8 +443,10 @@
assembly_type = /obj/structure/door_assembly/door_assembly_atmo
glass = 1
req_one_access = list(access_atmospherics)
- open_sound_powered = 'sound/machines/door/eng1o.ogg'
- close_sound_powered = 'sound/machines/door/eng1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/eng1o.ogg'
+ department_close_powered = 'sound/machines/door/eng1c.ogg'
/obj/machinery/door/airlock/gold
name = "Gold Airlock"
@@ -490,8 +527,10 @@
icon = 'icons/obj/doors/Doorsci.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_science
req_one_access = list(access_research)
- open_sound_powered = 'sound/machines/door/sci1o.ogg'
- close_sound_powered = 'sound/machines/door/sci1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/sci1o.ogg'
+ department_close_powered = 'sound/machines/door/sci1c.ogg'
/obj/machinery/door/airlock/glass_science
name = "Glass Airlocks"
@@ -500,8 +539,10 @@
assembly_type = /obj/structure/door_assembly/door_assembly_science
glass = 1
req_one_access = list(access_research)
- open_sound_powered = 'sound/machines/door/sci1o.ogg'
- close_sound_powered = 'sound/machines/door/sci1c.ogg'
+ open_sound_powered = 'sound/machines/door/hall1o.ogg'
+ close_sound_powered = 'sound/machines/door/hall1c.ogg'
+ department_open_powered = 'sound/machines/door/sci1o.ogg'
+ department_close_powered = 'sound/machines/door/sci1c.ogg'
/obj/machinery/door/airlock/highsecurity
name = "Secure Airlock"
@@ -1172,10 +1213,41 @@ About the new airlock wires panel:
use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people
//if the door is unpowered then it doesn't make sense to hear the woosh of a pneumatic actuator
- if(arePowerSystemsOn())
- playsound(src, open_sound_powered, 50, 1, volume_channel = VOLUME_CHANNEL_DOORS)
- else
- playsound(src, open_sound_unpowered, 75, 1, volume_channel = VOLUME_CHANNEL_DOORS)
+ for(var/P in player_list)
+ var/mob/M = P
+ if(!M || !M.client)
+ continue
+ var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds)
+ var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds)
+ var/sound
+ var/volume
+ if(old_sounds) // Do we have old sounds enabled? Play these even if we have department door sounds enabled.
+ if(arePowerSystemsOn())
+ sound = legacy_open_powered
+ volume = 50
+ else
+ sound = open_sound_unpowered
+ volume = 75
+ else if(!old_sounds && department_door_sounds && src.department_open_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these.
+ if(arePowerSystemsOn())
+ sound = department_open_powered
+ volume = 50
+ else
+ sound = open_sound_unpowered
+ volume = 75
+ else // Else, play these.
+ if(arePowerSystemsOn())
+ sound = open_sound_powered
+ volume = 50
+ else
+ sound = open_sound_unpowered
+ volume = 75
+
+ var/turf/T = get_turf(M)
+ var/distance = get_dist(T, get_turf(src))
+ if(distance <= world.view * 2)
+ if(T && T.z == get_z(src))
+ M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS)
if(src.closeOther != null && istype(src.closeOther, /obj/machinery/door/airlock/) && !src.closeOther.density)
src.closeOther.close()
@@ -1270,10 +1342,41 @@ About the new airlock wires panel:
use_power(360) //360 W seems much more appropriate for an actuator moving an industrial door capable of crushing people
has_beeped = 0
- if(arePowerSystemsOn())
- playsound(src, close_sound_powered, 50, 1, volume_channel = VOLUME_CHANNEL_DOORS)
- else
- playsound(src, open_sound_unpowered, 75, 1, volume_channel = VOLUME_CHANNEL_DOORS)
+ for(var/P in player_list)
+ var/mob/M = P
+ if(!M || !M.client)
+ continue
+ var/old_sounds = M.client.is_preference_enabled(/datum/client_preference/old_door_sounds)
+ var/department_door_sounds = M.client.is_preference_enabled(/datum/client_preference/department_door_sounds)
+ var/sound
+ var/volume
+ if(old_sounds)
+ if(arePowerSystemsOn())
+ sound = legacy_close_powered
+ volume = 50
+ else
+ sound = open_sound_unpowered
+ volume = 75
+ else if(!old_sounds && department_door_sounds && src.department_close_powered) // Else, we have old sounds disabled, the door has per-department door sounds, and we have chosen to play department door sounds, use these.
+ if(arePowerSystemsOn())
+ sound = department_close_powered
+ volume = 50
+ else
+ sound = open_sound_unpowered
+ volume = 75
+ else
+ if(arePowerSystemsOn())
+ sound = close_sound_powered
+ volume = 50
+ else
+ sound = open_sound_unpowered
+ volume = 75
+
+ var/turf/T = get_turf(M)
+ var/distance = get_dist(T, get_turf(src))
+ if(distance <= world.view * 2)
+ if(T && T.z == get_z(src))
+ M.playsound_local(get_turf(src), sound, volume, 1, null, 0, TRUE, sound(sound), volume_channel = VOLUME_CHANNEL_DOORS)
for(var/turf/turf in locs)
var/obj/structure/window/killthis = (locate(/obj/structure/window) in turf)
if(killthis)
diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm
index 06a4527f7e..dcbcce7fbd 100644
--- a/code/game/machinery/doors/blast_door.dm
+++ b/code/game/machinery/doors/blast_door.dm
@@ -25,8 +25,8 @@
var/icon_state_opening = null
var/icon_state_closed = null
var/icon_state_closing = null
- var/open_sound = 'sound/machines/blastdooropen.ogg'
- var/close_sound = 'sound/machines/blastdoorclose.ogg'
+ var/open_sound = 'sound/machines/door/blastdooropen.ogg'
+ var/close_sound = 'sound/machines/door/blastdoorclose.ogg'
var/damage = BLAST_DOOR_CRUSH_DAMAGE
var/multiplier = 1 // The multiplier for how powerful our YEET is.
@@ -125,7 +125,7 @@
// Description: Opens or closes the door, depending on current state. No checks are done inside this proc.
/obj/machinery/door/blast/proc/force_toggle(var/forced = 0, mob/user as mob)
if (forced)
- playsound(src, 'sound/machines/airlock_creaking.ogg', 100, 1)
+ playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1)
if(src.density)
src.force_open()
@@ -219,13 +219,13 @@
if(src.density)
visible_message("\The [user] begins forcing \the [src] open!")
if(do_after(user, 15 SECONDS,src))
- playsound(src, 'sound/machines/airlock_creaking.ogg', 100, 1)
+ playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1)
visible_message("\The [user] forces \the [src] open!")
force_open(1)
else
visible_message("\The [user] begins forcing \the [src] closed!")
if(do_after(user, 5 SECONDS,src))
- playsound(src, 'sound/machines/airlock_creaking.ogg', 100, 1)
+ playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1)
visible_message("\The [user] forces \the [src] closed!")
force_close(1)
else
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index e31465168f..6cae2617fd 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -200,14 +200,14 @@
if(src.blocked)
visible_message("\The [user] begins digging into \the [src] internals!")
if(do_after(user,5 SECONDS,src))
- playsound(src, 'sound/machines/airlock_creaking.ogg', 100, 1)
+ playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1)
src.blocked = 0
update_icon()
open(1)
else if(src.density)
visible_message("\The [user] begins forcing \the [src] open!")
if(do_after(user, 2 SECONDS,src))
- playsound(src, 'sound/machines/airlock_creaking.ogg', 100, 1)
+ playsound(src, 'sound/machines/door/airlock_creaking.ogg', 100, 1)
visible_message("\The [user] forces \the [src] open!")
open(1)
else
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 98fb1c75d8..cfd0b3706c 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -115,7 +115,7 @@
if (!operating) //in case of emag
operating = 1
flick(text("[src.base_state]opening"), src)
- playsound(src, 'sound/machines/windowdoor.ogg', 100, 1)
+ playsound(src, 'sound/machines/door/windowdoor.ogg', 100, 1)
sleep(10)
explosion_resistance = 0
@@ -132,7 +132,7 @@
return FALSE
operating = TRUE
flick(text("[]closing", src.base_state), src)
- playsound(src, 'sound/machines/windowdoor.ogg', 100, 1)
+ playsound(src, 'sound/machines/door/windowdoor.ogg', 100, 1)
density = TRUE
update_icon()
diff --git a/code/game/mecha/equipment/tools/clamp.dm b/code/game/mecha/equipment/tools/clamp.dm
index 6091764c2b..0580134f33 100644
--- a/code/game/mecha/equipment/tools/clamp.dm
+++ b/code/game/mecha/equipment/tools/clamp.dm
@@ -33,7 +33,7 @@
if(FD.blocked)
FD.visible_message("\The [chassis] begins prying on \the [FD]!")
if(do_after(chassis.occupant,10 SECONDS,FD))
- playsound(FD, 'sound/machines/airlock_creaking.ogg', 100, 1)
+ playsound(FD, 'sound/machines/door/airlock_creaking.ogg', 100, 1)
FD.blocked = 0
FD.update_icon()
FD.open(1)
@@ -41,7 +41,7 @@
else if(FD.density)
FD.visible_message("\The [chassis] begins forcing \the [FD] open!")
if(do_after(chassis.occupant, 5 SECONDS,FD))
- playsound(FD, 'sound/machines/airlock_creaking.ogg', 100, 1)
+ playsound(FD, 'sound/machines/door/airlock_creaking.ogg', 100, 1)
FD.visible_message("\The [chassis] forces \the [FD] open!")
FD.open(1)
else
@@ -57,7 +57,7 @@
if(do_after(chassis.occupant, 15 SECONDS,AD) && chassis.Adjacent(AD))
AD.welded = FALSE
AD.update_icon()
- playsound(AD, 'sound/machines/airlock_creaking.ogg', 100, 1)
+ playsound(AD, 'sound/machines/door/airlock_creaking.ogg', 100, 1)
AD.visible_message("\The [chassis] tears \the [AD] open!")
if(!AD.welded)
if(density)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 055016908c..9baabe8f9b 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -1891,7 +1891,7 @@
update_cell_alerts()
update_damage_alerts()
set_dir(dir_in)
- playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
+ playsound(src, 'sound/machines/door/windowdoor.ogg', 50, 1)
if(occupant.client && cloaked_selfimage)
occupant.client.images += cloaked_selfimage
play_entered_noise(occupant)
diff --git a/code/global.dm b/code/global.dm
index 48628c5e02..1fde7aca07 100644
--- a/code/global.dm
+++ b/code/global.dm
@@ -157,7 +157,7 @@ var/static/list/scarySounds = list(
'sound/effects/Glassbr3.ogg',
'sound/items/Welder.ogg',
'sound/items/Welder2.ogg',
- 'sound/machines/airlock.ogg',
+ 'sound/machines/door/old_airlock.ogg',
'sound/effects/clownstep1.ogg',
'sound/effects/clownstep2.ogg'
)
diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm
index 0560f3008b..24cca9ca18 100644
--- a/code/modules/client/preference_setup/global/setting_datums.dm
+++ b/code/modules/client/preference_setup/global/setting_datums.dm
@@ -152,6 +152,18 @@ var/list/_client_preferences_by_type
key = "SOUND_AIRPUMP"
enabled_description = "Audible"
disabled_description = "Silent"
+
+/datum/client_preference/old_door_sounds
+ description ="Old Door Sounds"
+ key = "SOUND_OLDDOORS"
+ enabled_description = "Old"
+ disabled_description = "New"
+
+/datum/client_preference/department_door_sounds
+ description ="Department-Specific Door Sounds"
+ key = "SOUND_DEPARTMENTDOORS"
+ enabled_description = "Enabled"
+ disabled_description = "Disabled"
/datum/client_preference/pickup_sounds
description = "Picked Up Item Sounds"
diff --git a/code/modules/client/preferences_toggle_procs.dm b/code/modules/client/preferences_toggle_procs.dm
index ddd768a076..bf3d7a3ca7 100644
--- a/code/modules/client/preferences_toggle_procs.dm
+++ b/code/modules/client/preferences_toggle_procs.dm
@@ -253,6 +253,36 @@
SScharacter_setup.queue_preferences_save(prefs)
feedback_add_details("admin_verb","TAirPumpNoise")
+
+/client/verb/toggle_old_door_sounds()
+ set name = "Toggle Old Door Sounds"
+ set category = "Preferences"
+ set desc = "Toggles New/Old Door Sounds"
+
+ var/pref_path = /datum/client_preference/old_door_sounds
+
+ toggle_preference(pref_path)
+
+ to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear the legacy door sounds.")
+
+ SScharacter_setup.queue_preferences_save(prefs)
+
+ feedback_add_details("admin_verb","TOldDoorSounds")
+
+/client/verb/toggle_department_door_sounds()
+ set name = "Toggle Department Door Sounds"
+ set category = "Preferences"
+ set desc = "Toggles Department-Specific Door Sounds"
+
+ var/pref_path = /datum/client_preference/department_door_sounds
+
+ toggle_preference(pref_path)
+
+ to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear per-department door sounds.")
+
+ SScharacter_setup.queue_preferences_save(prefs)
+
+ feedback_add_details("admin_verb","TDepartmentDoorSounds")
/client/verb/toggle_pickup_sounds()
set name = "Toggle Picked Up Item Sounds"
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index cca6838836..51cf85b6a2 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -112,7 +112,7 @@ mob/living/carbon/proc/handle_hallucinations()
//Strange audio
//to_chat(src, "Strange Audio")
switch(rand(1,12))
- if(1) src << 'sound/machines/airlock.ogg'
+ if(1) src << 'sound/machines/door/old_airlock.ogg'
if(2)
if(prob(50))src << 'sound/effects/Explosion1.ogg'
else src << 'sound/effects/Explosion2.ogg'
@@ -121,7 +121,7 @@ mob/living/carbon/proc/handle_hallucinations()
if(5) src << 'sound/effects/Glassbr2.ogg'
if(6) src << 'sound/effects/Glassbr3.ogg'
if(7) src << 'sound/machines/twobeep.ogg'
- if(8) src << 'sound/machines/windowdoor.ogg'
+ if(8) src << 'sound/machines/door/windowdoor.ogg'
if(9)
//To make it more realistic, I added two gunshots (enough to kill)
src << 'sound/weapons/Gunshot1.ogg'
diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
index fa6bed5c10..63158f9cba 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
@@ -250,7 +250,7 @@
//Strange audio
//to_chat(src, "Strange Audio")
switch(rand(1,12))
- if(1) src << 'sound/machines/airlock.ogg'
+ if(1) src << 'sound/machines/door/old_airlock.ogg'
if(2)
if(prob(50))src << 'sound/effects/Explosion1.ogg'
else src << 'sound/effects/Explosion2.ogg'
@@ -259,7 +259,7 @@
if(5) src << 'sound/effects/Glassbr2.ogg'
if(6) src << 'sound/effects/Glassbr3.ogg'
if(7) src << 'sound/machines/twobeep.ogg'
- if(8) src << 'sound/machines/windowdoor.ogg'
+ if(8) src << 'sound/machines/door/windowdoor.ogg'
if(9)
//To make it more realistic, I added two gunshots (enough to kill)
src << 'sound/weapons/Gunshot1.ogg'
diff --git a/sound/machines/airlock_creaking.ogg b/sound/machines/door/airlock_creaking.ogg
similarity index 100%
rename from sound/machines/airlock_creaking.ogg
rename to sound/machines/door/airlock_creaking.ogg
diff --git a/sound/machines/airlockcycle.ogg b/sound/machines/door/airlockcycle.ogg
similarity index 100%
rename from sound/machines/airlockcycle.ogg
rename to sound/machines/door/airlockcycle.ogg
diff --git a/sound/machines/airlockforced.ogg b/sound/machines/door/airlockforced.ogg
similarity index 100%
rename from sound/machines/airlockforced.ogg
rename to sound/machines/door/airlockforced.ogg
diff --git a/sound/machines/blastdoorclose.ogg b/sound/machines/door/blastdoorclose.ogg
similarity index 100%
rename from sound/machines/blastdoorclose.ogg
rename to sound/machines/door/blastdoorclose.ogg
diff --git a/sound/machines/blastdooropen.ogg b/sound/machines/door/blastdooropen.ogg
similarity index 100%
rename from sound/machines/blastdooropen.ogg
rename to sound/machines/door/blastdooropen.ogg
diff --git a/sound/machines/boltsdown.ogg b/sound/machines/door/boltsdown.ogg
similarity index 100%
rename from sound/machines/boltsdown.ogg
rename to sound/machines/door/boltsdown.ogg
diff --git a/sound/machines/boltsup.ogg b/sound/machines/door/boltsup.ogg
similarity index 100%
rename from sound/machines/boltsup.ogg
rename to sound/machines/door/boltsup.ogg
diff --git a/sound/machines/airlock.ogg b/sound/machines/door/old_airlock.ogg
similarity index 100%
rename from sound/machines/airlock.ogg
rename to sound/machines/door/old_airlock.ogg
diff --git a/sound/machines/airlockclose.ogg b/sound/machines/door/old_airlockclose.ogg
similarity index 100%
rename from sound/machines/airlockclose.ogg
rename to sound/machines/door/old_airlockclose.ogg
diff --git a/sound/machines/windowdoor.ogg b/sound/machines/door/windowdoor.ogg
similarity index 100%
rename from sound/machines/windowdoor.ogg
rename to sound/machines/door/windowdoor.ogg