diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index 9dc95b0385..86a3c778c3 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -47,6 +47,8 @@
var/radio_filter_out
var/radio_filter_in
+ var/datum/looping_sound/air_pump/soundloop
+
/obj/machinery/atmospherics/unary/vent_pump/on
use_power = 1
icon_state = "map_vent_out"
@@ -68,6 +70,10 @@
pressure_checks = 2
pressure_checks_default = 2
+/obj/machinery/atmospherics/unary/vent_pump/Initialize()
+ . = ..()
+ soundloop = new(list(src), FALSE)
+
/obj/machinery/atmospherics/unary/vent_pump/New()
..()
air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP
@@ -84,6 +90,7 @@
if(initial_loc)
initial_loc.air_vent_info -= id_tag
initial_loc.air_vent_names -= id_tag
+ QDEL_NULL(soundloop)
return ..()
/obj/machinery/atmospherics/unary/vent_pump/high_volume
@@ -148,11 +155,15 @@
/obj/machinery/atmospherics/unary/vent_pump/proc/can_pump()
if(stat & (NOPOWER|BROKEN))
+ soundloop.stop()
return 0
if(!use_power)
+ soundloop.stop()
return 0
if(welded)
+ soundloop.stop()
return 0
+ soundloop.start()
return 1
/obj/machinery/atmospherics/unary/vent_pump/process()
diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm
index 8b927b3a54..4795f63687 100644
--- a/code/datums/looping_sounds/machinery_sounds.dm
+++ b/code/datums/looping_sounds/machinery_sounds.dm
@@ -43,4 +43,15 @@
mid_sounds = list('sound/machines/microwave/microwave-mid1.ogg'=10, 'sound/machines/microwave/microwave-mid2.ogg'=1)
mid_length = 10
end_sound = 'sound/machines/microwave/microwave-end.ogg'
- volume = 90
\ No newline at end of file
+ volume = 90
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+/datum/looping_sound/air_pump
+ start_sound = 'sound/machines/air_pump/airpumpstart.ogg'
+ start_length = 10
+ mid_sounds = list('sound/machines/air_pump/airpumpidle.ogg' = 1)
+ mid_length = 10
+ end_sound = 'sound/machines/air_pump/airpumpshutdown.ogg'
+ volume = 20
+ pref_check = /datum/client_preference/air_pump_noise
\ No newline at end of file
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 688c6d47fa..a96c21025f 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -931,9 +931,10 @@
/obj/machinery/suit_cycler/proc/finished_job()
var/turf/T = get_turf(src)
- T.visible_message("\icon[src]The [src] pings loudly.")
+ T.visible_message("\icon[src]The [src] beeps several times.")
icon_state = initial(icon_state)
active = 0
+ playsound(src, 'sound/machines/boobeebeep.ogg', 50)
updateUsrDialog()
/obj/machinery/suit_cycler/proc/repair_suit()
diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm
index 09d6f6efd0..9e4c30a39e 100644
--- a/code/modules/client/preference_setup/global/setting_datums.dm
+++ b/code/modules/client/preference_setup/global/setting_datums.dm
@@ -110,6 +110,12 @@ var/list/_client_preferences_by_type
enabled_description = "Show"
disabled_description = "Hide"
+/datum/client_preference/air_pump_noise
+ description ="Air Pump Ambient Noise"
+ key = "SOUND_AIRPUMP"
+ enabled_description = "Audible"
+ disabled_description = "Silent"
+
/datum/client_preference/mob_tooltips
description ="Mob tooltips"
key = "MOB_TOOLTIPS"
diff --git a/code/modules/client/preferences_toggle_procs.dm b/code/modules/client/preferences_toggle_procs.dm
index c9e240317a..6f4bfc8689 100644
--- a/code/modules/client/preferences_toggle_procs.dm
+++ b/code/modules/client/preferences_toggle_procs.dm
@@ -209,6 +209,21 @@
feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+/client/verb/toggle_air_pump_hum()
+ set name = "Toggle Air Pump Noise"
+ set category = "Preferences"
+ set desc = "Toggles Air Pumps humming"
+
+ var/pref_path = /datum/client_preference/air_pump_noise
+
+ toggle_preference(pref_path)
+
+ to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear air pumps hum, start, and stop.")
+
+ SScharacter_setup.queue_preferences_save(prefs)
+
+ feedback_add_details("admin_verb","TAirPumpNoise")
+
/client/verb/toggle_safe_firing()
set name = "Toggle Gun Firing Intent Requirement"
set category = "Preferences"
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
index 6191680d57..b146167218 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm
@@ -74,6 +74,7 @@
health = 200
pass_flags = PASSTABLE
movement_cooldown = 10
+ movement_sound = 'sound/effects/spider_loop.ogg'
poison_resist = 0.5
see_in_dark = 10
diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm
index 7f266f454e..5b31f88400 100644
--- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm
+++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm
@@ -244,6 +244,7 @@
scanner_temperature = max(scanner_temperature - 5 - 10 * rand(), 0)
if(prob(0.75))
src.visible_message("\icon[src] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")].", 2)
+ playsound(loc, 'sound/effects/ding.ogg', 25)
last_process_worldtime = world.time
/obj/machinery/radiocarbon_spectrometer/proc/stop_scanning()
diff --git a/sound/effects/clockcult_gateway_active.ogg b/sound/effects/clockcult_gateway_active.ogg
new file mode 100644
index 0000000000..86487e3bdd
Binary files /dev/null and b/sound/effects/clockcult_gateway_active.ogg differ
diff --git a/sound/effects/clockcult_gateway_charging.ogg b/sound/effects/clockcult_gateway_charging.ogg
new file mode 100644
index 0000000000..f8b8444d7a
Binary files /dev/null and b/sound/effects/clockcult_gateway_charging.ogg differ
diff --git a/sound/effects/clockcult_gateway_closing.ogg b/sound/effects/clockcult_gateway_closing.ogg
new file mode 100644
index 0000000000..1c69f38683
Binary files /dev/null and b/sound/effects/clockcult_gateway_closing.ogg differ
diff --git a/sound/effects/clockcult_gateway_disrupted.ogg b/sound/effects/clockcult_gateway_disrupted.ogg
new file mode 100644
index 0000000000..7ab734dc6c
Binary files /dev/null and b/sound/effects/clockcult_gateway_disrupted.ogg differ
diff --git a/sound/effects/footstep/grassy-footstep-1.ogg b/sound/effects/footstep/grassy-footstep-1.ogg
new file mode 100644
index 0000000000..4bfc95cfbb
Binary files /dev/null and b/sound/effects/footstep/grassy-footstep-1.ogg differ
diff --git a/sound/effects/footstep/grassy-footstep-2.ogg b/sound/effects/footstep/grassy-footstep-2.ogg
new file mode 100644
index 0000000000..1d91064054
Binary files /dev/null and b/sound/effects/footstep/grassy-footstep-2.ogg differ
diff --git a/sound/effects/footstep/grassy-footstep-3.ogg b/sound/effects/footstep/grassy-footstep-3.ogg
new file mode 100644
index 0000000000..f772af01ff
Binary files /dev/null and b/sound/effects/footstep/grassy-footstep-3.ogg differ
diff --git a/sound/effects/houndstep.ogg b/sound/effects/houndstep.ogg
new file mode 100644
index 0000000000..55f83b22d8
Binary files /dev/null and b/sound/effects/houndstep.ogg differ
diff --git a/sound/effects/spider_loop.ogg b/sound/effects/spider_loop.ogg
new file mode 100644
index 0000000000..3a98df83e2
Binary files /dev/null and b/sound/effects/spider_loop.ogg differ
diff --git a/sound/machines/air_pump/airpumpidle.ogg b/sound/machines/air_pump/airpumpidle.ogg
new file mode 100644
index 0000000000..25635cc31c
Binary files /dev/null and b/sound/machines/air_pump/airpumpidle.ogg differ
diff --git a/sound/machines/air_pump/airpumpshutdown.ogg b/sound/machines/air_pump/airpumpshutdown.ogg
new file mode 100644
index 0000000000..19969041be
Binary files /dev/null and b/sound/machines/air_pump/airpumpshutdown.ogg differ
diff --git a/sound/machines/air_pump/airpumpstart.ogg b/sound/machines/air_pump/airpumpstart.ogg
new file mode 100644
index 0000000000..312cf94895
Binary files /dev/null and b/sound/machines/air_pump/airpumpstart.ogg differ