diff --git a/code/controllers/emergency_shuttle_controller.dm b/code/controllers/emergency_shuttle_controller.dm index d6e272f9c9..b5fa776f7f 100644 --- a/code/controllers/emergency_shuttle_controller.dm +++ b/code/controllers/emergency_shuttle_controller.dm @@ -58,7 +58,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle = new if (evac) emergency_shuttle_docked.Announce(replacetext(replacetext(using_map.emergency_shuttle_docked_message, "%dock_name%", "[using_map.dock_name]"), "%ETD%", "[estimated_time] minute\s")) else - priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_docked_message, "%dock_name%", "[using_map.dock_name]"), "%ETD%", "[estimated_time] minute\s")) + priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_docked_message, "%dock_name%", "[using_map.dock_name]"), "%ETD%", "[estimated_time] minute\s"), "Transfer System", 'sound/AI/tramarrived.ogg') //VOREStation Edit - TTS //arm the escape pods if (evac) @@ -115,7 +115,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle = new shuttle.move_time = SHUTTLE_TRANSIT_DURATION var/estimated_time = round(estimate_arrival_time()/60,1) - priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_called_message, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) + priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_called_message, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s"), "Transfer System", 'sound/AI/tramcalled.ogg') //VOREStation Edit - TTS atc.shift_ending() //recalls the shuttle diff --git a/code/controllers/subsystems/nightshift.dm b/code/controllers/subsystems/nightshift.dm index 30bbe993df..9e89a05cee 100644 --- a/code/controllers/subsystems/nightshift.dm +++ b/code/controllers/subsystems/nightshift.dm @@ -28,7 +28,15 @@ SUBSYSTEM_DEF(nightshift) var/announce_z if(using_map.station_levels.len) announce_z = pick(using_map.station_levels) - priority_announcement.Announce(message, new_title = "Automated Lighting System Announcement", new_sound = 'sound/misc/notice2.ogg', zlevel = announce_z) + //VOREStation Edit - TTS + var/pickedsound + if(!high_security_mode) + if(nightshift_active) + pickedsound = 'sound/AI/dim_lights.ogg' + else + pickedsound = 'sound/AI/bright_lights.ogg' + priority_announcement.Announce(message, new_title = "Automated Lighting System Announcement", new_sound = pickedsound, zlevel = announce_z) + //VOREStation Edit End /datum/controller/subsystem/nightshift/proc/check_nightshift(check_canfire=FALSE) //This is called from elsewhere, like setting the alert levels if(check_canfire && !can_fire) diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index 0624688172..d5202bafc2 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -17,17 +17,17 @@ log = do_log newscast = do_newscast -/datum/announcement/priority/New(var/do_log = 1, var/new_sound = 'sound/misc/notice2.ogg', var/do_newscast = 0) +/datum/announcement/priority/New(var/do_log = 1, var/new_sound, var/do_newscast = 0) ..(do_log, new_sound, do_newscast) title = "Priority Announcement" announcement_type = "Priority Announcement" -/datum/announcement/priority/command/New(var/do_log = 1, var/new_sound = 'sound/misc/notice2.ogg', var/do_newscast = 0) +/datum/announcement/priority/command/New(var/do_log = 1, var/new_sound, var/do_newscast = 0) ..(do_log, new_sound, do_newscast) title = "[command_name()] Update" announcement_type = "[command_name()] Update" -/datum/announcement/priority/security/New(var/do_log = 1, var/new_sound = 'sound/misc/notice2.ogg', var/do_newscast = 0) +/datum/announcement/priority/security/New(var/do_log = 1, var/new_sound, var/do_newscast = 0) ..(do_log, new_sound, do_newscast) title = "Security Announcement" announcement_type = "Security Announcement" @@ -52,7 +52,7 @@ Sound(message_sound, zlevels) Log(message, message_title) -datum/announcement/proc/Message(message as text, message_title as text, var/list/zlevels) +/datum/announcement/proc/Message(message as text, message_title as text, var/list/zlevels) for(var/mob/M in player_list) if(!istype(M,/mob/new_player) && !isdeaf(M)) to_chat(M, "

