diff --git a/code/__DEFINES/sound_defines.dm b/code/__DEFINES/sound_defines.dm index 5f70c82e119..32b0adaac30 100644 --- a/code/__DEFINES/sound_defines.dm +++ b/code/__DEFINES/sound_defines.dm @@ -9,7 +9,6 @@ #define CHANNEL_ENGINE 1017 // Engine ambient sounds #define CHANNEL_FIREALARM 1016 //fire alarm alarms #define CHANNEL_ASH_STORM 1015 -#define CHANNEL_DELTA_ALARM 1014 #define USER_VOLUME(M, C) M?.client?.prefs.get_channel_volume(C) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 2439ec0f564..4546b727483 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -2052,8 +2052,6 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) return "Fire Alarms" if(CHANNEL_ASH_STORM) return "Ash Storms" - if(CHANNEL_DELTA_ALARM) - return "Delta Alarm" /proc/slot_bitfield_to_slot(input_slot_flags) // Kill off this garbage ASAP; slot flags and clothing flags should be IDENTICAL. GOSH DARN IT. Doesn't work with ears or pockets, either. switch(input_slot_flags) diff --git a/code/controllers/subsystem/SSticker.dm b/code/controllers/subsystem/SSticker.dm index 8e1d9c851f3..979297ba4a9 100644 --- a/code/controllers/subsystem/SSticker.dm +++ b/code/controllers/subsystem/SSticker.dm @@ -400,7 +400,7 @@ SUBSYSTEM_DEF(ticker) flick("station_explode_fade_red", cinematic) SEND_SOUND(world, sound('sound/effects/explosion_distant.ogg')) cinematic.icon_state = "summary_selfdes" - stop_delta_alarm() + if(NUKE_SITE_ON_STATION_ZLEVEL) // nuke was nearby but (mostly) missed if(mode && !override) @@ -430,7 +430,6 @@ SUBSYSTEM_DEF(ticker) //If its actually the end of the round, wait for it to end. //Otherwise if its a verb it will continue on afterwards. spawn(300) - stop_delta_alarm() // If we've not stopped this alarm yet, do so now. QDEL_NULL(cinematic) //end the cinematic diff --git a/code/datums/looping_sounds/looping_sound.dm b/code/datums/looping_sounds/looping_sound.dm index 5c329ddccae..41510c27663 100644 --- a/code/datums/looping_sounds/looping_sound.dm +++ b/code/datums/looping_sounds/looping_sound.dm @@ -130,12 +130,3 @@ . = ..() if(decrease_by_amount && decrease_to_amount && decrease_to_amount < volume) volume = max(volume - decrease_by_amount, decrease_to_amount) - -/datum/looping_sound/decreasing/delta_alarm - mid_sounds = 'sound/effects/delta_alarm.ogg' - volume = 50 - mid_length = 80 - decrease_to_amount = 10 - decrease_by_amount = 5 - direct = TRUE - channel = CHANNEL_DELTA_ALARM diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 6a2a3445f9e..81667bc10fe 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -88,7 +88,6 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts "1017" = 100, // CHANNEL_ENGINE "1016" = 100, // CHANNEL_FIREALARM "1015" = 100, // CHANNEL_ASH_STORM - "1014" = 100, // CHANNEL_DELTA_ALARM ) /// The volume mixer save timer handle. Used to debounce the DB call to save, to avoid spamming. var/volume_mixer_saving = null diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm index cfd347bbcf1..c84ed819bcb 100644 --- a/code/modules/security_levels/security_levels.dm +++ b/code/modules/security_levels/security_levels.dm @@ -24,9 +24,6 @@ GLOBAL_DATUM_INIT(security_announcement, /datum/announcer, new(config_type = /da if("delta") level = SEC_LEVEL_DELTA - if(level != SEC_LEVEL_DELTA) - stop_delta_alarm() - //Will not be announced if you try to set to the same level as it already is if(level >= SEC_LEVEL_GREEN && level <= SEC_LEVEL_DELTA && level != GLOB.security_level) if(level >= SEC_LEVEL_RED && GLOB.security_level < SEC_LEVEL_RED) @@ -98,14 +95,13 @@ GLOBAL_DATUM_INIT(security_announcement, /datum/announcer, new(config_type = /da var/temp_sound = GLOB.security_announcement.config.sound GLOB.security_announcement.config.sound = null GLOB.security_announcement.Announce("The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill.","Attention! Delta security level reached!", - new_sound = null, - new_sound2 = null) + new_sound = 'sound/effects/delta_klaxon.ogg', + new_sound2 = 'sound/AI/delta.ogg') GLOB.security_announcement.config.sound = temp_sound GLOB.security_level = SEC_LEVEL_DELTA post_status(STATUS_DISPLAY_ALERT, "deltaalert") update_firealarms() set_stationwide_emergency_lighting() - delta_alarm() SSblackbox.record_feedback("tally", "security_level_changes", 1, level) return @@ -227,23 +223,3 @@ GLOBAL_DATUM_INIT(security_announcement, /datum/announcer, new(config_type = /da L.fire_mode = TRUE L.update() update_firealarms() - -/proc/delta_alarm() - var/station_z = level_name_to_num(MAIN_STATION) - var/list/mobs_for_alarm = list() - - for(var/mob/M in get_mob_with_client_list()) - if(M.z != station_z) - continue - - mobs_for_alarm += M - - var/datum/looping_sound/decreasing/delta_alarm/alarm = new(_output_atoms = mobs_for_alarm, _direct = TRUE) - alarm.channel = CHANNEL_DELTA_ALARM - alarm.start() - -/proc/stop_delta_alarm() - for(var/datum/looping_sound/decreasing/delta_alarm/alarm in GLOB.looping_sounds) - for(var/mob/hearer in alarm.output_atoms) // Immediately stop the alarm for anyone who can hear it. - hearer.stop_sound_channel(CHANNEL_DELTA_ALARM) - qdel(alarm) diff --git a/sound/effects/delta_klaxon.ogg b/sound/effects/delta_klaxon.ogg new file mode 100644 index 00000000000..6eed302098e Binary files /dev/null and b/sound/effects/delta_klaxon.ogg differ