mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Makes Fire Alarms loop, replaces the old, jarring air alarm sound
Newer sound is easier on the ears and loops better. Yes, yes, we use the airalarm.ogg as actual fire alarms in most places, but it is so loud it's usually painful.
This commit is contained in:
@@ -1,55 +1,56 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/looping_sound/fire_alarm // Commented out start/end as I don't feel they're very fitting
|
||||
/datum/looping_sound/alarm
|
||||
volume_chan = VOLUME_CHANNEL_ALARMS
|
||||
pref_check = /datum/client_preference/looping_alarms
|
||||
|
||||
/datum/looping_sound/alarm/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
|
||||
mid_length = 6 SECONDS // Exact loop, these things should be constantly running while there's a fire actively going
|
||||
// end_sound = 'sound/effects/alarms/fire_alarm/fire_alarm_stop.ogg'
|
||||
volume = 30
|
||||
pref_check = /datum/client_preference/looping_alarms
|
||||
extra_range = 60 // Alarms should be clearly heard from far away
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/looping_sound/decompression_alarm
|
||||
/datum/looping_sound/alarm/decompression_alarm
|
||||
mid_sounds = list('sound/effects/alarms/decon_alarm.ogg'=1)
|
||||
mid_length = 60
|
||||
mid_length = 4 SECONDS // Delay by 1 second so as to not spam it
|
||||
volume = 100
|
||||
extra_range = 20
|
||||
pref_check = /datum/client_preference/looping_alarms
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/datum/looping_sound/ship_alarm
|
||||
/datum/looping_sound/alarm/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
|
||||
/datum/looping_sound/alarm/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
|
||||
/datum/looping_sound/alarm/threat_level_high
|
||||
mid_sounds = list('sound/effects/alarms/threat_level_high.ogg'=1)
|
||||
mid_length = 30
|
||||
mid_length = 4 SECONDS
|
||||
volume = 60
|
||||
pref_check = /datum/client_preference/looping_alarms
|
||||
extra_range = 40
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/looping_sound/threat_level_extreme
|
||||
/datum/looping_sound/alarm/threat_level_extreme
|
||||
mid_sounds = list('sound/effects/alarms/threat_level_extreme.ogg'=1)
|
||||
mid_length = 30
|
||||
mid_length = 4 SECONDS
|
||||
volume = 60
|
||||
pref_check = /datum/client_preference/looping_alarms
|
||||
extra_range = 40
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles
|
||||
|
||||
var/datum/looping_sound/decompression_alarm/soundloop
|
||||
var/datum/looping_sound/alarm/decompression_alarm/soundloop
|
||||
|
||||
/obj/machinery/alarm/nobreach
|
||||
breach_detection = 0
|
||||
|
||||
@@ -26,6 +26,8 @@ FIRE ALARM
|
||||
circuit = /obj/item/weapon/circuitboard/firealarm
|
||||
var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles
|
||||
|
||||
var/datum/looping_sound/alarm/fire_alarm/soundloop
|
||||
|
||||
/obj/machinery/firealarm/alarms_hidden
|
||||
alarms_hidden = TRUE
|
||||
|
||||
@@ -51,6 +53,12 @@ FIRE ALARM
|
||||
if(z in using_map.contact_levels)
|
||||
set_security_level(security_level ? get_security_level() : "green")
|
||||
|
||||
soundloop = new(list(src), FALSE) // Create soundloop
|
||||
|
||||
/obj/machinery/firealarm/Destroy()
|
||||
QDEL_NULL(soundloop) // Just clearing the loop here
|
||||
return ..()
|
||||
|
||||
/obj/machinery/firealarm/proc/offset_alarm()
|
||||
pixel_x = (dir & 3) ? 0 : (dir == 4 ? 26 : -26)
|
||||
pixel_y = (dir & 3) ? (dir == 1 ? -26 : 26) : 0
|
||||
@@ -177,6 +185,7 @@ FIRE ALARM
|
||||
var/area/area = get_area(src)
|
||||
for(var/obj/machinery/firealarm/FA in area)
|
||||
fire_alarm.clearAlarm(src.loc, FA)
|
||||
FA.soundloop.stop()
|
||||
update_icon()
|
||||
if(user)
|
||||
log_game("[user] reset a fire alarm at [COORD(src)]")
|
||||
@@ -187,8 +196,9 @@ FIRE ALARM
|
||||
var/area/area = get_area(src)
|
||||
for(var/obj/machinery/firealarm/FA in area)
|
||||
fire_alarm.triggerAlarm(loc, FA, duration, hidden = alarms_hidden)
|
||||
FA.soundloop.start()
|
||||
update_icon()
|
||||
playsound(src, 'sound/machines/airalarm.ogg', 25, 0, 4, volume_channel = VOLUME_CHANNEL_ALARMS)
|
||||
// playsound(src, 'sound/machines/airalarm.ogg', 25, 0, 4, volume_channel = VOLUME_CHANNEL_ALARMS)
|
||||
if(user)
|
||||
log_game("[user] triggered a fire alarm at [COORD(src)]")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user