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