diff --git a/code/__defines/announce.dm b/code/__defines/announce.dm new file mode 100644 index 0000000000..7d76d6f192 --- /dev/null +++ b/code/__defines/announce.dm @@ -0,0 +1,234 @@ +// Announcer IDs +#define ANNOUNCER_VOICE_SS13 "announcer_ss13" +#define ANNOUNCER_VOICE_SILENT "announcer_silent" +#define ANNOUNCER_VOICE_VIRGO "announcer_virgo" +#define ANNOUNCER_VOICE_CHOMP "announcer_chomp" //CHOMPEdit - Adds CHOMP Announcer + +// Announcements +#define ANNOUNCER_MSG_ROUND_START "announcer_msg_round_start" + +#define ANNOUNCER_MSG_SHUTTLE_ENDROUND_DOCK "announcer_msg_endround_shuttle_dock" +#define ANNOUNCER_MSG_SHUTTLE_ENDROUND_CALLED "announcer_msg_endround_shuttle_called" +#define ANNOUNCER_MSG_SHUTTLE_ENDROUND_RETURNING "announcer_msg_endround_shuttle_returning" + +#define ANNOUNCER_MSG_SHUTTLE_EMERG_DOCK "announcer_msg_emergency_shuttle_dock" +#define ANNOUNCER_MSG_SHUTTLE_EMERG_CALLED "announcer_msg_emergency_shuttle_called" +#define ANNOUNCER_MSG_SHUTTLE_EMERG_RECALLED "announcer_msg_emergency_shuttle_recalled" + +#define ANNOUNCER_MSG_NIGHTSHIFT_START "announcer_msg_nightshift_start" +#define ANNOUNCER_MSG_NIGHTSHIFT_END "announcer_msg_nightshift_end" + +#define ANNOUNCER_MSG_NEW_AI "announcer_msg_new_ai" +#define ANNOUNCER_MSG_NEW_COMMAND_REPORT "announcer_msg_new_command_report" +#define ANNOUNCER_MSG_SECURITY_ADVISEMENT "announcer_msg_security_advisement" + +#define ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS "announcer_msg_unidentified_lifesigns" +#define ANNOUNCER_MSG_BIOHAZARD_LOW "announcer_msg_biohazard_low" +#define ANNOUNCER_MSG_BIOHAZARD_FIVE "announcer_msg_biohazard_five" +#define ANNOUNCER_MSG_BIOHAZARD_SEVEN "announcer_msg_biohazard_seven" +#define ANNOUNCER_MSG_RADIATION "announcer_msg_radiation" +#define ANNOUNCER_MSG_SPACETIME_ANOMS "announcer_msg_spacetime_anoms" +#define ANNOUNCER_MSG_GRAV_ANOMS "announcer_msg_grav_anoms" +#define ANNOUNCER_MSG_ELECTRICAL_STORM "announcer_msg_electrical_storm" +#define ANNOUNCER_MSG_IONSTORM "announcer_msg_ionstorm" +#define ANNOUNCER_MSG_METEORS "announcer_msg_meteors" + +#define ANNOUNCER_MSG_AURORA_START "announcer_msg_aurora_start" +#define ANNOUNCER_MSG_AURORA_END "announcer_msg_aurora_end" + +#define ANNOUNCER_MSG_GRAVITY_OFF "announcer_msg_gravity_off" +#define ANNOUNCER_MSG_GRAVITY_ON "announcer_msg_gravity_on" + +#define ANNOUNCER_MSG_POWER_OFF "announcer_msg_power_off" +#define ANNOUNCER_MSG_POWER_ON "announcer_msg_power_on" + +#define ANNOUNCER_MSG_STRIKETEAM_SUCCESS "announcer_msg_striketeam_success" +#define ANNOUNCER_MSG_STRIKETEAM_FAIL "announcer_msg_striketeam_fail" + +#define ANNOUNCER_MSG_DEBRISFIELD_START "announcer_msg_debrisfield_start" +#define ANNOUNCER_MSG_DEBRISFIELD_END "announcer_msg_debrisfield_end" + +#define ANNOUNCER_MSG_WIRING_FAULT_START "ANNOUNCER_MSG_WIRING_FAULT_START" +#define ANNOUNCER_MSG_WIRING_FAULT_END "ANNOUNCER_MSG_WIRING_FAULT_END" + +#define ANNOUNCER_MSG_DISTRESS_SIGNAL "announcer_msg_distress_signal" +#define ANNOUNCER_MSG_IANSTORM "announcer_msg_here_comes_the_boy" +#define ANNOUNCER_MSG_SUPERMATTER_CASCADE "announcer_msg_supermatter_cascade" +#define ANNOUNCER_MSG_CLANG "announcer_msg_clang" +#define ANNOUNCER_MSG_BLUESPACE_ANOM "announcer_msg_bluespace_anom" +#define ANNOUNCER_MSG_DIMENSIONAL_ANOM "announcer_msg_dimensional_anom" +#define ANNOUNCER_MSG_BSA_FIRED "announcer_msg_bsa_strike" +#define ANNOUNCER_MSG_GASLEAK "announcer_msg_gasleak" +#define ANNOUNCER_MSG_VENDORVIRUS "announcer_msg_vendorvirus" +#define ANNOUNCER_MSG_COMMSBLACKOUT "announcer_msg_commsblackout" +#define ANNOUNCER_MSG_DRONEPOD "announcer_msg_dronepod" +#define ANNOUNCER_MSG_SHUTTLE_CRASHED "announcer_msg_shuttle_crash" +#define ANNOUNCER_MSG_POWERSPIKE "announcer_msg_powerspike" +#define ANNOUNCER_MSG_WINDOWBREAK "announcer_msg_windowbreak" +#define ANNOUNCER_MSG_GREYTIDEVIRUS "announcer_msg_greytidevirus" +#define ANNOUNCER_MSG_VERMIN_INFESTATION "announcer_msg_vermin_infestation" +#define ANNOUNCER_MSG_WALLROT "announcer_msg_wallrot" +#define ANNOUNCER_MSG_SUPPLYORDER "announcer_msg_supplyorder" +#define ANNOUNCER_MSG_WEATHER_ALERT "announcer_msg_weather_alert" + +// Sets the current voice for the station PA +GLOBAL_VAR_INIT(current_announcer_voice, ANNOUNCER_VOICE_CHOMP) //CHOMPEdit - Use our announcer + +// Set sound paths to null to explicitly disable a message from falling back to SS13 default +GLOBAL_LIST_INIT(announcer_library, list( + ANNOUNCER_VOICE_SS13 = list( + ANNOUNCER_MSG_ROUND_START = 'sound/AI/welcome.ogg', + + ANNOUNCER_MSG_SHUTTLE_ENDROUND_DOCK = null, + ANNOUNCER_MSG_SHUTTLE_ENDROUND_CALLED = null, + ANNOUNCER_MSG_SHUTTLE_ENDROUND_RETURNING = null, + + ANNOUNCER_MSG_SHUTTLE_EMERG_DOCK = 'sound/AI/shuttledock.ogg', + ANNOUNCER_MSG_SHUTTLE_EMERG_CALLED = 'sound/AI/shuttlecalled.ogg', + ANNOUNCER_MSG_SHUTTLE_EMERG_RECALLED = 'sound/AI/shuttlerecalled.ogg', + + ANNOUNCER_MSG_NIGHTSHIFT_START = 'sound/AI/dim_lights.ogg', + ANNOUNCER_MSG_NIGHTSHIFT_END = 'sound/AI/bright_lights.ogg', + + ANNOUNCER_MSG_NEW_AI = 'sound/AI/newai.ogg', + ANNOUNCER_MSG_NEW_COMMAND_REPORT = 'sound/AI/commandreport.ogg', + ANNOUNCER_MSG_SECURITY_ADVISEMENT = null, + + ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS = 'sound/AI/aliens.ogg', + ANNOUNCER_MSG_BIOHAZARD_LOW = null, + ANNOUNCER_MSG_BIOHAZARD_FIVE = 'sound/AI/outbreak5.ogg', + ANNOUNCER_MSG_BIOHAZARD_SEVEN = 'sound/AI/outbreak7.ogg', + ANNOUNCER_MSG_RADIATION = 'sound/AI/radiation.ogg', + ANNOUNCER_MSG_SPACETIME_ANOMS = 'sound/AI/spanomalies.ogg', + ANNOUNCER_MSG_GRAV_ANOMS = 'sound/AI/granomalies.ogg', + ANNOUNCER_MSG_IONSTORM = 'sound/AI/ionstorm.ogg', + ANNOUNCER_MSG_METEORS = 'sound/AI/meteors.ogg', + + ANNOUNCER_MSG_AURORA_START = 'sound/AI/aurora.ogg', + ANNOUNCER_MSG_AURORA_END = 'sound/AI/aurora_end.ogg', + + ANNOUNCER_MSG_POWER_OFF = 'sound/AI/poweroff.ogg', + ANNOUNCER_MSG_POWER_ON = 'sound/AI/poweron.ogg', + + ANNOUNCER_MSG_GRAVITY_OFF = null, + ANNOUNCER_MSG_GRAVITY_ON = null, + + ANNOUNCER_MSG_WIRING_FAULT_START = null, + ANNOUNCER_MSG_WIRING_FAULT_END = null, + + ANNOUNCER_MSG_STRIKETEAM_SUCCESS = null, + ANNOUNCER_MSG_STRIKETEAM_FAIL = null, + + ANNOUNCER_MSG_DEBRISFIELD_START = null, + ANNOUNCER_MSG_DEBRISFIELD_END = null, + + ANNOUNCER_MSG_ELECTRICAL_STORM = null, + ANNOUNCER_MSG_DISTRESS_SIGNAL = 'sound/AI/sos.ogg', + ANNOUNCER_MSG_IANSTORM = 'sound/AI/ian_storm.ogg', + ANNOUNCER_MSG_SUPERMATTER_CASCADE = null, + ANNOUNCER_MSG_CLANG = null, + ANNOUNCER_MSG_BLUESPACE_ANOM = null, + ANNOUNCER_MSG_DIMENSIONAL_ANOM = null, + ANNOUNCER_MSG_BSA_FIRED = null, + ANNOUNCER_MSG_GASLEAK = null, + ANNOUNCER_MSG_VENDORVIRUS = null, + ANNOUNCER_MSG_COMMSBLACKOUT = 'sound/misc/interference.ogg', + ANNOUNCER_MSG_DRONEPOD = null, + ANNOUNCER_MSG_SHUTTLE_CRASHED = null, + ANNOUNCER_MSG_POWERSPIKE = null, + ANNOUNCER_MSG_WINDOWBREAK = null, + ANNOUNCER_MSG_GREYTIDEVIRUS = null, + ANNOUNCER_MSG_VERMIN_INFESTATION = null, + ANNOUNCER_MSG_WALLROT = null, + ANNOUNCER_MSG_SUPPLYORDER = null, + ANNOUNCER_MSG_WEATHER_ALERT = null, + ), + ANNOUNCER_VOICE_VIRGO = list( + ANNOUNCER_MSG_ROUND_START = 'sound/AI/welcome_virgo.ogg', // Skie + + ANNOUNCER_MSG_SHUTTLE_ENDROUND_DOCK = 'sound/AI/tramarrived.ogg', + ANNOUNCER_MSG_SHUTTLE_ENDROUND_CALLED = 'sound/AI/tramcalled.ogg', + ANNOUNCER_MSG_SHUTTLE_ENDROUND_RETURNING = 'sound/AI/tramdepart.ogg', + + ANNOUNCER_MSG_NEW_AI = null, // disabled + ), + //CHOMPEdit Start + ANNOUNCER_VOICE_CHOMP = list( + //Including ALL them here for easy reference. + //If it's commented out, that means we use default. + //If it's CHOMP Disabled, that means we null (disable) it + //If it's CHOMP Specific Sound, that means we have a custom sound. + +// ANNOUNCER_MSG_ROUND_START = 'sound/AI/welcome.ogg', + + ANNOUNCER_MSG_SHUTTLE_ENDROUND_DOCK = null, //CHOMP Disable + ANNOUNCER_MSG_SHUTTLE_ENDROUND_CALLED = null, //CHOMP Disable + ANNOUNCER_MSG_SHUTTLE_ENDROUND_RETURNING = null, //CHOMP Disable + +// ANNOUNCER_MSG_SHUTTLE_EMERG_DOCK = 'sound/AI/shuttledock.ogg', +// ANNOUNCER_MSG_SHUTTLE_EMERG_CALLED = 'sound/AI/shuttlecalled.ogg', +// ANNOUNCER_MSG_SHUTTLE_EMERG_RECALLED = 'sound/AI/shuttlerecalled.ogg', + + ANNOUNCER_MSG_NIGHTSHIFT_START = null, //CHOMP Disable + ANNOUNCER_MSG_NIGHTSHIFT_END = null, //CHOMP Disable + + ANNOUNCER_MSG_NEW_AI = null, //CHOMP Disable - Same as Virgo +// ANNOUNCER_MSG_NEW_COMMAND_REPORT = 'sound/AI/commandreport.ogg', +// ANNOUNCER_MSG_SECURITY_ADVISEMENT = null, + +// ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS = 'sound/AI/aliens.ogg', +// ANNOUNCER_MSG_BIOHAZARD_LOW = null, +// ANNOUNCER_MSG_BIOHAZARD_FIVE = 'sound/AI/outbreak5.ogg', +// ANNOUNCER_MSG_BIOHAZARD_SEVEN = 'sound/AI/outbreak7.ogg', +// ANNOUNCER_MSG_RADIATION = 'sound/AI/radiation.ogg', +// ANNOUNCER_MSG_SPACETIME_ANOMS = 'sound/AI/spanomalies.ogg', +// ANNOUNCER_MSG_GRAV_ANOMS = 'sound/AI/granomalies.ogg', +// ANNOUNCER_MSG_IONSTORM = 'sound/AI/ionstorm.ogg', +// ANNOUNCER_MSG_METEORS = 'sound/AI/meteors.ogg', + + ANNOUNCER_MSG_AURORA_START = null, //CHOMP Disable + ANNOUNCER_MSG_AURORA_END = null, //CHOMP Disable + +// ANNOUNCER_MSG_POWER_OFF = 'sound/AI/poweroff.ogg', +// ANNOUNCER_MSG_POWER_ON = 'sound/AI/poweron.ogg', + +// ANNOUNCER_MSG_GRAVITY_OFF = null, +// ANNOUNCER_MSG_GRAVITY_ON = null, + +// ANNOUNCER_MSG_WIRING_FAULT_START = null, +// ANNOUNCER_MSG_WIRING_FAULT_END = null, + +// ANNOUNCER_MSG_STRIKETEAM_SUCCESS = null, +// ANNOUNCER_MSG_STRIKETEAM_FAIL = null, + +// ANNOUNCER_MSG_DEBRISFIELD_START = null, +// ANNOUNCER_MSG_DEBRISFIELD_END = null, + +// ANNOUNCER_MSG_ELECTRICAL_STORM = null, + ANNOUNCER_MSG_DISTRESS_SIGNAL = 'sound/AI/sos_ch.ogg', //CHOMP Specific Sound + ANNOUNCER_MSG_IANSTORM = null, //CHOMP Disable +// ANNOUNCER_MSG_SUPERMATTER_CASCADE = null, +// ANNOUNCER_MSG_CLANG = null, +// ANNOUNCER_MSG_BLUESPACE_ANOM = null, +// ANNOUNCER_MSG_DIMENSIONAL_ANOM = null, +// ANNOUNCER_MSG_BSA_FIRED = null, +// ANNOUNCER_MSG_GASLEAK = null, +// ANNOUNCER_MSG_VENDORVIRUS = null, +// ANNOUNCER_MSG_COMMSBLACKOUT = 'sound/misc/interference.ogg', +// ANNOUNCER_MSG_DRONEPOD = null, +// ANNOUNCER_MSG_SHUTTLE_CRASHED = null, +// ANNOUNCER_MSG_POWERSPIKE = null, +// ANNOUNCER_MSG_WINDOWBREAK = null, +// ANNOUNCER_MSG_GREYTIDEVIRUS = null, +// ANNOUNCER_MSG_VERMIN_INFESTATION = null +// ANNOUNCER_MSG_WALLROT = null +// ANNOUNCER_MSG_SUPPLYORDER = null, +// ANNOUNCER_MSG_WEATHER_ALERT = null, + ), //CHOMPEdit End +)) + +#define AIRLOCK_MSG_OUT "airlock_out" +#define AIRLOCK_MSG_IN "airlock_in" +#define AIRLOCK_MSG_BEEP "airlock_beep" +#define AIRLOCK_MSG_END_OUT "airlock_end_out" +#define AIRLOCK_MSG_END_IN "airlock_end_in" diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index 21db9fda28..4bbdefdc03 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -335,8 +335,7 @@ Turf and target are seperate in case you want to teleport some distance from a t if(isAI(src)) var/mob/living/silicon/ai/A = src oldname = null//don't bother with the records update crap - //to_world(span_world("[newname] is the AI!")) - //world << sound('sound/AI/newai.ogg') + play_simple_announcement(world, ANNOUNCER_MSG_NEW_AI) // Set eyeobj name A.SetName(newname) diff --git a/code/controllers/subsystems/emergency_shuttle.dm b/code/controllers/subsystems/emergency_shuttle.dm index 731eb9d15a..17d370f764 100644 --- a/code/controllers/subsystems/emergency_shuttle.dm +++ b/code/controllers/subsystems/emergency_shuttle.dm @@ -28,9 +28,9 @@ SUBSYSTEM_DEF(emergency_shuttle) VAR_PRIVATE/list/current_run /datum/controller/subsystem/emergency_shuttle/Initialize() - emergency_shuttle_docked = new(0, new_sound = sound('sound/AI/shuttledock.ogg')) - emergency_shuttle_called = new(0, new_sound = sound('sound/AI/shuttlecalled.ogg')) - emergency_shuttle_recalled = new(0, new_sound = sound('sound/AI/shuttlerecalled.ogg')) + emergency_shuttle_docked = new() + emergency_shuttle_called = new() + emergency_shuttle_recalled = new() return SS_INIT_SUCCESS /datum/controller/subsystem/emergency_shuttle/fire(resumed) @@ -72,9 +72,9 @@ SUBSYSTEM_DEF(emergency_shuttle) var/estimated_time = round(estimate_launch_time()/60,1) 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")) + emergency_shuttle_docked.Announce(replacetext(replacetext(using_map.emergency_shuttle_docked_message, "%dock_name%", "[using_map.dock_name]"), "%ETD%", "[estimated_time] minute\s"), new_sound = ANNOUNCER_MSG_SHUTTLE_EMERG_DOCK) else - GLOB.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'*/) // CHOMPEdit + GLOB.priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_docked_message, "%dock_name%", "[using_map.dock_name]"), "%ETD%", "[estimated_time] minute\s"), "Transfer System", ANNOUNCER_MSG_SHUTTLE_ENDROUND_DOCK) //arm the escape pods if(!evac) @@ -113,7 +113,7 @@ SUBSYSTEM_DEF(emergency_shuttle) var/estimated_time = round(estimate_arrival_time()/60, 1) evac = TRUE - emergency_shuttle_called.Announce(replacetext(using_map.emergency_shuttle_called_message, "%ETA%", "[estimated_time] minute\s")) + emergency_shuttle_called.Announce(replacetext(using_map.emergency_shuttle_called_message, "%ETA%", "[estimated_time] minute\s"), new_sound = ANNOUNCER_MSG_SHUTTLE_EMERG_CALLED) for(var/type, area in GLOB.areas_by_type) if(istype(area, /area/hallway)) var/area/hallway/our_hallway = area @@ -135,7 +135,7 @@ SUBSYSTEM_DEF(emergency_shuttle) shuttle.move_time = SHUTTLE_TRANSIT_DURATION var/estimated_time = round(estimate_arrival_time()/60, 1) - GLOB.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'*/) // CHOMPEdit + GLOB.priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_called_message, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s"), "Transfer System", ANNOUNCER_MSG_SHUTTLE_ENDROUND_CALLED) SSatc.shift_ending() //recalls the shuttle @@ -147,7 +147,7 @@ SUBSYSTEM_DEF(emergency_shuttle) shuttle.cancel_launch(src) if(evac) - emergency_shuttle_recalled.Announce(using_map.emergency_shuttle_recall_message) + emergency_shuttle_recalled.Announce(using_map.emergency_shuttle_recall_message, new_sound = ANNOUNCER_MSG_SHUTTLE_EMERG_RECALLED) for(var/type, area in GLOB.areas_by_type) if(istype(area, /area/hallway)) diff --git a/code/controllers/subsystems/nightshift.dm b/code/controllers/subsystems/nightshift.dm index b76c322568..3ccf297670 100644 --- a/code/controllers/subsystems/nightshift.dm +++ b/code/controllers/subsystems/nightshift.dm @@ -29,18 +29,14 @@ SUBSYSTEM_DEF(nightshift) var/announce_z if(length(using_map.station_levels)) announce_z = pick(using_map.station_levels) - /* CHOMPEdit - TTSless //VOREStation Edit - TTS var/pickedsound if(!high_security_mode) if(nightshift_active) - pickedsound = 'sound/AI/dim_lights.ogg' + pickedsound = ANNOUNCER_MSG_NIGHTSHIFT_START else - pickedsound = 'sound/AI/bright_lights.ogg' - */ - GLOB.priority_announcement.Announce(message, new_title = "Automated Lighting System Announcement", /* new_sound = pickedsound,*/ zlevel = announce_z) - // CHOMPEdit End - //VOREStation Edit End + pickedsound = ANNOUNCER_MSG_NIGHTSHIFT_END + GLOB.priority_announcement.Announce(message, new_title = "Automated Lighting System Announcement", new_sound = pickedsound, zlevel = announce_z) /datum/controller/subsystem/nightshift/proc/check_nightshift(forced) //This is called from elsewhere, like setting the alert levels, sadly var/emergency = GLOB.security_level > SEC_LEVEL_GREEN diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index 173ccda950..07d5fc285a 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -236,8 +236,7 @@ SUBSYSTEM_DEF(ticker) INVOKE_ASYNC(SSdbcore, TYPE_PROC_REF(/datum/controller/subsystem/dbcore,SetRoundStart)) to_chat(world, span_notice(span_bold("Welcome to [station_name()], enjoy your stay!"))) - world << sound('sound/AI/welcome.ogg') // Skie - //SEND_SOUND(world, sound(SSstation.announcer.get_rand_welcome_sound())) + play_simple_announcement(world, ANNOUNCER_MSG_ROUND_START) current_state = GAME_STATE_PLAYING Master.SetRunLevel(RUNLEVEL_GAME) diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index bdaacf8c15..4eeaabed09 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -35,8 +35,11 @@ GLOBAL_DATUM_INIT(command_announcement, /datum/announcement/priority/command, ne /datum/announcement/proc/Announce(var/message as text, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0, var/zlevel) if(!message) return + var/message_title = new_title ? new_title : title var/message_sound = new_sound ? new_sound : sound + if(istext(message_sound)) // Get the announcer voice line if it's a key + message_sound = announcer_library_get_voiceline(message_sound) if(!msg_sanitized) message = sanitize(message, extra = 0) @@ -107,14 +110,26 @@ GLOBAL_DATUM_INIT(command_announcement, /datum/announcement/priority/command, ne announce_newscaster_news(news) /datum/announcement/proc/PlaySound(var/message_sound, var/list/zlevels) + var/preamble_sound = announcer_message_preamble() + if(preamble_sound) // Downstreams might disable this + for(var/mob/M in GLOB.player_list) + if(zlevels && !(M.z in zlevels)) + continue + if(!isnewplayer(M) && !isdeaf(M)) + SEND_SOUND(M, preamble_sound) + if(!message_sound) return + addtimer(CALLBACK(src, PROC_REF(internal_postfire_play_sound), message_sound, zlevels), announcer_message_preamble_delay()) +/datum/announcement/proc/internal_postfire_play_sound(var/message_sound, var/list/zlevels) + SHOULD_NOT_OVERRIDE(TRUE) + PRIVATE_PROC(TRUE) for(var/mob/M in GLOB.player_list) if(zlevels && !(M.z in zlevels)) continue if(!isnewplayer(M) && !isdeaf(M)) - M << message_sound + SEND_SOUND(M, message_sound) /datum/announcement/proc/Sound(var/message_sound, var/list/zlevels) PlaySound(message_sound, zlevels) @@ -128,8 +143,8 @@ GLOBAL_DATUM_INIT(command_announcement, /datum/announcement/priority/command, ne // Format currently matches that of newscaster feeds: Registered Name (Assigned Rank) return I.assignment ? "[I.registered_name] ([I.assignment])" : I.registered_name -/proc/level_seven_announcement() // Chomp note - Do not use this. - GLOB.command_announcement.Announce("Confirmed outbreak of level 7 biohazard aboard \the [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg') +/proc/level_seven_announcement() + GLOB.command_announcement.Announce("Confirmed outbreak of level 7 biohazard aboard \the [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = ANNOUNCER_MSG_BIOHAZARD_SEVEN) /proc/ion_storm_announcement() GLOB.command_announcement.Announce("It has come to our attention that \the [station_name()] passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert") diff --git a/code/defines/procs/announce_library.dm b/code/defines/procs/announce_library.dm new file mode 100644 index 0000000000..0f9cca19ba --- /dev/null +++ b/code/defines/procs/announce_library.dm @@ -0,0 +1,54 @@ +/proc/announcer_library_get_voiceline(msg_key) + // Silence bot + if(GLOB.current_announcer_voice == ANNOUNCER_VOICE_SILENT) + return null + + // Attempts to use voice lines in the currently chosen announces + // Otherwise falls back to station default + // Passing null to datum/announcement/PlayMessage() will only pay the preamble message + var/play_msg_sound = null + + // Check from our current announcer + var/found_key = FALSE + var/list/voice_library = GLOB.announcer_library[GLOB.current_announcer_voice] + if(islist(voice_library)) // Announcer needs to exist + if(msg_key in voice_library) + play_msg_sound = voice_library[msg_key] + found_key = TRUE + + // Attempt fallback + if(!found_key) // Don't use null, if the key was found and was INTENTIONALLY null, then the announcement line was disabled! + voice_library = GLOB.announcer_library[ANNOUNCER_VOICE_SS13] // Default + if(msg_key in voice_library) + play_msg_sound = voice_library[msg_key] + + return play_msg_sound + +// Replaces a bunch of directly sent sounds to clients +/proc/play_simple_announcement(target, msg_key) + var/message_sound = announcer_library_get_voiceline(msg_key) + if(message_sound) + SEND_SOUND(target, message_sound) + +// Edit these for custom AI message start sounds +/proc/announcer_message_preamble() + return 'sound/AI/preamble.ogg' + +/proc/announcer_message_preamble_delay() + return 2.2 SECONDS // based on length of preamble.ogg + arbitrary delay + +// Airlocks are a bit snowflakey so they get special handling +/proc/announcer_airlock_message(context) + switch(context) + if(AIRLOCK_MSG_IN) + return 'sound/AI/airlockin.ogg' + if(AIRLOCK_MSG_OUT) + return 'sound/AI/airlockout.ogg' + + if(AIRLOCK_MSG_BEEP) + return 'sound/machines/2beep.ogg' + + if(AIRLOCK_MSG_END_OUT) + return 'sound/AI/airlockdone.ogg' + if(AIRLOCK_MSG_END_IN) + return 'sound/AI/airlockdone.ogg' diff --git a/code/game/antagonist/alien/borer.dm b/code/game/antagonist/alien/borer.dm index 0e9eb93506..f8099a48a4 100644 --- a/code/game/antagonist/alien/borer.dm +++ b/code/game/antagonist/alien/borer.dm @@ -22,7 +22,7 @@ GLOBAL_DATUM(borers, /datum/antagonist/borer) spawn_announcement = "Unidentified lifesigns detected coming aboard the station. Secure any exterior access, including ducting and ventilation." spawn_announcement_title = "Lifesign Alert" - spawn_announcement_sound = 'sound/AI/aliens.ogg' + spawn_announcement_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS spawn_announcement_delay = 5000 /datum/antagonist/borer/New() diff --git a/code/game/antagonist/alien/xenomorph.dm b/code/game/antagonist/alien/xenomorph.dm index 6744be62e1..f0ffd57c8d 100644 --- a/code/game/antagonist/alien/xenomorph.dm +++ b/code/game/antagonist/alien/xenomorph.dm @@ -18,7 +18,7 @@ GLOBAL_DATUM(xenomorphs, /datum/antagonist/xenos) spawn_announcement = "Unidentified lifesigns detected coming aboard the station. Secure any exterior access, including ducting and ventilation." spawn_announcement_title = "Lifesign Alert" - spawn_announcement_sound = 'sound/AI/aliens.ogg' + spawn_announcement_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS spawn_announcement_delay = 5000 /datum/antagonist/xenos/New(var/no_reference) diff --git a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm index 46ed72f7fe..673734602c 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm @@ -72,7 +72,7 @@ GLOBAL_VAR_INIT(universe_has_ended, 0) The access requirements on the Asteroid Shuttles' consoles have now been revoked. "} - GLOB.priority_announcement.Announce(txt,"SUPERMATTER CASCADE DETECTED") + GLOB.priority_announcement.Announce(txt,"SUPERMATTER CASCADE DETECTED", ANNOUNCER_MSG_SUPERMATTER_CASCADE) for(var/obj/machinery/computer/shuttle_control/C in GLOB.machines) if(istype(C, /obj/machinery/computer/shuttle_control/research) || istype(C, /obj/machinery/computer/shuttle_control/mining)) diff --git a/code/game/gamemodes/epidemic/epidemic.dm b/code/game/gamemodes/epidemic/epidemic.dm index 38a245710e..6df7d17bd3 100644 --- a/code/game/gamemodes/epidemic/epidemic.dm +++ b/code/game/gamemodes/epidemic/epidemic.dm @@ -48,8 +48,7 @@ //New message handling won't hurt if someone enables epidemic post_comm_message("Cent. Com. CONFIDENTIAL REPORT", intercepttext) - - world << sound('sound/AI/commandreport.ogg') + play_simple_announcement(world, ANNOUNCER_MSG_NEW_COMMAND_REPORT) // add an extra law to the AI to make sure it cooperates with the heads var/extra_law = "Crew authorized to know of pathogen [virus_name]'s existence are: Heads of command. Do not allow unauthorized personnel to gain knowledge of [virus_name]. Aid authorized personnel in quarantining and neutrlizing the outbreak. This law overrides all other laws." @@ -63,8 +62,7 @@ intercepttext += span_bold("CRUISER WILL ARRIVE IN [round(cruiser_seconds()/60)] MINUTES") + "
" post_comm_message("Cent. Com. CONFIDENTIAL REPORT", intercepttext) - world << sound('sound/AI/commandreport.ogg') - + play_simple_announcement(world, ANNOUNCER_MSG_NEW_COMMAND_REPORT) /datum/game_mode/epidemic/post_setup() // make sure viral outbreak events don't happen on this mode diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index f510ef3241..26c6a70ad7 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -33,7 +33,7 @@ command_alert("Meteors have been detected on collision course with the station.", "Meteor Alert") for(var/mob/M in GLOB.player_list) if(!isnewplayer(M)) - M << sound('sound/AI/meteors.ogg') + play_simple_announcement(M, ANNOUNCER_MSG_METEORS) spawn(100) meteor_wave() spawn_meteors() @@ -45,7 +45,8 @@ command_alert("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert") for(var/mob/M in GLOB.player_list) if(!isnewplayer(M)) - M << sound('sound/AI/granomalies.ogg') + play_simple_announcement(M, ANNOUNCER_MSG_GRAV_ANOMS) + var/turf/T = pick(blobstart) var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 ) spawn(rand(50, 300)) @@ -53,7 +54,7 @@ /* if(3) //Leaving the code in so someone can try and delag it, but this event can no longer occur randomly, per SoS's request. --NEO command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert") - world << sound('sound/AI/spanomalies.ogg') + play_simple_announcement(world, ANNOUNCER_MSG_SPACETIME_ANOMS) var/turf/picked for(var/turf/simulated/floor/T in turfs) if(prob(20)) @@ -108,7 +109,7 @@ GLOBAL_VAR_INIT(hadevent, 0) /proc/alien_infestation(var/spawncount = 1) // -- TLE //command_alert("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert") - //world << sound('sound/AI/aliens.ogg') + // play_simple_announcement(world, ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) var/list/vents = list() for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in GLOB.machines) if(!temp_vent.welded && temp_vent.network && (temp_vent.loc.z in using_map.station_levels)) @@ -131,7 +132,7 @@ GLOBAL_VAR_INIT(hadevent, 0) spawncount-- spawn(rand(5000, 6000)) //Delayed announcements to keep the crew on their toes. - GLOB.command_announcement.Announce("Unidentified lifesigns detected coming aboard \the [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg') + GLOB.command_announcement.Announce("Unidentified lifesigns detected coming aboard \the [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /proc/high_radiation_event() @@ -161,7 +162,7 @@ GLOBAL_VAR_INIT(hadevent, 0) domutcheck(H,null,MUTCHK_FORCED) H.UpdateAppearance() sleep(100) - GLOB.command_announcement.Announce("High levels of radiation detected near \the [station_name()]. Please report to the Med-bay if you feel strange.", "Anomaly Alert", new_sound = 'sound/AI/radiation.ogg') + GLOB.command_announcement.Announce("High levels of radiation detected near \the [station_name()]. Please report to the Med-bay if you feel strange.", "Anomaly Alert", new_sound = ANNOUNCER_MSG_RADIATION) @@ -210,7 +211,7 @@ GLOBAL_VAR_INIT(hadevent, 0) new /mob/living/simple_mob/animal/space/carp(C.loc) //sleep(100) spawn(rand(300, 600)) //Delayed announcements to keep the crew on their toes. - GLOB.command_announcement.Announce("Unknown biological entities have been detected near \the [station_name()], please stand-by.", "Lifesign Alert", new_sound = 'sound/AI/commandreport.ogg') + GLOB.command_announcement.Announce("Unknown biological entities have been detected near \the [station_name()], please stand-by.", "Lifesign Alert", new_sound = ANNOUNCER_MSG_NEW_COMMAND_REPORT) /proc/lightsout(isEvent = 0, lightsoutAmount = 1,lightsoutRange = 25) //leave lightsoutAmount as 0 to break ALL lights if(isEvent) diff --git a/code/game/gamemodes/events/clang.dm b/code/game/gamemodes/events/clang.dm index d21a17363e..7afd471b10 100644 --- a/code/game/gamemodes/events/clang.dm +++ b/code/game/gamemodes/events/clang.dm @@ -4,7 +4,7 @@ endWhen = 35 /datum/event/clang/announce() - GLOB.command_announcement.Announce("Attention [station_name()]. Unknown ultra-dense high-velocity object entering stratosphere!", "General Alert") + GLOB.command_announcement.Announce("Attention [station_name()]. Unknown ultra-dense high-velocity object entering stratosphere!", "General Alert", ANNOUNCER_MSG_CLANG) if(seclevel2num(get_security_level()) < SEC_LEVEL_BLUE) set_security_level(SEC_LEVEL_BLUE) // OHNO diff --git a/code/game/gamemodes/events/power_failure.dm b/code/game/gamemodes/events/power_failure.dm index d9b93851e5..0189fe1804 100644 --- a/code/game/gamemodes/events/power_failure.dm +++ b/code/game/gamemodes/events/power_failure.dm @@ -1,7 +1,7 @@ /proc/power_failure(var/announce = 1) if(announce) - GLOB.command_announcement.Announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Critical Power Failure", new_sound = 'sound/AI/poweroff.ogg') + GLOB.command_announcement.Announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Critical Power Failure", new_sound = ANNOUNCER_MSG_POWER_OFF) var/list/skipped_areas = list(/area/ai) @@ -27,7 +27,7 @@ var/list/skipped_areas = list(/area/ai) if(announce) - GLOB.command_announcement.Announce("Power has been restored to [station_name()]. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg') + GLOB.command_announcement.Announce("Power has been restored to [station_name()]. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = ANNOUNCER_MSG_POWER_ON) for(var/obj/machinery/power/apc/C in GLOB.apcs) if(C.cell && (C.z in using_map.station_levels)) C.cell.charge = C.cell.maxcharge @@ -44,7 +44,7 @@ /proc/power_restore_quick(var/announce = 1) if(announce) - GLOB.command_announcement.Announce("All SMESs on [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg') + GLOB.command_announcement.Announce("All SMESs on [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = ANNOUNCER_MSG_POWER_ON) for(var/obj/machinery/power/smes/S in GLOB.smeses) if(isNotStationLevel(S.z)) continue diff --git a/code/game/gamemodes/events/wormholes.dm b/code/game/gamemodes/events/wormholes.dm index 34e26dc744..c4d42ca600 100644 --- a/code/game/gamemodes/events/wormholes.dm +++ b/code/game/gamemodes/events/wormholes.dm @@ -34,7 +34,7 @@ var/wormhole_min_duration = round((30 SECONDS) * wormhole_duration_modifier) //All ready. Announce that bad juju is afoot. - GLOB.command_announcement.Announce("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert", new_sound = 'sound/AI/spanomalies.ogg') + GLOB.command_announcement.Announce("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert", new_sound = ANNOUNCER_MSG_SPACETIME_ANOMS) //prob(20) can be approximated to 1 wormhole every 5 turfs! //admittedly less random but totally worth it >_< diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index 99039d6e1e..50fa8bade1 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -208,7 +208,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 + playsound(master, announcer_airlock_message(AIRLOCK_MSG_OUT), 100, 0) 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 @@ -217,7 +217,7 @@ else if(chamber_pressure <= target_pressure) state = STATE_PRESSURIZE - playsound(master, 'sound/AI/airlockin.ogg', 100, 0) //VOREStation Add - TTS + playsound(master, announcer_airlock_message(AIRLOCK_MSG_IN), 100, 0) 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,7 +227,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 + playsound(master, announcer_airlock_message(AIRLOCK_MSG_OUT), 100, 0) 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 @@ -235,7 +235,7 @@ memory["target_pressure"] = max(target_pressure, MIN_TARGET_PRESSURE) if(STATE_PRESSURIZE) - playsound(master, 'sound/machines/2beep.ogg', 100, 0) //VOREStation Add - TTS + playsound(master, announcer_airlock_message(AIRLOCK_MSG_BEEP), 100, 0) 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") @@ -247,11 +247,11 @@ cycleDoors(target_state) state = STATE_IDLE target_state = TARGET_NONE - playsound(master, 'sound/AI/airlockdone.ogg', 100, 0) //VOREStation Add - TTS + playsound(master, announcer_airlock_message(AIRLOCK_MSG_END_IN), 100, 0) if(STATE_DEPRESSURIZE) - playsound(master, 'sound/machines/2beep.ogg', 100, 0) //VOREStation Add - TTS + playsound(master, announcer_airlock_message(AIRLOCK_MSG_BEEP), 100, 0) if(memory["chamber_sensor_pressure"] <= max(memory["target_pressure"] * 1.05, MIN_TARGET_PRESSURE)) if(memory["pump_status"] != "off") signalPump(tag_airpump, 0) @@ -267,7 +267,7 @@ cycleDoors(target_state) state = STATE_IDLE target_state = TARGET_NONE - playsound(master, 'sound/AI/airlockdone.ogg', 100, 0) //VOREStation Add - TTS + playsound(master, announcer_airlock_message(AIRLOCK_MSG_END_OUT), 100, 0) memory["processing"] = (state != target_state) diff --git a/code/game/objects/effects/anomalies/anomalies_bluespace.dm b/code/game/objects/effects/anomalies/anomalies_bluespace.dm index b2379c52e9..e65b685a40 100644 --- a/code/game/objects/effects/anomalies/anomalies_bluespace.dm +++ b/code/game/objects/effects/anomalies/anomalies_bluespace.dm @@ -52,7 +52,7 @@ playsound(beacon_turf, 'sound/effects/phasein.ogg', 100, TRUE) var/datum/announcement/priority/announcement = new/datum/announcement/priority() - announcement.Announce("Massive bluespace translocation detected", "Anomaly Alert") + announcement.Announce("Massive bluespace translocation detected", "Anomaly Alert", ANNOUNCER_MSG_BLUESPACE_ANOM) var/list/flashers = list() for(var/mob/living/living in viewers(beacon_turf, null)) diff --git a/code/game/objects/effects/anomalies/anomalies_dimensional.dm b/code/game/objects/effects/anomalies/anomalies_dimensional.dm index cafd117a4a..38944cc7c4 100644 --- a/code/game/objects/effects/anomalies/anomalies_dimensional.dm +++ b/code/game/objects/effects/anomalies/anomalies_dimensional.dm @@ -80,7 +80,7 @@ var/turf/new_turf = placer.find_valid_turf(new_area) var/datum/announcement/priority/announcement = new/datum/announcement/priority() - announcement.Announce("Dimensional instability relocated. Expected location: [new_area.name].", "Anomaly Alert") + announcement.Announce("Dimensional instability relocated. Expected location: [new_area.name].", "Anomaly Alert", ANNOUNCER_MSG_DIMENSIONAL_ANOM) src.forceMove(new_turf) prepare_area() diff --git a/code/game/objects/items/devices/e_beacon.dm b/code/game/objects/items/devices/e_beacon.dm index 289004a529..5ffd95d605 100644 --- a/code/game/objects/items/devices/e_beacon.dm +++ b/code/game/objects/items/devices/e_beacon.dm @@ -53,7 +53,7 @@ or relay the message to those who can." for(var/zlevel in levels_for_distress) - GLOB.priority_announcement.Announce(message, new_title = "Automated Personal Distress Signal", new_sound = 'sound/AI/sos.ogg', zlevel = zlevel) + GLOB.priority_announcement.Announce(message, new_title = "Automated Personal Distress Signal", new_sound = ANNOUNCER_MSG_DISTRESS_SIGNAL, zlevel = zlevel) else to_chat(user,"\The [src] is already active, or is otherwise malfunctioning. There's nothing you can do but wait. And possibly pray.") diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 0b8c0cfb00..cc172b6529 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -222,7 +222,7 @@ ADMIN_VERB(cmd_admin_add_random_ai_law, R_ADMIN|R_FUN, "Add Random AI Law", "Add if(!show_log) return if(show_log == "Yes") - GLOB.command_announcement.Announce("Ion storm detected near \the [station_name()]. Please check all AI-controlled equipment for errors.", "Anomaly Alert", new_sound = 'sound/AI/ionstorm.ogg') + GLOB.command_announcement.Announce("Ion storm detected near \the [station_name()]. Please check all AI-controlled equipment for errors.", "Anomaly Alert", new_sound = ANNOUNCER_MSG_IONSTORM) IonStorm(0) feedback_add_details("admin_verb","ION") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -605,7 +605,7 @@ ADMIN_VERB(cmd_admin_add_freeform_ai_law, R_FUN, "Add Custom AI law", "Adds a cu var/show_log = tgui_alert(user, "Show ion message?", "Message", list("Yes", "No")) if(show_log == "Yes") - GLOB.command_announcement.Announce("Ion storm detected near the [station_name()]. Please check all AI-controlled equipment for errors.", "Anomaly Alert", new_sound = 'sound/AI/ionstorm.ogg') + GLOB.command_announcement.Announce("Ion storm detected near the [station_name()]. Please check all AI-controlled equipment for errors.", "Anomaly Alert", new_sound = ANNOUNCER_MSG_IONSTORM) feedback_add_details("admin_verb","IONC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! ADMIN_VERB_AND_CONTEXT_MENU(cmd_admin_rejuvenate, R_ADMIN|R_FUN|R_MOD, "Rejuvenate", "Fully restores the target mob.", ADMIN_CATEGORY_GAME, mob/living/target_mob in GLOB.mob_list) @@ -640,10 +640,10 @@ ADMIN_VERB(cmd_admin_create_centcom_report, R_ADMIN|R_SERVER|R_FUN, "Create Comm if(!confirm) return if(confirm == "Yes") - GLOB.command_announcement.Announce(input, customname, new_sound = 'sound/AI/commandreport.ogg', msg_sanitized = 1); + GLOB.command_announcement.Announce(input, customname, new_sound = ANNOUNCER_MSG_NEW_COMMAND_REPORT, msg_sanitized = 1); else to_chat(world, span_boldannounce("New [using_map.company_name] Update available at all communication consoles.")) - SEND_SOUND(world, sound('sound/AI/commandreport.ogg')) + play_simple_announcement(world, ANNOUNCER_MSG_NEW_COMMAND_REPORT) log_admin("[key_name(user)] has created a command report: [input]") message_admins("[key_name_admin(user)] has created a command report") diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index b5f8102501..936dcb8be7 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -310,11 +310,11 @@ ADMIN_VERB(secrets, R_HOLDER, "Secrets", "Abuse harder than you ever have before if(GLOB.gravity_is_on) log_admin("[key_name(holder)] toggled gravity on.", 1) message_admins(span_notice("[key_name_admin(holder)] toggled gravity on."), 1) - GLOB.command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.") + GLOB.command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", ANNOUNCER_MSG_GRAVITY_ON) else log_admin("[key_name(holder)] toggled gravity off.", 1) message_admins(span_notice("[key_name_admin(holder)] toggled gravity off."), 1) - GLOB.command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.") + GLOB.command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.", ANNOUNCER_MSG_GRAVITY_OFF) if("tripleAI") if(!is_funmin) return diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 368a5d8c71..12efba2764 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -168,11 +168,11 @@ ADMIN_VERB(response_team, R_ADMIN|R_MOD|R_EVENT, "Dispatch Emergency Response Te // there's only a certain chance a team will be sent if(!prob(send_team_chance)) - GLOB.command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. Unfortunately, we were unable to send one at this time.", "[using_map.boss_name]") + GLOB.command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. Unfortunately, we were unable to send one at this time.", "[using_map.boss_name]", ANNOUNCER_MSG_STRIKETEAM_FAIL) GLOB.can_call_ert = 0 // Only one call per round, ladies. return if(GLOB.silent_ert == 0) - GLOB.command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. We will prepare and send one as soon as possible.", "[using_map.boss_name]") + GLOB.command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. We will prepare and send one as soon as possible.", "[using_map.boss_name]", ANNOUNCER_MSG_STRIKETEAM_SUCCESS) GLOB.can_call_ert = 0 // Only one call per round, gentleman. GLOB.send_emergency_team = 1 diff --git a/code/modules/awaymissions/bluespaceartillery.dm b/code/modules/awaymissions/bluespaceartillery.dm index 5e2e780c3a..9a8ea9399e 100644 --- a/code/modules/awaymissions/bluespaceartillery.dm +++ b/code/modules/awaymissions/bluespaceartillery.dm @@ -42,7 +42,7 @@ if (usr.stat || usr.restrained()) return if(src.reload < 180) return if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - GLOB.command_announcement.Announce("Bluespace artillery fire detected. Brace for impact.") + GLOB.command_announcement.Announce("Bluespace artillery fire detected. Brace for impact.", new_sound = ANNOUNCER_MSG_BSA_FIRED) message_admins("[key_name_admin(usr)] has launched an artillery strike.", 1) var/list/L = list() for(var/turf/T in get_area_turfs(thearea.type)) diff --git a/code/modules/events/atmos_leak.dm b/code/modules/events/atmos_leak.dm index 4bfee27fb0..e7e9673d23 100644 --- a/code/modules/events/atmos_leak.dm +++ b/code/modules/events/atmos_leak.dm @@ -92,7 +92,7 @@ return /datum/event/atmos_leak/announce() - GLOB.command_announcement.Announce("Warning, hazardous [GLOB.gas_data.name[gas_type]] gas leak detected in \the [target_area], evacuate the area and contain the damage!", "Hazard Alert") + GLOB.command_announcement.Announce("Warning, hazardous [GLOB.gas_data.name[gas_type]] gas leak detected in \the [target_area], evacuate the area and contain the damage!", "Hazard Alert", ANNOUNCER_MSG_GASLEAK) /datum/event/atmos_leak/start() // Okay, time to actually put the gas in the room! diff --git a/code/modules/events/aurora_caelus.dm b/code/modules/events/aurora_caelus.dm index f70fc519dc..f038fe76b0 100644 --- a/code/modules/events/aurora_caelus.dm +++ b/code/modules/events/aurora_caelus.dm @@ -10,7 +10,7 @@ During this time, starlight will be bright but gentle, shifting between quiet green and blue colors. \ Any staff who would like to view these lights for themselves may proceed to the area nearest to them with viewing ports to open space. \ You will have approximately two minutes before the ions begin to reach the hull. \ - We hope you enjoy the lights.", "Nanotrasen Meteorology Division") //VOREStation Edit //CHOMPedit: removes announcement .ogg + We hope you enjoy the lights.", "Nanotrasen Meteorology Division", new_sound = ANNOUNCER_MSG_AURORA_START) /datum/event/aurora_caelus/start() affecting_z -= using_map.sealed_levels // Space levels only please! @@ -29,7 +29,7 @@ GLOB.command_announcement.Announce("The Aurora Caelus event is now ending. Starlight conditions have returned to normal, and the cloud has dissipated. \ Please return to your workplace and continue work as normal. \ Have a pleasant shift, [station_name()], and thank you for watching with us.", -"Nanotrasen Meteorology Division") //VOREStation Edit //CHOMPedit: removes announcement .ogg +"Nanotrasen Meteorology Division", new_sound = ANNOUNCER_MSG_AURORA_END) ..() /datum/event/aurora_caelus/overmap/announce() diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm index 94246ecd22..8c725a756f 100644 --- a/code/modules/events/brand_intelligence.dm +++ b/code/modules/events/brand_intelligence.dm @@ -16,7 +16,7 @@ /datum/event/brand_intelligence/announce() GLOB.command_announcement.Announce("An ongoing mass upload of malware for vendors has been detected onboard [station_name()], which appears to transmit \ - to other nearby vendors. The original infected machine is believed to be \a [originMachine.name].", "Vendor Service Alert") + to other nearby vendors. The original infected machine is believed to be \a [originMachine.name].", "Vendor Service Alert", ANNOUNCER_MSG_VENDORVIRUS) /datum/event/brand_intelligence/start() diff --git a/code/modules/events/comms_blackout.dm b/code/modules/events/comms_blackout.dm index 2ac1eaed42..2cd30b71f4 100644 --- a/code/modules/events/comms_blackout.dm +++ b/code/modules/events/comms_blackout.dm @@ -2,7 +2,7 @@ /proc/communications_blackout(var/silent = 1) if(!silent) - GLOB.command_announcement.Announce("Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you-BZZT", new_sound = 'sound/misc/interference.ogg') + GLOB.command_announcement.Announce("Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you-BZZT", new_sound = ANNOUNCER_MSG_COMMSBLACKOUT) else // AIs will always know if there's a comm blackout, rogue AIs could then lie about comm blackouts in the future while they shutdown comms for(var/mob/living/silicon/ai/A in GLOB.player_list) to_chat(A, span_boldwarning("
")) diff --git a/code/modules/events/communications_blackout.dm b/code/modules/events/communications_blackout.dm index f25c0eb7f0..8f947fd7c3 100644 --- a/code/modules/events/communications_blackout.dm +++ b/code/modules/events/communications_blackout.dm @@ -12,7 +12,7 @@ to_chat(A, span_boldwarning("
")) if(prob(30)) //most of the time, we don't want an announcement, so as to allow AIs to fake blackouts. - GLOB.command_announcement.Announce(alert, new_sound = sound('sound/misc/interference.ogg', volume=25)) + GLOB.command_announcement.Announce(alert, new_sound = ANNOUNCER_MSG_COMMSBLACKOUT) /datum/event/communications_blackout/start() diff --git a/code/modules/events/drone_pod_vr.dm b/code/modules/events/drone_pod_vr.dm index 3f02b01221..8df11da109 100644 --- a/code/modules/events/drone_pod_vr.dm +++ b/code/modules/events/drone_pod_vr.dm @@ -22,7 +22,7 @@ qdel(target_spot) /datum/event/drone_pod_drop/announce() - GLOB.command_announcement.Announce("An unidentified drone pod has been detected on a collision course towards the [location_name()]. Open and examine at your own risk.", "[location_name()] Sensor Network") + GLOB.command_announcement.Announce("An unidentified drone pod has been detected on a collision course towards the [location_name()]. Open and examine at your own risk.", "[location_name()] Sensor Network", ANNOUNCER_MSG_DRONEPOD) /datum/event/drone_pod_drop/start() if(!land_target) diff --git a/code/modules/events/dust.dm b/code/modules/events/dust.dm index 14281ac9ec..f81636750e 100644 --- a/code/modules/events/dust.dm +++ b/code/modules/events/dust.dm @@ -8,7 +8,7 @@ /datum/event/dust/announce() if(!victim) - GLOB.command_announcement.Announce("Debris resulting from activity on a nearby asteroid is approaching \the [location_name()]", "Dust Alert") // CHOMPEdit - Not in an asteroid + GLOB.command_announcement.Announce("Debris resulting from activity on a nearby asteroid is approaching \the [location_name()]", "Dust Alert", ANNOUNCER_MSG_DEBRISFIELD_START) // CHOMPEdit - Not in an asteroid /datum/event/dust/tick() if(prob(10)) @@ -17,7 +17,7 @@ /datum/event/dust/end() ..() if(!victim) - GLOB.command_announcement.Announce("\The [location_name()] is no longer in danger of impact from space debris.", "Dust Notice") + GLOB.command_announcement.Announce("\The [location_name()] is no longer in danger of impact from space debris.", "Dust Notice", ANNOUNCER_MSG_DEBRISFIELD_END) /datum/event/dust/proc/get_severity() switch(severity) diff --git a/code/modules/events/electrical_storm.dm b/code/modules/events/electrical_storm.dm index 54bccf0354..30063ff758 100644 --- a/code/modules/events/electrical_storm.dm +++ b/code/modules/events/electrical_storm.dm @@ -19,11 +19,11 @@ ..() switch(severity) if(EVENT_LEVEL_MUNDANE) - GLOB.command_announcement.Announce("A minor electrical storm has been detected near the [location_name()]. Please watch out for possible electrical discharges.", "[location_name()] Sensor Array") + GLOB.command_announcement.Announce("A minor electrical storm has been detected near the [location_name()]. Please watch out for possible electrical discharges.", "[location_name()] Sensor Array", ANNOUNCER_MSG_ELECTRICAL_STORM) if(EVENT_LEVEL_MODERATE) - GLOB.command_announcement.Announce("The [location_name()] is about to pass through an electrical storm. Please secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array") + GLOB.command_announcement.Announce("The [location_name()] is about to pass through an electrical storm. Please secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array", ANNOUNCER_MSG_ELECTRICAL_STORM) if(EVENT_LEVEL_MAJOR) - GLOB.command_announcement.Announce("Alert. A strong electrical storm has been detected in proximity of the [location_name()]. It is recommended to immediately secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array") + GLOB.command_announcement.Announce("Alert. A strong electrical storm has been detected in proximity of the [location_name()]. It is recommended to immediately secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array", ANNOUNCER_MSG_ELECTRICAL_STORM) /datum/event/electrical_storm/start() ..() diff --git a/code/modules/events/escaped_slimes.dm b/code/modules/events/escaped_slimes.dm index f1d5d7a407..d6a4bda422 100644 --- a/code/modules/events/escaped_slimes.dm +++ b/code/modules/events/escaped_slimes.dm @@ -25,7 +25,7 @@ spawncount = rand(2 * severity, 4 * severity) //spiderlings only have a 50% chance to grow big and strong /datum/event/escaped_slimes/announce() - command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg') + command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) sleep(15) command_announcement.Announce("The previously unidentified lifesigns have been identified as escaped slimes from Xenobiology. Secure any exterior access, including ducting and ventilation, taking care to return the slimes to their proper confinement.", "Lifesign Alert") diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index 905416b025..27c7a501af 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -137,7 +137,7 @@ GLOBAL_LIST_EMPTY(event_last_fired) command_alert("Meteors have been detected on collision course with the station.", "Meteor Alert") for(var/mob/M in GLOB.player_list) if(!isnewplayer(M)) - M << sound('sound/AI/meteors.ogg') + play_simple_announcement(M, ANNOUNCER_MSG_METEORS) spawn(100) meteor_wave(10) spawn_meteors() diff --git a/code/modules/events/gnat_migration.dm b/code/modules/events/gnat_migration.dm index 54e4df0efb..85c958fb35 100644 --- a/code/modules/events/gnat_migration.dm +++ b/code/modules/events/gnat_migration.dm @@ -20,7 +20,7 @@ announcement = "Massive migration of unknown biological entities has been detected near [location_name()], please stand-by." else announcement = "Unknown biological [spawned_gnat.len == 1 ? "entity has" : "entities have"] been detected near [location_name()], please stand-by." - GLOB.command_announcement.Announce(announcement, "Lifesign Alert") + GLOB.command_announcement.Announce(announcement, "Lifesign Alert", ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /datum/event/gnat_migration/tick() if(activeFor % 5 != 0) diff --git a/code/modules/events/gravity.dm b/code/modules/events/gravity.dm index b90395679e..e52ad10d11 100644 --- a/code/modules/events/gravity.dm +++ b/code/modules/events/gravity.dm @@ -21,10 +21,10 @@ /datum/event/gravity/announce() if(length(generators)) GLOB.command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled. \ - Please wait for the system to reinitialize, or contact your engineering department.", "Gravity Failure") + Please wait for the system to reinitialize, or contact your engineering department.", "Gravity Failure", ANNOUNCER_MSG_GRAVITY_OFF) else GLOB.command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled whilst the system \ - reinitializes. Please stand by while the gravity system reinitializes.", "Gravity Failure") + reinitializes. Please stand by while the gravity system reinitializes.", "Gravity Failure", ANNOUNCER_MSG_GRAVITY_OFF) /datum/event/gravity/start() GLOB.gravity_is_on = FALSE @@ -63,4 +63,4 @@ did_anything = TRUE if(did_anything) - GLOB.command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored") + GLOB.command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored", ANNOUNCER_MSG_GRAVITY_ON) diff --git a/code/modules/events/gravity_vr.dm b/code/modules/events/gravity_vr.dm index 050978c046..1fe7ea1d04 100644 --- a/code/modules/events/gravity_vr.dm +++ b/code/modules/events/gravity_vr.dm @@ -11,7 +11,7 @@ zLevels -= P.expected_z_levels /datum/event/gravity/announce() - command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled. Please wait for the system to reinitialize, or contact your engineering department.", "Gravity Failure") + command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled. Please wait for the system to reinitialize, or contact your engineering department.", "Gravity Failure", ANNOUNCER_MSG_GRAVITY_OFF) /datum/event/gravity/start() GLOB.gravity_is_on = FALSE @@ -35,4 +35,4 @@ did_anything = TRUE if(did_anything) - command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored") + command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored", ANNOUNCER_MSG_GRAVITY_ON) diff --git a/code/modules/events/grubinfestation_vr.dm b/code/modules/events/grubinfestation_vr.dm index 9245400d71..de919f9599 100644 --- a/code/modules/events/grubinfestation_vr.dm +++ b/code/modules/events/grubinfestation_vr.dm @@ -19,7 +19,7 @@ vents += temp_vent /datum/event/grub_infestation/announce() - GLOB.command_announcement.Announce("Solargrubs detected coming aboard [station_name()]. Please clear them out before this starts to affect productivity. All crew efforts are appreciated and encouraged.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg') + GLOB.command_announcement.Announce("Solargrubs detected coming aboard [station_name()]. Please clear them out before this starts to affect productivity. All crew efforts are appreciated and encouraged.", "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /datum/event/grub_infestation/start() while((spawncount >= 1) && vents.len) diff --git a/code/modules/events/ian_storm_vr.dm b/code/modules/events/ian_storm_vr.dm index d768689d19..b84d684b4a 100644 --- a/code/modules/events/ian_storm_vr.dm +++ b/code/modules/events/ian_storm_vr.dm @@ -4,7 +4,7 @@ endWhen = 3 /datum/event/ianstorm/announce() - GLOB.command_announcement.Announce("It has come to our attention that the [using_map.facility_type] passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert") //CHOMPedit: removes announcement .ogg + GLOB.command_announcement.Announce("It has come to our attention that the [using_map.facility_type] passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert", ANNOUNCER_MSG_IANSTORM) spawn(7 SECONDS) GLOB.command_announcement.Announce("Wait. No, that's wrong. The [using_map.facility_type] passed through an IAN storm!.", "Ian Alert") diff --git a/code/modules/events/infestation.dm b/code/modules/events/infestation.dm index 12fdf6094b..9e29c84250 100644 --- a/code/modules/events/infestation.dm +++ b/code/modules/events/infestation.dm @@ -165,7 +165,7 @@ /datum/event/infestation/announce() - GLOB.command_announcement.Announce("Bioscans indicate that [vermstring] have been breeding in [locstring]. Clear them out, before this starts to affect productivity.", "Vermin infestation") + GLOB.command_announcement.Announce("Bioscans indicate that [vermstring] have been breeding in [locstring]. Clear them out, before this starts to affect productivity.", "Vermin infestation", ANNOUNCER_MSG_VERMIN_INFESTATION) #undef LOC_KITCHEN #undef LOC_ATMOS @@ -177,7 +177,6 @@ #undef LOC_HANGAR2 #undef LOC_HANGAR3 #undef LOC_VAULT - #undef VERM_MICE #undef VERM_LIZARDS #undef VERM_SPIDERS // Chomp EDIT diff --git a/code/modules/events/meteors.dm b/code/modules/events/meteors.dm index 301fb5556a..a122ea9ce2 100644 --- a/code/modules/events/meteors.dm +++ b/code/modules/events/meteors.dm @@ -32,7 +32,7 @@ if(!victim) switch(severity) if(EVENT_LEVEL_MAJOR) - GLOB.command_announcement.Announce("Meteors have been detected on collision course with \the [location_name()].", "Meteor Alert", new_sound = 'sound/AI/meteors.ogg') + GLOB.command_announcement.Announce("Meteors have been detected on collision course with \the [location_name()].", "Meteor Alert", new_sound = ANNOUNCER_MSG_METEORS) else GLOB.command_announcement.Announce("\The [location_name()] is now in a meteor shower.", "Meteor Alert") diff --git a/code/modules/events/prison_break.dm b/code/modules/events/prison_break.dm index e4049341e1..206fc65327 100644 --- a/code/modules/events/prison_break.dm +++ b/code/modules/events/prison_break.dm @@ -37,7 +37,7 @@ /datum/event/prison_break/announce() if(areas && areas.len > 0) - GLOB.command_announcement.Announce("[pick("Gr3y.T1d3 virus","Malignant trojan")] detected in [station_name()] [(eventDept == "Security")? "imprisonment":"containment"] subroutines. Secure any compromised areas immediately. Involvement of [using_map.facility_type] AI is recommended.", "[eventDept] Alert") + GLOB.command_announcement.Announce("[pick("Gr3y.T1d3 virus","Malignant trojan")] detected in [station_name()] [(eventDept == "Security")? "imprisonment":"containment"] subroutines. Secure any compromised areas immediately. Involvement of [using_map.facility_type] AI is recommended.", "[eventDept] Alert", ANNOUNCER_MSG_GREYTIDEVIRUS) /datum/event/prison_break/start() diff --git a/code/modules/events/radiation_storm.dm b/code/modules/events/radiation_storm.dm index 006159345f..8d844a7410 100644 --- a/code/modules/events/radiation_storm.dm +++ b/code/modules/events/radiation_storm.dm @@ -9,7 +9,7 @@ var/postStartTicks = 0 /datum/event/radiation_storm/announce() - GLOB.command_announcement.Announce("High levels of radiation detected near \the [station_name()]. Please evacuate into one of the shielded maintenance tunnels or dorms. The area of the cafeteria is also shielded.", "Anomaly Alert", new_sound = 'sound/AI/radiation.ogg') //VOREStation Edit - Dorms ref //CHOMPEdit: Restored original message, TFF 16/4/20 - mention additional safe place(s) in announcement + GLOB.command_announcement.Announce("High levels of radiation detected near \the [station_name()]. Please evacuate into one of the shielded maintenance tunnels or dorms. The area of the cafeteria is also shielded.", "Anomaly Alert", new_sound = ANNOUNCER_MSG_RADIATION) //CHOMPEdit: Restored original message, TFF 16/4/20 - mention additional safe place(s) in announcement /datum/event/radiation_storm/start() make_maint_all_access() diff --git a/code/modules/events/ray_migration.dm b/code/modules/events/ray_migration.dm index af2cf2d38e..67da449a0d 100644 --- a/code/modules/events/ray_migration.dm +++ b/code/modules/events/ray_migration.dm @@ -20,7 +20,7 @@ announcement = "Massive migration of unknown biological entities has been detected near [location_name()], please stand-by." else announcement = "Unknown biological [spawned_ray.len == 1 ? "entity has" : "entities have"] been detected near [location_name()], please stand-by." - GLOB.command_announcement.Announce(announcement, "Lifesign Alert") + GLOB.command_announcement.Announce(announcement, "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /datum/event/ray_migration/tick() if(activeFor % 5 != 0) diff --git a/code/modules/events/rogue_drones.dm b/code/modules/events/rogue_drones.dm index 5bb8b8012b..4b6f677b54 100644 --- a/code/modules/events/rogue_drones.dm +++ b/code/modules/events/rogue_drones.dm @@ -36,8 +36,7 @@ msg = "A passing derelict ship's drone defense systems have just activated. If any are sighted in the area, use caution." //CHOMPStation Edit: Restored original message. if(5) msg = "We're detecting a swarm of small objects approaching your [using_map.facility_type]. Most likely a bunch of drones. Please exercise caution if you see any." - //CHOMPStation Edit End - GLOB.command_announcement.Announce(msg, "Rogue drone alert") + GLOB.command_announcement.Announce(msg, "Rogue drone alert", new_sound = ANNOUNCER_MSG_DRONEPOD) /datum/event/rogue_drone/end() var/num_recovered = 0 diff --git a/code/modules/events/shark_migration.dm b/code/modules/events/shark_migration.dm index 6ca088eb1b..ffa840ae83 100644 --- a/code/modules/events/shark_migration.dm +++ b/code/modules/events/shark_migration.dm @@ -20,7 +20,7 @@ announcement = "Massive migration of unknown biological entities has been detected near [location_name()], please stand-by." else announcement = "Unknown biological [spawned_shark.len == 1 ? "entity has" : "entities have"] been detected near [location_name()], please stand-by." - GLOB.command_announcement.Announce(announcement, "Lifesign Alert") + GLOB.command_announcement.Announce(announcement, "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /datum/event/shark_migration/tick() if(activeFor % 5 != 0) diff --git a/code/modules/events/solar_storm.dm b/code/modules/events/solar_storm.dm index 6cb954564e..c24a1dfd0c 100644 --- a/code/modules/events/solar_storm.dm +++ b/code/modules/events/solar_storm.dm @@ -9,7 +9,7 @@ endWhen = startWhen + rand(30,90) + rand(30,90) //2-6 minute duration /datum/event/solar_storm/announce() - GLOB.command_announcement.Announce("A solar storm has been detected approaching \the [station_name()]. Please halt all EVA activites immediately and return to the interior of the [using_map.facility_type].", "Anomaly Alert", new_sound = 'sound/AI/radiation.ogg') + GLOB.command_announcement.Announce("A solar storm has been detected approaching \the [station_name()]. Please halt all EVA activites immediately and return to the interior of the [using_map.facility_type].", "Anomaly Alert", new_sound = ANNOUNCER_MSG_RADIATION) adjust_solar_output(1.5) /datum/event/solar_storm/proc/adjust_solar_output(var/mult = 1) diff --git a/code/modules/events/spacefish_migration.dm b/code/modules/events/spacefish_migration.dm index 5453599973..442a77422f 100644 --- a/code/modules/events/spacefish_migration.dm +++ b/code/modules/events/spacefish_migration.dm @@ -35,7 +35,7 @@ announcement = "Massive migration of unknown biological entities has been detected near [location_name()], please stand-by." else announcement = "Unknown biological [spawned_fish.len == 1 ? "entity has" : "entities have"] been detected near [location_name()], please stand-by." - GLOB.command_announcement.Announce(announcement, "Lifesign Alert") + GLOB.command_announcement.Announce(announcement, "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /datum/event/spacefish_migration/tick() if(activeFor % 5 != 0) diff --git a/code/modules/events/spider_infestation.dm b/code/modules/events/spider_infestation.dm index c33d3ace20..bb9da335b0 100644 --- a/code/modules/events/spider_infestation.dm +++ b/code/modules/events/spider_infestation.dm @@ -11,7 +11,7 @@ GLOBAL_VAR_INIT(sent_spiders_to_station, 0) GLOB.sent_spiders_to_station = 0 /datum/event/spider_infestation/announce() - GLOB.command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg') + GLOB.command_announcement.Announce("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /datum/event/spider_infestation/start() diff --git a/code/modules/events/supply_demand_vr.dm b/code/modules/events/supply_demand_vr.dm index bf9b9123c6..464aedd869 100644 --- a/code/modules/events/supply_demand_vr.dm +++ b/code/modules/events/supply_demand_vr.dm @@ -57,7 +57,7 @@ GLOBAL_LIST_EMPTY_TYPED(running_demand_events, /datum/event/supply_demand) send_console_message(message, dpt); // Also announce over main comms so people know to look - GLOB.command_announcement.Announce("An order for the [using_map.facility_type] to deliver supplies to [command_name()] has been delivered to all supply Request Consoles", my_department) + GLOB.command_announcement.Announce("An order for the [using_map.facility_type] to deliver supplies to [command_name()] has been delivered to all supply Request Consoles", my_department, ANNOUNCER_MSG_SUPPLYORDER) RegisterSignal(SSdcs, COMSIG_GLOB_SUPPLY_SHUTTLE_DEPART, PROC_REF(handle_supply_demand_sell_shuttle)) /datum/event/supply_demand/tick() diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm index 834b20f08f..fd20b6c26e 100644 --- a/code/modules/events/viral_infection.dm +++ b/code/modules/events/viral_infection.dm @@ -22,18 +22,32 @@ GLOBAL_LIST_EMPTY(event_viruses) // so that event viruses are kept around for ad viruses += D /datum/event/viral_infection/announce() +<<<<<<< HEAD /*var/level +======= + var/level + var/virus_msg +>>>>>>> 60202429a7 (Customizable Announcer (#19387)) if (severity == EVENT_LEVEL_MUNDANE) return else if (severity == EVENT_LEVEL_MODERATE) level = pick("one", "two", "three", "four") + virus_msg = ANNOUNCER_MSG_BIOHAZARD_LOW else +<<<<<<< HEAD level = "five"*/ // Chomp removal if (severity == EVENT_LEVEL_MAJOR || prob(60)) command_announcement.Announce("Confirmed outbreak of level 7 biohazard aboard \the [station_name()]. All personnel must contain the outbreak.", "Viral Outbreak", new_sound = 'sound/AI/outbreak7.ogg') // Chomp edit: Changed "Biohazard Alert" to "Viral Outbreak" and also changed level level 5 to level 7. Lower = More urgent. +======= + level = "five" + virus_msg = ANNOUNCER_MSG_BIOHAZARD_FIVE + + if (severity == EVENT_LEVEL_MAJOR || prob(60)) + command_announcement.Announce("Confirmed outbreak of level [level] biohazard aboard \the [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = virus_msg) +>>>>>>> 60202429a7 (Customizable Announcer (#19387)) /datum/event/viral_infection/start() if(!viruses.len) return diff --git a/code/modules/events/viral_outbreak.dm b/code/modules/events/viral_outbreak.dm index e90408037c..d1714d79ab 100644 --- a/code/modules/events/viral_outbreak.dm +++ b/code/modules/events/viral_outbreak.dm @@ -8,9 +8,14 @@ severity = rand(2, 4) /datum/event/viral_outbreak/announce() +<<<<<<< HEAD command_alert("Confirmed outbreak of level 7 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Viral Outbreak") world << sound('sound/AI/outbreak7.ogg') // Chomp edit: Changed "Biohazard Alert" to "Viral Outbreak" and yes I know this file isn't used anymore but I'm going to be consistent in case it does get used. +======= + command_alert("Confirmed outbreak of level 7 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert") + play_simple_announcement(world, ANNOUNCER_MSG_BIOHAZARD_SEVEN) +>>>>>>> 60202429a7 (Customizable Announcer (#19387)) /datum/event/viral_outbreak/start() var/list/candidates = list() //list of candidate keys diff --git a/code/modules/events/wallrot.dm b/code/modules/events/wallrot.dm index a59e8fb841..6050e1a518 100644 --- a/code/modules/events/wallrot.dm +++ b/code/modules/events/wallrot.dm @@ -18,8 +18,7 @@ /datum/event/wallrot/announce() if(center) - GLOB.command_announcement.Announce("Harmful fungi detected on \the [station_name()]. Hull integrity near [center.loc.name] may be compromised.", "Hazardous Biomass") //CHOMPEdit - Wording - // Chomp edit - Better wording as to what the hell it actually does. + GLOB.command_announcement.Announce("Harmful fungi detected on \the [station_name()]. Hull integrity near [center.loc.name] may be compromised.", "Hazardous Biomass", ANNOUNCER_MSG_WALLROT) //CHOMPEdit - Wording /datum/event/wallrot/start() spawn() diff --git a/code/modules/events/window_break.dm b/code/modules/events/window_break.dm index a579ce5fe0..ff1d18cb31 100644 --- a/code/modules/events/window_break.dm +++ b/code/modules/events/window_break.dm @@ -70,4 +70,4 @@ current_collateral.take_damage(current_collateral.health - (current_collateral.maxhealth / 5)) //set to 1/5th health /datum/event/window_break/announce() - command_announcement.Announce("Structural integrity of windows at [chosen_location.loc.name] is failing. Immediate repair or replacement is advised.", "Structural Alert") + command_announcement.Announce("Structural integrity of windows at [chosen_location.loc.name] is failing. Immediate repair or replacement is advised.", "Structural Alert", ANNOUNCER_MSG_WINDOWBREAK) diff --git a/code/modules/gamemaster/event2/events/command/raise_funds.dm b/code/modules/gamemaster/event2/events/command/raise_funds.dm index 3e5d537144..700ded838d 100644 --- a/code/modules/gamemaster/event2/events/command/raise_funds.dm +++ b/code/modules/gamemaster/event2/events/command/raise_funds.dm @@ -93,4 +93,4 @@ /datum/event2/event/raise_funds/proc/send_command_report(title, message) post_comm_message(title, message) to_chat(world, span_danger("New [using_map.company_name] Update available at all communication consoles.")) - SEND_SOUND(world, 'sound/AI/commandreport.ogg') + play_simple_announcement(world, ANNOUNCER_MSG_NEW_COMMAND_REPORT) diff --git a/code/modules/gamemaster/event2/events/engineering/blob.dm b/code/modules/gamemaster/event2/events/engineering/blob.dm index c4f3ec1c69..64aa58494e 100644 --- a/code/modules/gamemaster/event2/events/engineering/blob.dm +++ b/code/modules/gamemaster/event2/events/engineering/blob.dm @@ -157,6 +157,4 @@ if(danger_level >= BLOB_DIFFICULTY_SUPERHARD) lines += "Extreme caution is advised." - //command_announcement.Announce(lines.Join("\n"), "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg') - GLOB.command_announcement.Announce(lines.Join("\n"), "Hazardous Biomass - URGENT!", new_sound = 'sound/AI/outbreak5.ogg') - // Chomp edit - Better wording and also made the alert level 5. Lower number = More urgent. + GLOB.command_announcement.Announce(lines.Join("\n"), "Hazardous Biomass - URGENT!", new_sound = ANNOUNCER_MSG_BIOHAZARD_FIVE) // Chomp edit - Better wording and also made the alert level 5. Lower number = More urgent. diff --git a/code/modules/gamemaster/event2/events/engineering/brand_intelligence.dm b/code/modules/gamemaster/event2/events/engineering/brand_intelligence.dm index 3713abac97..1c779cd90f 100644 --- a/code/modules/gamemaster/event2/events/engineering/brand_intelligence.dm +++ b/code/modules/gamemaster/event2/events/engineering/brand_intelligence.dm @@ -34,7 +34,7 @@ /datum/event2/event/brand_intelligence/announce() if(prob(90)) GLOB.command_announcement.Announce("An ongoing mass upload of malware for vendors has been detected onboard \the [location_name()], \ - which appears to transmit to nearby vendors. The original infected machine is believed to be \a [vender_zero].", "Vendor Service Alert") + which appears to transmit to nearby vendors. The original infected machine is believed to be \a [vender_zero].", "Vendor Service Alert", ANNOUNCER_MSG_VENDORVIRUS) /datum/event2/event/brand_intelligence/start() infect_vender(vender_zero) diff --git a/code/modules/gamemaster/event2/events/engineering/dust.dm b/code/modules/gamemaster/event2/events/engineering/dust.dm index 29201d32ba..d8b0ba0890 100644 --- a/code/modules/gamemaster/event2/events/engineering/dust.dm +++ b/code/modules/gamemaster/event2/events/engineering/dust.dm @@ -13,7 +13,7 @@ /datum/event2/event/dust/announce() if(prob(33)) - GLOB.command_announcement.Announce("Dust has been detected on a collision course with \the [location_name()].") + GLOB.command_announcement.Announce("Dust has been detected on a collision course with \the [location_name()].", new_sound = ANNOUNCER_MSG_DEBRISFIELD_START) /datum/event2/event/dust/start() dust_swarm("norm") diff --git a/code/modules/gamemaster/event2/events/engineering/gas_leak.dm b/code/modules/gamemaster/event2/events/engineering/gas_leak.dm index 2fb032ba75..5a24af97f6 100644 --- a/code/modules/gamemaster/event2/events/engineering/gas_leak.dm +++ b/code/modules/gamemaster/event2/events/engineering/gas_leak.dm @@ -31,7 +31,7 @@ /datum/event2/event/gas_leak/announce() if(chosen_turf) - GLOB.command_announcement.Announce("Warning, hazardous [lowertext(GLOB.gas_data.name[chosen_gas])] gas leak detected in \the [chosen_turf.loc], evacuate the area.", "Hazard Alert") + GLOB.command_announcement.Announce("Warning, hazardous [lowertext(GLOB.gas_data.name[chosen_gas])] gas leak detected in \the [chosen_turf.loc], evacuate the area.", "Hazard Alert", ANNOUNCER_MSG_GASLEAK) /datum/event2/event/gas_leak/start() // Okay, time to actually put the gas in the room! diff --git a/code/modules/gamemaster/event2/events/engineering/meteor_defense.dm b/code/modules/gamemaster/event2/events/engineering/meteor_defense.dm index c8e7893906..67bf980b5a 100644 --- a/code/modules/gamemaster/event2/events/engineering/meteor_defense.dm +++ b/code/modules/gamemaster/event2/events/engineering/meteor_defense.dm @@ -55,7 +55,7 @@ /datum/event2/event/meteor_defense/announce() var/announcement = "Meteors are expected to approach from the [dir_text] side, in approximately [DisplayTimeText(time_to_start - world.time, 60)]." - GLOB.command_announcement.Announce(announcement, "Meteor Alert", new_sound = 'sound/AI/meteors.ogg') + GLOB.command_announcement.Announce(announcement, "Meteor Alert", new_sound = ANNOUNCER_MSG_METEORS) /datum/event2/event/meteor_defense/wait_tick() if(!soon_announced) diff --git a/code/modules/gamemaster/event2/events/engineering/wallrot.dm b/code/modules/gamemaster/event2/events/engineering/wallrot.dm index f567211e82..48686a50d8 100644 --- a/code/modules/gamemaster/event2/events/engineering/wallrot.dm +++ b/code/modules/gamemaster/event2/events/engineering/wallrot.dm @@ -27,7 +27,7 @@ /datum/event2/event/wallrot/announce() if(origin && prob(80)) GLOB.command_announcement.Announce("Harmful fungi detected on \the [location_name()], near \the [origin.loc]. \ - Station structural integrity may be compromised.", "Biohazard Alert") + Station structural integrity may be compromised.", "Biohazard Alert", ANNOUNCER_MSG_WALLROT) /datum/event2/event/wallrot/start() if(origin) diff --git a/code/modules/gamemaster/event2/events/engineering/window_break.dm b/code/modules/gamemaster/event2/events/engineering/window_break.dm index fbfb432bdf..cbf2f864ff 100644 --- a/code/modules/gamemaster/event2/events/engineering/window_break.dm +++ b/code/modules/gamemaster/event2/events/engineering/window_break.dm @@ -54,7 +54,7 @@ /datum/event2/event/window_break/announce() if(chosen_window) GLOB.command_announcement.Announce("Structural integrity of space-facing windows at \the [get_area(chosen_turf_with_windows)] are failing. \ - Repair of the damaged window is advised. Personnel without EVA suits in the area should leave until repairs are complete.", "Structural Alert") + Repair of the damaged window is advised. Personnel without EVA suits in the area should leave until repairs are complete.", "Structural Alert", ANNOUNCER_MSG_WINDOWBREAK) /datum/event2/event/window_break/start() if(!chosen_turf_with_windows) diff --git a/code/modules/gamemaster/event2/events/everyone/comms_blackout.dm b/code/modules/gamemaster/event2/events/everyone/comms_blackout.dm index 30111eebb2..0764e73cc8 100644 --- a/code/modules/gamemaster/event2/events/everyone/comms_blackout.dm +++ b/code/modules/gamemaster/event2/events/everyone/comms_blackout.dm @@ -19,7 +19,7 @@ "Ionospheri:%£ MCayj^j<.3-BZZZZZZT", \ "#4nd%;f4y6,>£%-BZZZZZZZT") if(prob(33)) - GLOB.command_announcement.Announce(alert, new_sound = 'sound/misc/interference.ogg') + GLOB.command_announcement.Announce(alert, new_sound = ANNOUNCER_MSG_COMMSBLACKOUT) // AIs will always know if there's a comm blackout, rogue AIs could then lie about comm blackouts in the future while they shutdown comms for(var/mob/living/silicon/ai/A in GLOB.player_list) to_chat(A, span_boldwarning("
")) diff --git a/code/modules/gamemaster/event2/events/everyone/electrical_fault.dm b/code/modules/gamemaster/event2/events/everyone/electrical_fault.dm index 6b25bbd322..27fb126acf 100644 --- a/code/modules/gamemaster/event2/events/everyone/electrical_fault.dm +++ b/code/modules/gamemaster/event2/events/everyone/electrical_fault.dm @@ -31,7 +31,7 @@ // Trying to be vague to avoid 'space lightning storms'. // This could be re-flavored to be a solar flare or something and have robots outside be sad. GLOB.command_announcement.Announce("External conditions near \the [location_name()] are likely \ - to cause voltage spikes and other electrical issues very soon. Please secure sensitive electrical equipment until the situation passes.", "[location_name()] Sensor Array") + to cause voltage spikes and other electrical issues very soon. Please secure sensitive electrical equipment until the situation passes.", "[location_name()] Sensor Array", ANNOUNCER_MSG_WIRING_FAULT_START) /datum/event2/event/electrical_fault/set_up() valid_z_levels = get_location_z_levels() @@ -43,7 +43,7 @@ valid_apcs += A /datum/event2/event/electrical_fault/start() - GLOB.command_announcement.Announce("Irregularities detected in \the [location_name()] power grid.", "[location_name()] Power Grid Monitoring") + GLOB.command_announcement.Announce("Irregularities detected in \the [location_name()] power grid.", "[location_name()] Power Grid Monitoring", ANNOUNCER_MSG_WIRING_FAULT_START) /datum/event2/event/electrical_fault/event_tick() if(!valid_apcs.len) @@ -59,7 +59,7 @@ affect_apc(A) /datum/event2/event/electrical_fault/end() - GLOB.command_announcement.Announce("The irregular electrical conditions inside \the [location_name()] power grid has ceased.", "[location_name()] Power Grid Monitoring") + GLOB.command_announcement.Announce("The irregular electrical conditions inside \the [location_name()] power grid has ceased.", "[location_name()] Power Grid Monitoring", ANNOUNCER_MSG_WIRING_FAULT_END) log_game("Electrical Fault event caused [apcs_disabled] APC\s to shut off, \ [apcs_overloaded] APC\s to overload lighting, and [apcs_emagged] APC\s to be emagged.") diff --git a/code/modules/gamemaster/event2/events/everyone/gravity.dm b/code/modules/gamemaster/event2/events/everyone/gravity.dm index 00c6e5a6fa..9f214ea295 100644 --- a/code/modules/gamemaster/event2/events/everyone/gravity.dm +++ b/code/modules/gamemaster/event2/events/everyone/gravity.dm @@ -19,7 +19,7 @@ /datum/event2/event/gravity/announce() command_announcement.Announce("Feedback surge detected in mass-distributions systems. \ Artificial gravity has been disabled whilst the system reinitializes. \ - Please stand by while the gravity system reinitializes.", "Gravity Failure") + Please stand by while the gravity system reinitializes.", "Gravity Failure", ANNOUNCER_MSG_GRAVITY_OFF) /datum/event2/event/gravity/start() for(var/area/A in world) @@ -31,4 +31,4 @@ if(!(A.flags & AREA_ALWAYS_HAS_GRAVITY) && A.z in get_location_z_levels(space_only = TRUE)) A.gravitychange(TRUE) - command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored") + command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored", ANNOUNCER_MSG_GRAVITY_ON) diff --git a/code/modules/gamemaster/event2/events/everyone/gravity_vr.dm b/code/modules/gamemaster/event2/events/everyone/gravity_vr.dm index a53799497c..2040bb201c 100644 --- a/code/modules/gamemaster/event2/events/everyone/gravity_vr.dm +++ b/code/modules/gamemaster/event2/events/everyone/gravity_vr.dm @@ -18,7 +18,7 @@ var/list/generators = list() /datum/event2/event/gravity/announce() - GLOB.command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled. Please wait for the system to reinitialize, or contact your engineering department.", "Gravity Failure") + GLOB.command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled. Please wait for the system to reinitialize, or contact your engineering department.", "Gravity Failure", ANNOUNCER_MSG_GRAVITY_OFF) /datum/event2/event/gravity/start() GLOB.gravity_is_on = FALSE @@ -42,4 +42,4 @@ did_anything = TRUE if(did_anything) - GLOB.command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored") + GLOB.command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored", ANNOUNCER_MSG_GRAVITY_ON) diff --git a/code/modules/gamemaster/event2/events/everyone/infestation.dm b/code/modules/gamemaster/event2/events/everyone/infestation.dm index 7e65df2312..e08a3b75a1 100644 --- a/code/modules/gamemaster/event2/events/everyone/infestation.dm +++ b/code/modules/gamemaster/event2/events/everyone/infestation.dm @@ -65,7 +65,7 @@ /datum/event2/event/infestation/announce() var/turf/T = turfs[1] GLOB.command_announcement.Announce("Bioscans indicate that [vermin_string] have been breeding \ - in \the [T.loc]. Clear them out, before this starts to affect productivity.", "Vermin infestation") + in \the [T.loc]. Clear them out, before this starts to affect productivity.", "Vermin infestation", ANNOUNCER_MSG_VERMIN_INFESTATION) /datum/event2/event/infestation/start() diff --git a/code/modules/gamemaster/event2/events/everyone/radiation_storm.dm b/code/modules/gamemaster/event2/events/everyone/radiation_storm.dm index a5e2ecec04..38029b93b3 100644 --- a/code/modules/gamemaster/event2/events/everyone/radiation_storm.dm +++ b/code/modules/gamemaster/event2/events/everyone/radiation_storm.dm @@ -18,7 +18,7 @@ /datum/event2/event/radiation_storm/announce() GLOB.command_announcement.Announce("High levels of radiation detected near \the [location_name()]. \ - Please evacuate into one of the shielded maintenance tunnels.", "Anomaly Alert", new_sound = 'sound/AI/radiation.ogg') + Please evacuate into one of the shielded maintenance tunnels.", "Anomaly Alert", new_sound = ANNOUNCER_MSG_RADIATION) make_maint_all_access() /datum/event2/event/radiation_storm/start() diff --git a/code/modules/gamemaster/event2/events/everyone/solar_storm.dm b/code/modules/gamemaster/event2/events/everyone/solar_storm.dm index c3867e83f2..137e78979b 100644 --- a/code/modules/gamemaster/event2/events/everyone/solar_storm.dm +++ b/code/modules/gamemaster/event2/events/everyone/solar_storm.dm @@ -18,7 +18,7 @@ /datum/event2/event/solar_storm/announce() GLOB.command_announcement.Announce("A solar storm has been detected approaching \the [station_name()]. \ - Please halt all EVA activites immediately and return to the interior of the station.", "Anomaly Alert", new_sound = 'sound/AI/radiation.ogg') + Please halt all EVA activites immediately and return to the interior of the station.", "Anomaly Alert", new_sound = ANNOUNCER_MSG_RADIATION) adjust_solar_output(1.5) /datum/event2/event/solar_storm/start() diff --git a/code/modules/gamemaster/event2/events/everyone/sudden_weather_shift.dm b/code/modules/gamemaster/event2/events/everyone/sudden_weather_shift.dm index 81230496e9..ac6cfce1e2 100644 --- a/code/modules/gamemaster/event2/events/everyone/sudden_weather_shift.dm +++ b/code/modules/gamemaster/event2/events/everyone/sudden_weather_shift.dm @@ -26,7 +26,7 @@ return GLOB.command_announcement.Announce("Local weather patterns on [chosen_planet.name] suggest that a \ sudden atmospheric fluctuation has occurred. All groundside personnel should be wary of \ - rapidly deteriorating conditions.", "Weather Alert") + rapidly deteriorating conditions.", "Weather Alert", new_sound = ANNOUNCER_MSG_WEATHER_ALERT) /datum/event2/event/sudden_weather_shift/start() // Using the roundstart weather list is handy, because it avoids the chance of choosing a bus-only weather. diff --git a/code/modules/gamemaster/event2/events/security/carp_migration.dm b/code/modules/gamemaster/event2/events/security/carp_migration.dm index 791053573d..03d9de942c 100644 --- a/code/modules/gamemaster/event2/events/security/carp_migration.dm +++ b/code/modules/gamemaster/event2/events/security/carp_migration.dm @@ -24,7 +24,7 @@ /datum/event2/event/mob_spawning/carp_migration/announce() var/announcement = "Unknown biological entities been detected near \the [location_name()], please stand-by." - GLOB.command_announcement.Announce(announcement, "Lifesign Alert") + GLOB.command_announcement.Announce(announcement, "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /datum/event2/event/mob_spawning/carp_migration/event_tick() if(last_carp_wave_time + carp_wave_cooldown > world.time) diff --git a/code/modules/gamemaster/event2/events/security/drill_announcement.dm b/code/modules/gamemaster/event2/events/security/drill_announcement.dm index 57c8b61d5d..fb6a77567c 100644 --- a/code/modules/gamemaster/event2/events/security/drill_announcement.dm +++ b/code/modules/gamemaster/event2/events/security/drill_announcement.dm @@ -19,4 +19,4 @@ /datum/event2/event/security_drill/announce() GLOB.command_announcement.Announce("[pick("A NanoTrasen security director", "A Vir-Gov correspondant", "Local Sif authoritiy")] \ has advised the enactment of [pick("a rampant wildlife", "a fire", "a hostile boarding", \ - "a bomb", "an emergent intelligence")] drill with the personnel onboard \the [location_name()].", "Security Advisement") + "a bomb", "an emergent intelligence")] drill with the personnel onboard \the [location_name()].", "Security Advisement", new_sound = ANNOUNCER_MSG_SECURITY_ADVISEMENT) diff --git a/code/modules/gamemaster/event2/events/security/prison_break.dm b/code/modules/gamemaster/event2/events/security/prison_break.dm index b26ac19b97..0f2498b9b9 100644 --- a/code/modules/gamemaster/event2/events/security/prison_break.dm +++ b/code/modules/gamemaster/event2/events/security/prison_break.dm @@ -225,7 +225,7 @@ /datum/event2/event/prison_break/end() GLOB.command_announcement.Announce("[pick("Gr3y.T1d3 virus","Malignant trojan")] was detected \ in \the [location_name()] [area_display_name] [containment_display_desc] subroutines. Secure any compromised \ - areas immediately. AI involvement is recommended.", "[capitalize(containment_display_desc)] Alert") + areas immediately. AI involvement is recommended.", "[capitalize(containment_display_desc)] Alert", new_sound = ANNOUNCER_MSG_GREYTIDEVIRUS) GLOB.global_announcer.autosay( "It is now safe to reactivate the APCs' main breakers inside [area_display_name].", diff --git a/code/modules/gamemaster/event2/events/security/rogue_drones.dm b/code/modules/gamemaster/event2/events/security/rogue_drones.dm index 31809496f2..77ea2549b5 100644 --- a/code/modules/gamemaster/event2/events/security/rogue_drones.dm +++ b/code/modules/gamemaster/event2/events/security/rogue_drones.dm @@ -40,7 +40,7 @@ msg = "We're detecting a swarm of small objects approaching your station. \ Most likely a bunch of drones. Please exercise caution if you see any." - GLOB.command_announcement.Announce(msg, "Rogue drone alert") + GLOB.command_announcement.Announce(msg, "Rogue drone alert", new_sound = ANNOUNCER_MSG_DRONEPOD) /datum/event2/event/mob_spawning/rogue_drones/start() for(var/i = 1 to drones_to_spawn) diff --git a/code/modules/gamemaster/event2/events/security/security_advisement.dm b/code/modules/gamemaster/event2/events/security/security_advisement.dm index 4319028401..d32ab88ec7 100644 --- a/code/modules/gamemaster/event2/events/security/security_advisement.dm +++ b/code/modules/gamemaster/event2/events/security/security_advisement.dm @@ -90,4 +90,4 @@ /datum/event2/event/security_screening/announce() GLOB.command_announcement.Announce("[pick("A nearby Navy vessel", "A Solar official", "A Vir-Gov official", "A NanoTrasen board director")] has \ requested the screening of [pick("every other", "every", "suspicious", "willing")] [victim] \ - personnel onboard \the [location_name()].", "Security Advisement") + personnel onboard \the [location_name()].", "Security Advisement", ANNOUNCER_MSG_SECURITY_ADVISEMENT) diff --git a/code/modules/gamemaster/event2/events/security/spider_infestation.dm b/code/modules/gamemaster/event2/events/security/spider_infestation.dm index 4c66560693..c9e7fa9f8b 100644 --- a/code/modules/gamemaster/event2/events/security/spider_infestation.dm +++ b/code/modules/gamemaster/event2/events/security/spider_infestation.dm @@ -32,7 +32,7 @@ /datum/event2/event/spider_infestation/announce() GLOB.command_announcement.Announce("Unidentified lifesigns detected coming aboard \the [location_name()]. \ - Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = 'sound/AI/aliens.ogg') + Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", new_sound = ANNOUNCER_MSG_UNIDENTIFIED_LIFESIGNS) /datum/event2/event/spider_infestation/start() var/list/vents = list() diff --git a/code/modules/gamemaster/event2/events/synthetic/ion_storm.dm b/code/modules/gamemaster/event2/events/synthetic/ion_storm.dm index 26e1d6fe1c..41634833f2 100644 --- a/code/modules/gamemaster/event2/events/synthetic/ion_storm.dm +++ b/code/modules/gamemaster/event2/events/synthetic/ion_storm.dm @@ -60,7 +60,7 @@ /datum/event2/event/ion_storm/announce() if(prob(announce_odds)) GLOB.command_announcement.Announce("An ion storm was detected within proximity to \the [location_name()] recently. \ - Check all AI controlled equipment for corruption.", "Anomaly Alert", new_sound = 'sound/AI/ionstorm.ogg') + Check all AI controlled equipment for corruption.", "Anomaly Alert", new_sound = ANNOUNCER_MSG_IONSTORM) // Fake variant used by traitors. /datum/event2/event/ion_storm/fake diff --git a/code/modules/overmap/sectors.dm b/code/modules/overmap/sectors.dm index a3b6840f9d..33ef8f5daa 100644 --- a/code/modules/overmap/sectors.dm +++ b/code/modules/overmap/sectors.dm @@ -286,7 +286,7 @@ //CHOMPedit end for(var/zlevel in levels_for_distress) - GLOB.priority_announcement.Announce(message, new_title = "Automated Distress Signal", new_sound = 'sound/AI/sos_ch.ogg', zlevel = zlevel) //CHOMPedit, changed sound + GLOB.priority_announcement.Announce(message, new_title = "Automated Distress Signal", new_sound = ANNOUNCER_MSG_DISTRESS_SIGNAL, zlevel = zlevel) var/image/I = image(icon, icon_state = "distress") I.plane = PLANE_LIGHTING_ABOVE @@ -305,7 +305,7 @@ //CHOMPedit end for(var/zlevel in levels_for_distress) - GLOB.priority_announcement.Announce(message, new_title = "Automated Distress Signal", new_sound = 'sound/AI/sos_ch.ogg', zlevel = zlevel) //CHOMPedit, changed sound + GLOB.priority_announcement.Announce(message, new_title = "Automated Distress Signal", new_sound = ANNOUNCER_MSG_DISTRESS_SIGNAL, zlevel = zlevel) /proc/build_overmap() if(!using_map.use_overmap) diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 452c74a13a..fd75636ae5 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -258,7 +258,8 @@ GLOBAL_LIST_EMPTY(all_turbines) spawn(1) GLOB.command_announcement.Announce("Dangerous power spike detected in the power network. Please check machinery \ for electrical damage.", - "Critical Power Overload") + "Critical Power Overload", + ANNOUNCER_MSG_POWERSPIKE) var/i = 0 var/limit = rand(30, 50) for(var/obj/machinery/power/P in powernet_union) diff --git a/code/modules/power/grid_checker.dm b/code/modules/power/grid_checker.dm index 04e60c0153..f820957fd2 100644 --- a/code/modules/power/grid_checker.dm +++ b/code/modules/power/grid_checker.dm @@ -66,7 +66,7 @@ the station's power will be shut off for an indeterminate duration while the powernet monitor restarts automatically, or \ when Engineering can manually resolve the issue.", //CHOMPEdit "Critical Power Failure", - new_sound = 'sound/AI/poweroff.ogg') + new_sound = ANNOUNCER_MSG_POWER_OFF) power_failing = TRUE if(powernet) for(var/obj/machinery/power/terminal/T in powernet.nodes) // APCs that are "downstream" of the powernet. @@ -90,7 +90,7 @@ if(announce) GLOB.command_announcement.Announce("Power has been restored to [station_name()]. We apologize for the inconvenience.", "Power Systems Nominal", - new_sound = 'sound/AI/poweron.ogg') + new_sound = ANNOUNCER_MSG_POWER_ON) power_failing = FALSE update_icon() diff --git a/code/modules/shuttles/crashes.dm b/code/modules/shuttles/crashes.dm index 562bdbb17e..3dfaf270f2 100644 --- a/code/modules/shuttles/crashes.dm +++ b/code/modules/shuttles/crashes.dm @@ -69,7 +69,7 @@ var/boomsize = shuttle_turfs.len / 10 // Bigger shuttle = bigger boom explosion(epicenter, 0, boomsize, boomsize*2, boomsize*3) moving_status = SHUTTLE_CRASHED - GLOB.command_announcement.Announce("[crash_message]", "Shuttle Alert") + GLOB.command_announcement.Announce("[crash_message]", "Shuttle Alert", ANNOUNCER_MSG_SHUTTLE_CRASHED) // Put people back for(var/mob/living/L as anything in victims) diff --git a/code/modules/shuttles/shuttle_emergency.dm b/code/modules/shuttles/shuttle_emergency.dm index e91e798c26..cc38b931d5 100644 --- a/code/modules/shuttles/shuttle_emergency.dm +++ b/code/modules/shuttles/shuttle_emergency.dm @@ -40,7 +40,7 @@ if (SSemergency_shuttle.evac) GLOB.priority_announcement.Announce(replacetext(replacetext(using_map.emergency_shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) else - GLOB.priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) //CHOMP reversion + GLOB.priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s"), new_sound = ANNOUNCER_MSG_SHUTTLE_ENDROUND_RETURNING) ..() /datum/shuttle/autodock/ferry/emergency/can_launch(var/user) diff --git a/maps/tether/tether_phoronlock.dm b/maps/tether/tether_phoronlock.dm index ff80b95b9b..a065ae8ac3 100644 --- a/maps/tether/tether_phoronlock.dm +++ b/maps/tether/tether_phoronlock.dm @@ -212,7 +212,7 @@ if(STATE_PREPARE) if (check_doors_secured()) if(target_state == TARGET_INOPEN) - playsound(master, 'sound/AI/airlockin.ogg', 100, 0) + playsound(master, announcer_airlock_message(AIRLOCK_MSG_IN), 100, 0) if(memory["chamber_sensor_phoron"] > memory["target_phoron"]) state = STATE_CLEAN signalScrubber(tag_scrubber, 1) // Start cleaning @@ -226,13 +226,13 @@ else if(memory["pump_status"] != "off") signalPump(tag_airpump, 0) else - playsound(master, 'sound/AI/airlockout.ogg', 100, 0) + playsound(master, announcer_airlock_message(AIRLOCK_MSG_OUT), 100, 0) cycleDoors(target_state) state = STATE_IDLE target_state = TARGET_NONE if(STATE_CLEAN) - playsound(master, 'sound/machines/2beep.ogg', 100, 0) + playsound(master, announcer_airlock_message(AIRLOCK_MSG_BEEP), 100, 0) if(!check_doors_secured()) //the airlock will not allow itself to continue to cycle when any of the doors are forced open. stop_cycling() @@ -243,14 +243,14 @@ state = STATE_PRESSURIZE if(STATE_PRESSURIZE) - playsound(master, 'sound/machines/2beep.ogg', 100, 0) + playsound(master, announcer_airlock_message(AIRLOCK_MSG_BEEP), 100, 0) if(!check_doors_secured()) //the airlock will not allow itself to continue to cycle when any of the doors are forced open. stop_cycling() else if(memory["chamber_sensor_pressure"] >= memory["target_pressure"] * 0.95) signalPump(tag_airpump, 0) // send a signal to stop pumping. No need to wait for it tho. cycleDoors(target_state) - playsound(master, 'sound/AI/airlockdone.ogg', 100, 0) + playsound(master, announcer_airlock_message(AIRLOCK_MSG_END_IN), 100, 0) state = STATE_IDLE target_state = TARGET_NONE diff --git a/sound/AI/welcome_virgo.ogg b/sound/AI/welcome_virgo.ogg new file mode 100644 index 0000000000..9057bf9abf Binary files /dev/null and b/sound/AI/welcome_virgo.ogg differ diff --git a/vorestation.dme b/vorestation.dme index 1b4a271f12..d2532844e7 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -52,6 +52,7 @@ #include "code\__defines\airlock_control.dm" #include "code\__defines\alerts.dm" #include "code\__defines\ammunition.dm" +#include "code\__defines\announce.dm" #include "code\__defines\anomaly.dm" #include "code\__defines\appearance.dm" #include "code\__defines\assemblies.dm" @@ -1064,6 +1065,7 @@ #include "code\defines\obj.dm" #include "code\defines\obj\weapon.dm" #include "code\defines\procs\announce.dm" +#include "code\defines\procs\announce_library.dm" #include "code\defines\procs\AStar.dm" #include "code\defines\procs\radio.dm" #include "code\defines\procs\statistics.dm"