Adds Alarm Effects, Makes Air alarm have decompress alarm

This commit is contained in:
Rykka Stormheart
2023-02-12 11:22:59 -08:00
parent 65e4ef5f77
commit c4924ec8f9
14 changed files with 87 additions and 2 deletions

View File

@@ -0,0 +1,55 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/fire_alarm // Commented out start/end as I don't feel they're very fitting
// start_sound = 'sound/effects/alarms/fire_alarm/fire_alarm_start.ogg'
// start_length = 40
mid_sounds = list('sound/effects/alarms/fire_alarm/fire_alarm_mid.ogg' = 1)
mid_length = 20
// end_sound = 'sound/effects/alarms/fire_alarm/fire_alarm_stop.ogg'
volume = 30
pref_check = /datum/client_preference/looping_alarms
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/decompression_alarm
mid_sounds = list('sound/effects/alarms/decon_alarm.ogg'=1)
mid_length = 60
volume = 100
extra_range = 20
pref_check = /datum/client_preference/looping_alarms
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/ship_alarm
mid_sounds = list('sound/effects/alarms/ship_alarm.ogg'=1)
mid_length = 20
volume = 60
extra_range = 10
pref_check = /datum/client_preference/looping_alarms
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/engineering_alarm
mid_sounds = list('sound/effects/alarms/engineering_alarm.ogg'=1)
mid_length = 30
volume = 15
pref_check = /datum/client_preference/looping_alarms
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/threat_level_high
mid_sounds = list('sound/effects/alarms/threat_level_high.ogg'=1)
mid_length = 30
volume = 60
pref_check = /datum/client_preference/looping_alarms
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/threat_level_extreme
mid_sounds = list('sound/effects/alarms/threat_level_extreme.ogg'=1)
mid_length = 30
volume = 60
pref_check = /datum/client_preference/looping_alarms
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -84,6 +84,8 @@
var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles
var/datum/looping_sound/decompression_alarm/soundloop
/obj/machinery/alarm/nobreach
breach_detection = 0
@@ -128,6 +130,7 @@
if(alarm_area && alarm_area.master_air_alarm == src)
alarm_area.master_air_alarm = null
elect_master(exclude_self = TRUE)
QDEL_NULL(soundloop)
return ..()
/obj/machinery/alarm/proc/offset_airalarm()
@@ -165,6 +168,7 @@
set_frequency(frequency)
if(!master_is_operating())
elect_master()
soundloop = new(list(src), FALSE) // Create soundloop
/obj/machinery/alarm/process()
if((stat & (NOPOWER|BROKEN)) || shorted)
@@ -194,6 +198,11 @@
mode = AALARM_MODE_FILL
apply_mode()
if(alarm_area?.atmosalm || danger_level > 0) // CHOMPEdit: Looping Alarms (Trigger Decompression alarm here, on detection of any breach in the area)
soundloop.start()
else if(danger_level == 0 && alarm_area?.atmosalm == 0) // CHOMPEdit: Looping Alarms (Cancel Decompression alarm here)
soundloop.stop()
//atmos computer remote controll stuff
switch(rcon_setting)
if(RCON_NO)

View File

@@ -157,6 +157,12 @@ var/list/_client_preferences_by_type
enabled_description = "Audible"
disabled_description = "Silent"
/datum/client_preference/looping_alarms // CHOMPStation Add: Looping Alarms
description ="Looping Alarm Sounds"
key = "SOUND_ALARMLOOP"
enabled_description = "Audible"
disabled_description = "Silent"
/datum/client_preference/old_door_sounds
description ="Old Door Sounds"
key = "SOUND_OLDDOORS"

View File

@@ -0,0 +1,14 @@
/client/verb/toggle_looping_alarms()
set name = "Looping Alarms"
set category = "Preferences"
set desc = "Toggles alarm sound loops."
var/pref_path = /datum/client_preference/looping_alarms
toggle_preference(pref_path)
to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear alarm sounds looping.")
SScharacter_setup.queue_preferences_save(prefs)
feedback_add_details("admin_verb","TAlarmLoops") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -406,6 +406,7 @@
#include "code\datums\locations\vir.dm"
#include "code\datums\looping_sounds\_looping_sound.dm"
#include "code\datums\looping_sounds\environment_sounds.dm"
#include "code\datums\looping_sounds\alarm_sounds.dm"
#include "code\datums\looping_sounds\item_sounds.dm"
#include "code\datums\looping_sounds\machinery_sounds.dm"
#include "code\datums\looping_sounds\sequence.dm"