[title]

") @@ -61,17 +61,17 @@ datum/announcement/proc/Message(message as text, message_title as text, var/list to_chat(M, " -[html_encode(announcer)]") // You'll need to update these to_world usages if you want to make these z-level specific ~Aro -datum/announcement/minor/Message(message as text, message_title as text) +/datum/announcement/minor/Message(message as text, message_title as text) to_world("[message]") -datum/announcement/priority/Message(message as text, message_title as text) +/datum/announcement/priority/Message(message as text, message_title as text) to_world("

[message_title]

") to_world("[message]") if(announcer) to_world(" -[html_encode(announcer)]") to_world("
") -datum/announcement/priority/command/Message(message as text, message_title as text, var/list/zlevels) +/datum/announcement/priority/command/Message(message as text, message_title as text, var/list/zlevels) var/command command += "

[command_name()] Update

" if (message_title) @@ -85,16 +85,16 @@ datum/announcement/priority/command/Message(message as text, message_title as te if(!istype(M,/mob/new_player) && !isdeaf(M)) to_chat(M, command) -datum/announcement/priority/Message(var/message as text, var/message_title as text, var/list/zlevels) +/datum/announcement/priority/Message(var/message as text, var/message_title as text, var/list/zlevels) global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) -datum/announcement/priority/command/Message(var/message as text, var/message_title as text, var/list/zlevels) +/datum/announcement/priority/command/Message(var/message as text, var/message_title as text, var/list/zlevels) global_announcer.autosay("[command_name()] - [message_title]: [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) -datum/announcement/priority/security/Message(var/message as text, var/message_title as text, var/list/zlevels) +/datum/announcement/priority/security/Message(var/message as text, var/message_title as text, var/list/zlevels) global_announcer.autosay("[message_title]: [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels) -datum/announcement/proc/NewsCast(var/message as text, var/message_title as text) +/datum/announcement/proc/NewsCast(var/message as text, var/message_title as text) if(!newscast) return @@ -106,27 +106,27 @@ datum/announcement/proc/NewsCast(var/message as text, var/message_title as text) news.can_be_redacted = 0 announce_newscaster_news(news) -datum/announcement/proc/PlaySound(var/message_sound, var/list/zlevels) - if(!message_sound) - return - +/datum/announcement/proc/PlaySound(var/message_sound, var/list/zlevels) for(var/mob/M in player_list) if(zlevels && !(M.z in zlevels)) continue if(!istype(M,/mob/new_player) && !isdeaf(M)) - M << message_sound + M << 'sound/AI/preamble.ogg' -datum/announcement/proc/Sound(var/message_sound, var/list/zlevels) + if(!message_sound) + return + + spawn(22) // based on length of preamble.ogg + arbitrary delay + for(var/mob/M in player_list) + if(zlevels && !(M.z in zlevels)) + continue + if(!istype(M,/mob/new_player) && !isdeaf(M)) + M << message_sound + +/datum/announcement/proc/Sound(var/message_sound, var/list/zlevels) PlaySound(message_sound, zlevels) -datum/announcement/priority/Sound(var/message_sound) - if(message_sound) - world << message_sound - -datum/announcement/priority/command/Sound(var/message_sound) - PlaySound(message_sound) - -datum/announcement/proc/Log(message as text, message_title as text) +/datum/announcement/proc/Log(message as text, message_title as text) if(log) log_game("[key_name(usr)] has made \a [announcement_type]: [message_title] - [message] - [announcer]") message_admins("[key_name_admin(usr)] has made \a [announcement_type].", 1) diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index dc02084f98..dd0d863091 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -210,6 +210,7 @@ //purge apparently means clearing the airlock chamber to vacuum (then refilling, handled later) target_pressure = 0 state = STATE_DEPRESSURIZE + playsound(master, 'sound/AI/airlockout.ogg', 100, 0) //VOREStation Add - TTS if(!cycle_to_external_air || target_state == TARGET_OUTOPEN) // if going outside, pump internal air into air tank signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing else @@ -218,6 +219,7 @@ else if(chamber_pressure <= target_pressure) state = STATE_PRESSURIZE + playsound(master, 'sound/AI/airlockin.ogg', 100, 0) //VOREStation Add - TTS if(!cycle_to_external_air || target_state == TARGET_INOPEN) // if going inside, pump air into airlock signalPump(tag_airpump, 1, 1, target_pressure) //send a signal to start pressurizing else @@ -227,6 +229,7 @@ else if(chamber_pressure > target_pressure) if(!cycle_to_external_air) state = STATE_DEPRESSURIZE + playsound(master, 'sound/AI/airlockout.ogg', 100, 0) //VOREStation Add - TTS signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing else memory["purge"] = 1 // should always purge first if using external air, chamber pressure should never be higher than target pressure here @@ -234,6 +237,7 @@ memory["target_pressure"] = max(target_pressure, MIN_TARGET_PRESSURE) if(STATE_PRESSURIZE) + playsound(master, 'sound/machines/2beep.ogg', 100, 0) //VOREStation Add - TTS if(memory["chamber_sensor_pressure"] >= memory["target_pressure"] * 0.95) //not done until the pump has reported that it's off if(memory["pump_status"] != "off") @@ -245,9 +249,11 @@ cycleDoors(target_state) state = STATE_IDLE target_state = TARGET_NONE + playsound(master, 'sound/AI/airlockdone.ogg', 100, 0) //VOREStation Add - TTS if(STATE_DEPRESSURIZE) + playsound(master, 'sound/machines/2beep.ogg', 100, 0) //VOREStation Add - TTS if(memory["chamber_sensor_pressure"] <= max(memory["target_pressure"] * 1.05, MIN_TARGET_PRESSURE)) if(memory["pump_status"] != "off") signalPump(tag_airpump, 0) @@ -263,6 +269,7 @@ cycleDoors(target_state) state = STATE_IDLE target_state = TARGET_NONE + playsound(master, 'sound/AI/airlockdone.ogg', 100, 0) //VOREStation Add - TTS memory["processing"] = (state != target_state) diff --git a/code/modules/events/ian_storm_vr.dm b/code/modules/events/ian_storm_vr.dm index 574df331bb..8e654cff43 100644 --- a/code/modules/events/ian_storm_vr.dm +++ b/code/modules/events/ian_storm_vr.dm @@ -4,8 +4,8 @@ endWhen = 3 /datum/event/ianstorm/announce() - command_announcement.Announce("It has come to our attention that the station passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert") - spawn(rand(50, 300)) + command_announcement.Announce("It has come to our attention that the station passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert", 'sound/AI/ian_storm.ogg') + spawn(7 SECONDS) command_announcement.Announce("Wait. No, thats wrong. The station passed through an IAN storm!.", "Ian Alert") /datum/event/ianstorm/start() diff --git a/code/modules/shuttles/shuttle_emergency.dm b/code/modules/shuttles/shuttle_emergency.dm index 4310b9e6ce..efb321e55c 100644 --- a/code/modules/shuttles/shuttle_emergency.dm +++ b/code/modules/shuttles/shuttle_emergency.dm @@ -37,7 +37,7 @@ if (emergency_shuttle.evac) priority_announcement.Announce(replacetext(replacetext(using_map.emergency_shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) else - priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) + priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s"), "Transfer System", 'sound/AI/tramdepart.ogg') ..() /datum/shuttle/autodock/ferry/emergency/can_launch(var/user) diff --git a/sound/AI/airlockdone.ogg b/sound/AI/airlockdone.ogg new file mode 100644 index 0000000000..eef291a2d3 Binary files /dev/null and b/sound/AI/airlockdone.ogg differ diff --git a/sound/AI/airlockin.ogg b/sound/AI/airlockin.ogg new file mode 100644 index 0000000000..66a78128d9 Binary files /dev/null and b/sound/AI/airlockin.ogg differ diff --git a/sound/AI/airlockout.ogg b/sound/AI/airlockout.ogg new file mode 100644 index 0000000000..d4f03f446f Binary files /dev/null and b/sound/AI/airlockout.ogg differ diff --git a/sound/AI/aliens.ogg b/sound/AI/aliens.ogg index 9813204830..c88c53aadb 100644 Binary files a/sound/AI/aliens.ogg and b/sound/AI/aliens.ogg differ diff --git a/sound/AI/animes.ogg b/sound/AI/animes.ogg index a46a207edc..bdf6e15c1d 100644 Binary files a/sound/AI/animes.ogg and b/sound/AI/animes.ogg differ diff --git a/sound/AI/bright_lights.ogg b/sound/AI/bright_lights.ogg new file mode 100644 index 0000000000..4ce1bd4a00 Binary files /dev/null and b/sound/AI/bright_lights.ogg differ diff --git a/sound/AI/commandreport.ogg b/sound/AI/commandreport.ogg index 3692140439..bf322737ce 100644 Binary files a/sound/AI/commandreport.ogg and b/sound/AI/commandreport.ogg differ diff --git a/sound/AI/dim_lights.ogg b/sound/AI/dim_lights.ogg new file mode 100644 index 0000000000..02648f6285 Binary files /dev/null and b/sound/AI/dim_lights.ogg differ diff --git a/sound/AI/drone_pod.ogg b/sound/AI/drone_pod.ogg new file mode 100644 index 0000000000..dc8e3ad81b Binary files /dev/null and b/sound/AI/drone_pod.ogg differ diff --git a/sound/AI/granomalies.ogg b/sound/AI/granomalies.ogg index 89a776c385..0c0e32e3b3 100644 Binary files a/sound/AI/granomalies.ogg and b/sound/AI/granomalies.ogg differ diff --git a/sound/AI/ian_storm.ogg b/sound/AI/ian_storm.ogg new file mode 100644 index 0000000000..3d136773fc Binary files /dev/null and b/sound/AI/ian_storm.ogg differ diff --git a/sound/AI/intercept.ogg b/sound/AI/intercept.ogg index c0a3c6c783..173ecf9954 100644 Binary files a/sound/AI/intercept.ogg and b/sound/AI/intercept.ogg differ diff --git a/sound/AI/ionstorm.ogg b/sound/AI/ionstorm.ogg index 4bb414e5c9..6ba73ea1a2 100644 Binary files a/sound/AI/ionstorm.ogg and b/sound/AI/ionstorm.ogg differ diff --git a/sound/AI/meteors.ogg b/sound/AI/meteors.ogg index 4e7cdd11cc..8ea04f9ed6 100644 Binary files a/sound/AI/meteors.ogg and b/sound/AI/meteors.ogg differ diff --git a/sound/AI/newAI.ogg b/sound/AI/newAI.ogg index d21967d055..990c4ce877 100644 Binary files a/sound/AI/newAI.ogg and b/sound/AI/newAI.ogg differ diff --git a/sound/AI/newroundsexy.ogg b/sound/AI/newroundsexy.ogg index afe5630f04..5ea86bcdda 100644 Binary files a/sound/AI/newroundsexy.ogg and b/sound/AI/newroundsexy.ogg differ diff --git a/sound/AI/outbreak5.ogg b/sound/AI/outbreak5.ogg index fbdb8eed00..0b91fa64eb 100644 Binary files a/sound/AI/outbreak5.ogg and b/sound/AI/outbreak5.ogg differ diff --git a/sound/AI/outbreak7.ogg b/sound/AI/outbreak7.ogg index f35e65be9a..64d515166e 100644 Binary files a/sound/AI/outbreak7.ogg and b/sound/AI/outbreak7.ogg differ diff --git a/sound/AI/poweroff.ogg b/sound/AI/poweroff.ogg index f445f195c1..36da570c55 100644 Binary files a/sound/AI/poweroff.ogg and b/sound/AI/poweroff.ogg differ diff --git a/sound/AI/poweron.ogg b/sound/AI/poweron.ogg index 8cc3058ca0..3cc85b4f0e 100644 Binary files a/sound/AI/poweron.ogg and b/sound/AI/poweron.ogg differ diff --git a/sound/AI/preamble.ogg b/sound/AI/preamble.ogg new file mode 100644 index 0000000000..0426325752 Binary files /dev/null and b/sound/AI/preamble.ogg differ diff --git a/sound/AI/radiation.ogg b/sound/AI/radiation.ogg index 18e112a768..1889d5d230 100644 Binary files a/sound/AI/radiation.ogg and b/sound/AI/radiation.ogg differ diff --git a/sound/AI/shuttlecalled.ogg b/sound/AI/shuttlecalled.ogg index 79ec47f97e..4a77a8748d 100644 Binary files a/sound/AI/shuttlecalled.ogg and b/sound/AI/shuttlecalled.ogg differ diff --git a/sound/AI/shuttledock.ogg b/sound/AI/shuttledock.ogg index 82fac215d6..322dc2c3de 100644 Binary files a/sound/AI/shuttledock.ogg and b/sound/AI/shuttledock.ogg differ diff --git a/sound/AI/shuttlerecalled.ogg b/sound/AI/shuttlerecalled.ogg index 352990875c..b2008ae1fe 100644 Binary files a/sound/AI/shuttlerecalled.ogg and b/sound/AI/shuttlerecalled.ogg differ diff --git a/sound/AI/spanomalies.ogg b/sound/AI/spanomalies.ogg index e5ababeab7..56092c3565 100644 Binary files a/sound/AI/spanomalies.ogg and b/sound/AI/spanomalies.ogg differ diff --git a/sound/AI/tramarrived.ogg b/sound/AI/tramarrived.ogg new file mode 100644 index 0000000000..8e4e5dde10 Binary files /dev/null and b/sound/AI/tramarrived.ogg differ diff --git a/sound/AI/tramcalled.ogg b/sound/AI/tramcalled.ogg new file mode 100644 index 0000000000..c6db309e89 Binary files /dev/null and b/sound/AI/tramcalled.ogg differ diff --git a/sound/AI/tramdepart.ogg b/sound/AI/tramdepart.ogg new file mode 100644 index 0000000000..7c8171cdb8 Binary files /dev/null and b/sound/AI/tramdepart.ogg differ diff --git a/sound/AI/welcome.ogg b/sound/AI/welcome.ogg index 2224cabb2c..9057bf9abf 100644 Binary files a/sound/AI/welcome.ogg and b/sound/AI/welcome.ogg differ diff --git a/sound/machines/2beep.ogg b/sound/machines/2beep.ogg new file mode 100644 index 0000000000..0953882ab7 Binary files /dev/null and b/sound/machines/2beep.ogg differ diff --git a/sound/machines/2beephigh.ogg b/sound/machines/2beephigh.ogg new file mode 100644 index 0000000000..9367872138 Binary files /dev/null and b/sound/machines/2beephigh.ogg differ diff --git a/sound/machines/2beeplow.ogg b/sound/machines/2beeplow.ogg new file mode 100644 index 0000000000..aedcf9ff6a Binary files /dev/null and b/sound/machines/2beeplow.ogg differ diff --git a/sound/machines/2beepmid.ogg b/sound/machines/2beepmid.ogg new file mode 100644 index 0000000000..dd79fcd92e Binary files /dev/null and b/sound/machines/2beepmid.ogg differ diff --git a/sound/machines/airlockcycle.ogg b/sound/machines/airlockcycle.ogg new file mode 100644 index 0000000000..8fc0197547 Binary files /dev/null and b/sound/machines/airlockcycle.ogg differ