diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index e8d3abb7335..301ed685d46 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -44,12 +44,13 @@ GLOBAL_DATUM_INIT(event_announcement, /datum/announcement/priority/command/event title = "Security Announcement" announcement_type = "Security Announcement" -/datum/announcement/proc/Announce(message as text, new_title = "", new_sound = null, do_newscast = newscast, msg_sanitized = 0, from, msg_language) +/datum/announcement/proc/Announce(message as text, new_title = "", new_sound = null, do_newscast = newscast, msg_sanitized = 0, from, msg_language, new_sound2 = null) if(!message) return var/message_title = new_title ? new_title : title var/message_sound = new_sound ? sound(new_sound) : sound + var/message_sound2 = new_sound2 ? sound(new_sound2) : sound if(!msg_sanitized) message = trim_strip_html_properly(message, allow_lines = 1) @@ -74,6 +75,7 @@ GLOBAL_DATUM_INIT(event_announcement, /datum/announcement/priority/command/event NewsCast(message, message_title) Sound(message_sound, combined_receivers[1] + combined_receivers[2]) + Sound(message_sound2, combined_receivers[1] + combined_receivers[2]) Log(message, message_title) /datum/announcement/proc/Get_Receivers(datum/language/message_language) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index e299f0c97c2..4f0552cbefa 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -248,7 +248,7 @@ /datum/action/innate/ai/nuke_station/proc/set_us_up_the_bomb() to_chat(owner_AI, "Nuclear device armed.") - GLOB.event_announcement.Announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", new_sound = 'sound/AI/aimalf.ogg') + GLOB.event_announcement.Announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", 'sound/AI/aimalf.ogg') set_security_level("delta") owner_AI.nuking = TRUE var/obj/machinery/doomsday_device/DOOM = new /obj/machinery/doomsday_device(owner_AI) @@ -280,7 +280,7 @@ if(SSshuttle.emergency.mode == SHUTTLE_STRANDED) SSshuttle.emergency.mode = SHUTTLE_DOCKED SSshuttle.emergency.timer = world.time - GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/shuttledock.ogg') + GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/eshuttle_dock.ogg') return ..() /obj/machinery/doomsday_device/proc/start() @@ -300,7 +300,7 @@ if(SSshuttle.emergency.mode == SHUTTLE_STRANDED) SSshuttle.emergency.mode = SHUTTLE_DOCKED SSshuttle.emergency.timer = world.time - GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/shuttledock.ogg') + GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/eshuttle_dock.ogg') qdel(src) if(!timing) STOP_PROCESSING(SSfastprocess, src) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 93e385df6a9..39b883fed33 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -220,7 +220,7 @@ if(SSshuttle.emergency.mode == SHUTTLE_STRANDED) SSshuttle.emergency.mode = SHUTTLE_DOCKED SSshuttle.emergency.timer = world.time - GLOB.command_announcement.Announce("Hostile enviroment resolved. You have 3 minutes to board the Emergency Shuttle.", null, 'sound/AI/shuttledock.ogg') + GLOB.command_announcement.Announce("Hostile enviroment resolved. You have 3 minutes to board the Emergency Shuttle.", null, 'sound/AI/eshuttle_dock.ogg') return ..() if(finished != 0) return TRUE diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 81be8843152..c1d226bf2be 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -606,7 +606,7 @@ Traitors and the like can also be revived with the previous role mostly intact. "Custom" = "Cryptic Message") var/list/MsgSound = list("Beep" = 'sound/misc/notice2.ogg', - "Enemy Communications Intercepted" = 'sound/AI/intercept2.ogg', + "Enemy Communications Intercepted" = 'sound/AI/intercept.ogg', "New Command Report Created" = 'sound/AI/commandreport.ogg') var/type = input(usr, "Pick a type of report to send", "Report Type", "") as anything in MsgType diff --git a/code/modules/events/anomaly.dm b/code/modules/events/anomaly.dm index d6135fd8301..71d1f9bdc49 100644 --- a/code/modules/events/anomaly.dm +++ b/code/modules/events/anomaly.dm @@ -49,7 +49,7 @@ CRASH("Anomaly: No valid turfs found for [impact_area] - [impact_area.type]") /datum/event/anomaly/announce() - GLOB.event_announcement.Announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location of impact: [impact_area.name].", "Anomaly Alert") + GLOB.event_announcement.Announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location of impact: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg') /datum/event/anomaly/start() var/turf/T = pick(get_area_turfs(impact_area)) diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm index b90e8b86b01..1591c802491 100644 --- a/code/modules/events/anomaly_bluespace.dm +++ b/code/modules/events/anomaly_bluespace.dm @@ -5,4 +5,4 @@ anomaly_path = /obj/effect/anomaly/bluespace /datum/event/anomaly/anomaly_bluespace/announce() - GLOB.event_announcement.Announce("Unstable bluespace anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") + GLOB.event_announcement.Announce("Unstable bluespace anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg') diff --git a/code/modules/events/anomaly_flux.dm b/code/modules/events/anomaly_flux.dm index 350e21cb496..533f2b5a073 100644 --- a/code/modules/events/anomaly_flux.dm +++ b/code/modules/events/anomaly_flux.dm @@ -5,4 +5,4 @@ anomaly_path = /obj/effect/anomaly/flux /datum/event/anomaly/anomaly_flux/announce() - GLOB.event_announcement.Announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") + GLOB.event_announcement.Announce("Localized hyper-energetic flux wave detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg') diff --git a/code/modules/events/anomaly_grav.dm b/code/modules/events/anomaly_grav.dm index 4acf530c081..a14c63961a8 100644 --- a/code/modules/events/anomaly_grav.dm +++ b/code/modules/events/anomaly_grav.dm @@ -5,4 +5,4 @@ anomaly_path = /obj/effect/anomaly/grav /datum/event/anomaly/anomaly_grav/announce() - GLOB.event_announcement.Announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") + GLOB.event_announcement.Announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg') diff --git a/code/modules/events/anomaly_pyro.dm b/code/modules/events/anomaly_pyro.dm index 2caa8dc4a0c..09599073005 100644 --- a/code/modules/events/anomaly_pyro.dm +++ b/code/modules/events/anomaly_pyro.dm @@ -5,4 +5,4 @@ anomaly_path = /obj/effect/anomaly/pyro /datum/event/anomaly/anomaly_pyro/announce() - GLOB.event_announcement.Announce("Atmospheric anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") + GLOB.event_announcement.Announce("Atmospheric anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg') diff --git a/code/modules/events/anomaly_vortex.dm b/code/modules/events/anomaly_vortex.dm index 76058cfa574..fe274f3c73a 100644 --- a/code/modules/events/anomaly_vortex.dm +++ b/code/modules/events/anomaly_vortex.dm @@ -5,4 +5,4 @@ anomaly_path = /obj/effect/anomaly/bhole /datum/event/anomaly/anomaly_vortex/announce() - GLOB.event_announcement.Announce("Localized high-intensity vortex anomaly detected on long range scanners. Expected location: [impact_area.name]", "Anomaly Alert") + GLOB.event_announcement.Announce("Localized high-intensity vortex anomaly detected on long range scanners. Expected location: [impact_area.name]", "Anomaly Alert", 'sound/AI/anomaly.ogg') diff --git a/code/modules/events/apc_overload.dm b/code/modules/events/apc_overload.dm index 4e2a296dda5..e1784ae9726 100644 --- a/code/modules/events/apc_overload.dm +++ b/code/modules/events/apc_overload.dm @@ -21,7 +21,7 @@ SEND_SOUND(M, S) /datum/event/apc_overload/announce() - GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", new_sound = 'sound/AI/attention.ogg') + GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", 'sound/AI/power_overload.ogg') /datum/event/apc_overload/end() return TRUE @@ -33,7 +33,7 @@ /area/turret_protected/ai) if(announce) - GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", new_sound = 'sound/AI/attention.ogg') + GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", 'sound/AI/power_overload.ogg') // break APC_BREAK_PROBABILITY% of all of the APCs on the station var/affected_apc_count = 0 diff --git a/code/modules/events/apc_short.dm b/code/modules/events/apc_short.dm index 759b443e2bf..93c6e468d04 100644 --- a/code/modules/events/apc_short.dm +++ b/code/modules/events/apc_short.dm @@ -20,7 +20,7 @@ SEND_SOUND(M, S) /datum/event/apc_short/announce() - GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", new_sound = 'sound/AI/attention.ogg') + GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", 'sound/AI/power_overload.ogg') /datum/event/apc_short/end() return TRUE @@ -30,7 +30,7 @@ /area/engine/engineering, /area/engine/supermatter, /area/turret_protected/ai) - GLOB.event_announcement.Announce("Power failure detected in [station_name()]'s powernet. All APCs have lost power. Gravity systems likely to fail.", "Systems Power Failure", new_sound = 'sound/AI/attention.ogg') + GLOB.event_announcement.Announce("Power failure detected in [station_name()]'s powernet. All APCs have lost power. Gravity systems likely to fail.", "Systems Power Failure", 'sound/AI/attention.ogg') for(var/thing in GLOB.apcs) var/obj/machinery/power/apc/A = thing var/area/current_area = get_area(A) @@ -49,7 +49,7 @@ /area/engine/supermatter, /area/turret_protected/ai) if(announce) - GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", new_sound = 'sound/AI/attention.ogg') + GLOB.event_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", 'sound/AI/power_overload.ogg') // break APC_BREAK_PROBABILITY% of all of the APCs on the station var/affected_apc_count = 0 for(var/thing in GLOB.apcs) @@ -76,7 +76,7 @@ /proc/power_restore(announce = TRUE, power_type) if(power_type == 0) //Power without Repairing if(announce) - GLOB.event_announcement.Announce("All operational APCs on \the [station_name()] have been fully charged.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg') + GLOB.event_announcement.Announce("All operational APCs on \the [station_name()] have been fully charged.", "Power Systems Nominal", 'sound/AI/attention.ogg') var/affected_apc_count = 0 for(var/thing in GLOB.apcs) var/obj/machinery/power/apc/A = thing @@ -90,7 +90,7 @@ log_and_message_admins("Power has been restored to [affected_apc_count] APCs.") if(power_type == 1) //Repair without charging if(announce) - GLOB.event_announcement.Announce("All APCs on \the [station_name()] have been repaired.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg') + GLOB.event_announcement.Announce("All APCs on \the [station_name()] have been repaired.", "Power Systems Nominal", 'sound/AI/attention.ogg') for(var/thing in GLOB.apcs) var/obj/machinery/power/apc/A = thing var/area/current_area = get_area(A) @@ -101,7 +101,7 @@ log_and_message_admins("Power has been restored to all APCs.") if(power_type == 2) //Repair and Power APCs if(announce) - GLOB.event_announcement.Announce("All APCs on \the [station_name()] have been repaired and recharged. We apologize for the inconvenience.", "Power Systems Optimal", new_sound = 'sound/AI/poweron.ogg') + GLOB.event_announcement.Announce("All APCs on \the [station_name()] have been repaired and recharged. We apologize for the inconvenience.", "Power Systems Optimal", 'sound/AI/attention.ogg') // repair the APCs and recharge them for(var/thing in GLOB.apcs) var/obj/machinery/power/apc/A = thing @@ -115,7 +115,7 @@ /proc/power_restore_quick(announce = TRUE) if(announce) - GLOB.event_announcement.Announce("All SMESs on \the [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg') + GLOB.event_announcement.Announce("All SMESs on \the [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", 'sound/AI/attention.ogg') // fix all of the SMESs for(var/obj/machinery/power/smes/S in GLOB.machines) if(!is_station_level(S.z)) diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm index 2ffcdb2acb9..e8a557ed069 100644 --- a/code/modules/events/brand_intelligence.dm +++ b/code/modules/events/brand_intelligence.dm @@ -14,7 +14,7 @@ "You don't want to buy anything? Yeah, well I didn't want to buy your mom either.") /datum/event/brand_intelligence/announce() - GLOB.event_announcement.Announce("Rampant brand intelligence has been detected aboard [station_name()], please stand-by. The origin is believed to be \a [originMachine.name].", "Machine Learning Alert") + GLOB.event_announcement.Announce("Rampant brand intelligence has been detected aboard [station_name()], please stand-by. The origin is believed to be \a [originMachine.name].", "Machine Learning Alert", 'sound/AI/brand_intelligence.ogg') /datum/event/brand_intelligence/start() for(var/obj/machinery/vending/V in GLOB.machines) diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 9a6ab6ca614..feba4fc1626 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -20,7 +20,7 @@ D.carrier = TRUE /datum/event/disease_outbreak/announce() - GLOB.event_announcement.Announce("Confirmed outbreak of level 7 major viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg') + GLOB.event_announcement.Announce("Confirmed outbreak of level 7 major viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/AI/outbreak7.ogg') for(var/p in GLOB.dead_mob_list) var/mob/M = p to_chat(M, "[patient_zero] has been infected with [D.name] ([ghost_follow_link(patient_zero, M)])") diff --git a/code/modules/events/door_runtime.dm b/code/modules/events/door_runtime.dm index 39e02e694db..67110810a82 100644 --- a/code/modules/events/door_runtime.dm +++ b/code/modules/events/door_runtime.dm @@ -1,7 +1,7 @@ /datum/event/door_runtime /datum/event/door_runtime/announce() - GLOB.minor_announcement.Announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.", "Network Alert") + GLOB.minor_announcement.Announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.", "Network Alert", 'sound/AI/door_runtimes.ogg') /datum/event/door_runtime/start() for(var/obj/machinery/door/D in GLOB.airlocks) @@ -13,4 +13,4 @@ post_status("alert", "lockdown") /datum/event/door_runtime/proc/reboot() - GLOB.minor_announcement.Announce("Automatic system reboot complete. Have a secure day.","Network reset:") + GLOB.minor_announcement.Announce("Automatic system reboot complete. Have a secure day.","Network reset:", 'sound/AI/door_runtimes_fix.ogg') diff --git a/code/modules/events/electrical_storm.dm b/code/modules/events/electrical_storm.dm index 17c697faf11..555d26ee353 100644 --- a/code/modules/events/electrical_storm.dm +++ b/code/modules/events/electrical_storm.dm @@ -3,7 +3,7 @@ var/lightsoutRange = 25 /datum/event/electrical_storm/announce() - GLOB.event_announcement.Announce("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm Alert") + GLOB.event_announcement.Announce("An electrical storm has been detected in your area, please repair potential electronic overloads.", "Electrical Storm Alert", 'sound/AI/elec_storm.ogg') /datum/event/electrical_storm/start() var/list/epicentreList = list() @@ -26,4 +26,3 @@ var/obj/effect/landmark/epicentre = thing for(var/obj/machinery/power/apc/apc in range(epicentre, lightsoutRange)) INVOKE_ASYNC(apc, /obj/machinery/power/apc.proc/overload_lighting) - diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 60fc5e4d39a..310bc8a1767 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -18,7 +18,7 @@ /datum/event/ion_storm/announce() if(announceEvent == ION_ANNOUNCE || (announceEvent == ION_RANDOM && prob(ionAnnounceChance))) - GLOB.event_announcement.Announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", 'sound/AI/ionstorm.ogg') + GLOB.event_announcement.Announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", 'sound/AI/ions.ogg') /datum/event/ion_storm/start() //AI laws diff --git a/code/modules/events/solarflare.dm b/code/modules/events/solarflare.dm index edd1726cbb2..fa72b6182cb 100644 --- a/code/modules/events/solarflare.dm +++ b/code/modules/events/solarflare.dm @@ -4,7 +4,7 @@ announceWhen = 1 /datum/event/solar_flare/announce() - GLOB.event_announcement.Announce("A solar flare has been detected on collision course with the station.", "Incoming Solar Flare", 'sound/AI/attention.ogg') + GLOB.event_announcement.Announce("A solar flare has been detected on collision course with the station.", "Incoming Solar Flare", 'sound/AI/flare.ogg') /datum/event/solar_flare/start() SSweather.run_weather(/datum/weather/solar_flare) diff --git a/code/modules/events/spider_terror.dm b/code/modules/events/spider_terror.dm index 5f9a06a501b..6bcd369884e 100644 --- a/code/modules/events/spider_terror.dm +++ b/code/modules/events/spider_terror.dm @@ -11,7 +11,7 @@ /datum/event/spider_terror/announce() if(successSpawn) - GLOB.command_announcement.Announce("Confirmed outbreak of level 3 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/effects/siren-spooky.ogg') + GLOB.command_announcement.Announce("Confirmed outbreak of level 3 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/effects/siren-spooky.ogg', new_sound2 = 'sound/AI/outbreak3.ogg') else log_and_message_admins("Warning: Could not spawn any mobs for event Terror Spiders") @@ -61,4 +61,3 @@ successSpawn = TRUE #undef TS_HIGHPOP_TRIGGER - diff --git a/code/modules/events/tear.dm b/code/modules/events/tear.dm index 85976290f9c..ae0597e501f 100644 --- a/code/modules/events/tear.dm +++ b/code/modules/events/tear.dm @@ -5,7 +5,7 @@ var/obj/effect/tear/TE /datum/event/tear/announce() - GLOB.event_announcement.Announce("A tear in the fabric of space and time has opened. Expected location: [impact_area.name].", "Anomaly Alert") + GLOB.event_announcement.Announce("A tear in the fabric of space and time has opened. Expected location: [impact_area.name].", "Anomaly Alert", 'sound/AI/anomaly.ogg') /datum/event/tear/start() var/turf/T = pick(get_area_turfs(impact_area)) diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index daa2013a126..484b3eb2e73 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -6,7 +6,7 @@ var/list/vents = list() /datum/event/vent_clog/announce() - GLOB.event_announcement.Announce("The scrubbers network is experiencing a backpressure surge. Some ejection of contents may occur.", "Atmospherics alert") + GLOB.event_announcement.Announce("The scrubbers network is experiencing a backpressure surge. Some ejection of contents may occur.", "Atmospherics alert", 'sound/AI/scrubbers.ogg') /datum/event/vent_clog/setup() endWhen = rand(25, 100) diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index 717f9700316..30bd84c48fc 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -27,7 +27,7 @@ if(SSshuttle.emergency.mode == SHUTTLE_STRANDED) SSshuttle.emergency.mode = SHUTTLE_DOCKED SSshuttle.emergency.timer = world.time - GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/shuttledock.ogg') + GLOB.priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/eshuttle_dock.ogg') qdel(doomsday_device) if(explosive) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 4c3635e406a..9d2ddae7a65 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -33,7 +33,7 @@ /mob/living/simple_animal/hostile/netherworld/migo/Initialize(mapload) . = ..() - migo_sounds = list('sound/items/bubblewrap.ogg', 'sound/items/change_jaws.ogg', 'sound/items/crowbar.ogg', 'sound/items/drink.ogg', 'sound/items/deconstruct.ogg', 'sound/items/change_drill.ogg', 'sound/items/dodgeball.ogg', 'sound/items/eatfood.ogg', 'sound/items/screwdriver.ogg', 'sound/items/weeoo1.ogg', 'sound/items/wirecutter.ogg', 'sound/items/welder.ogg', 'sound/items/zip.ogg', 'sound/items/rped.ogg', 'sound/items/ratchet.ogg', 'sound/items/polaroid1.ogg', 'sound/items/pshoom.ogg', 'sound/items/airhorn.ogg', 'sound/voice/bcreep.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/ed209_20sec.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss6.ogg', 'sound/voice/mpatchedup.ogg', 'sound/voice/mfeelbetter.ogg', 'sound/weapons/sear.ogg', 'sound/ambience/antag/tatoralert.ogg', 'sound/mecha/nominal.ogg', 'sound/mecha/weapdestr.ogg', 'sound/mecha/critdestr.ogg', 'sound/mecha/imag_enh.ogg', 'sound/effects/adminhelp.ogg', 'sound/effects/alert.ogg', 'sound/effects/attackblob.ogg', 'sound/effects/bamf.ogg', 'sound/effects/blobattack.ogg', 'sound/effects/break_stone.ogg', 'sound/effects/bubbles.ogg', 'sound/effects/bubbles2.ogg', 'sound/effects/clang.ogg', 'sound/effects/clownstep2.ogg', 'sound/effects/dimensional_rend.ogg', 'sound/effects/doorcreaky.ogg', 'sound/effects/empulse.ogg', 'sound/effects/explosionfar.ogg', 'sound/effects/explosion1.ogg', 'sound/effects/grillehit.ogg', 'sound/effects/genetics.ogg', 'sound/effects/heartbeat.ogg', 'sound/effects/hyperspace_begin.ogg', 'sound/effects/hyperspace_end.ogg', 'sound/goonstation/effects/screech.ogg', 'sound/effects/phasein.ogg', 'sound/effects/picaxe1.ogg', 'sound/effects/sparks1.ogg', 'sound/effects/smoke.ogg', 'sound/effects/splat.ogg', 'sound/effects/snap.ogg', 'sound/effects/tendril_destroyed.ogg', 'sound/effects/supermatter.ogg', 'sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg', 'sound/misc/bloblarm.ogg', 'sound/goonstation/misc/airraid_loop.ogg', 'sound/misc/interference.ogg', 'sound/misc/notice1.ogg', 'sound/misc/notice2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/misc/slip.ogg', 'sound/weapons/armbomb.ogg', 'sound/weapons/chainsaw.ogg', 'sound/weapons/emitter.ogg', 'sound/weapons/emitter2.ogg', 'sound/weapons/blade1.ogg', 'sound/weapons/bladeslice.ogg', 'sound/weapons/blastcannon.ogg', 'sound/weapons/blaster.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/weapons/circsawhit.ogg', 'sound/weapons/cqchit2.ogg', 'sound/weapons/drill.ogg', 'sound/weapons/genhit1.ogg', 'sound/weapons/gunshots/gunshot_silenced.ogg', 'sound/weapons/gunshots/gunshot.ogg', 'sound/weapons/handcuffs.ogg', 'sound/weapons/homerun.ogg', 'sound/weapons/kenetic_accel.ogg', 'sound/machines/fryer/deep_fryer_emerge.ogg', 'sound/machines/airlock_alien_prying.ogg', 'sound/machines/airlock_close.ogg', 'sound/machines/airlockforced.ogg', 'sound/machines/airlock_open.ogg', 'sound/machines/alarm.ogg', 'sound/machines/blender.ogg', 'sound/machines/boltsdown.ogg', 'sound/machines/boltsup.ogg', 'sound/machines/buzz-sigh.ogg', 'sound/machines/buzz-two.ogg', 'sound/machines/chime.ogg', 'sound/machines/defib_charge.ogg', 'sound/machines/defib_failed.ogg', 'sound/machines/defib_ready.ogg', 'sound/machines/defib_zap.ogg', 'sound/machines/deniedbeep.ogg', 'sound/machines/ding.ogg', 'sound/machines/disposalflush.ogg', 'sound/machines/door_close.ogg', 'sound/machines/door_open.ogg', 'sound/machines/engine_alert1.ogg', 'sound/machines/engine_alert2.ogg', 'sound/machines/hiss.ogg', 'sound/machines/honkbot_evil_laugh.ogg', 'sound/machines/juicer.ogg', 'sound/machines/ping.ogg', 'sound/ambience/signal.ogg', 'sound/machines/synth_no.ogg', 'sound/machines/synth_yes.ogg', 'sound/machines/terminal_alert.ogg', 'sound/machines/twobeep.ogg', 'sound/machines/ventcrawl.ogg', 'sound/machines/warning-buzzer.ogg', 'sound/ai/outbreak5.ogg', 'sound/ai/outbreak7.ogg', 'sound/ai/poweroff.ogg', 'sound/ai/radiation.ogg', 'sound/ai/shuttlecalled.ogg', 'sound/ai/shuttledock.ogg', 'sound/ai/shuttlerecalled.ogg', 'sound/ai/aimalf.ogg', 'sound/ambience/ambigen1.ogg', 'sound/ambience/ambigen3.ogg', 'sound/ambience/ambigen4.ogg', 'sound/ambience/ambigen5.ogg', 'sound/ambience/ambigen6.ogg', 'sound/ambience/ambigen10.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg') //hahahaha fuck you code divers + migo_sounds = list('sound/items/bubblewrap.ogg', 'sound/items/change_jaws.ogg', 'sound/items/crowbar.ogg', 'sound/items/drink.ogg', 'sound/items/deconstruct.ogg', 'sound/items/change_drill.ogg', 'sound/items/dodgeball.ogg', 'sound/items/eatfood.ogg', 'sound/items/screwdriver.ogg', 'sound/items/weeoo1.ogg', 'sound/items/wirecutter.ogg', 'sound/items/welder.ogg', 'sound/items/zip.ogg', 'sound/items/rped.ogg', 'sound/items/ratchet.ogg', 'sound/items/polaroid1.ogg', 'sound/items/pshoom.ogg', 'sound/items/airhorn.ogg', 'sound/voice/bcreep.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/ed209_20sec.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss6.ogg', 'sound/voice/mpatchedup.ogg', 'sound/voice/mfeelbetter.ogg', 'sound/weapons/sear.ogg', 'sound/ambience/antag/tatoralert.ogg', 'sound/mecha/nominal.ogg', 'sound/mecha/weapdestr.ogg', 'sound/mecha/critdestr.ogg', 'sound/mecha/imag_enh.ogg', 'sound/effects/adminhelp.ogg', 'sound/effects/alert.ogg', 'sound/effects/attackblob.ogg', 'sound/effects/bamf.ogg', 'sound/effects/blobattack.ogg', 'sound/effects/break_stone.ogg', 'sound/effects/bubbles.ogg', 'sound/effects/bubbles2.ogg', 'sound/effects/clang.ogg', 'sound/effects/clownstep2.ogg', 'sound/effects/dimensional_rend.ogg', 'sound/effects/doorcreaky.ogg', 'sound/effects/empulse.ogg', 'sound/effects/explosionfar.ogg', 'sound/effects/explosion1.ogg', 'sound/effects/grillehit.ogg', 'sound/effects/genetics.ogg', 'sound/effects/heartbeat.ogg', 'sound/effects/hyperspace_begin.ogg', 'sound/effects/hyperspace_end.ogg', 'sound/goonstation/effects/screech.ogg', 'sound/effects/phasein.ogg', 'sound/effects/picaxe1.ogg', 'sound/effects/sparks1.ogg', 'sound/effects/smoke.ogg', 'sound/effects/splat.ogg', 'sound/effects/snap.ogg', 'sound/effects/tendril_destroyed.ogg', 'sound/effects/supermatter.ogg', 'sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg', 'sound/misc/bloblarm.ogg', 'sound/goonstation/misc/airraid_loop.ogg', 'sound/misc/interference.ogg', 'sound/misc/notice1.ogg', 'sound/misc/notice2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/misc/slip.ogg', 'sound/weapons/armbomb.ogg', 'sound/weapons/chainsaw.ogg', 'sound/weapons/emitter.ogg', 'sound/weapons/emitter2.ogg', 'sound/weapons/blade1.ogg', 'sound/weapons/bladeslice.ogg', 'sound/weapons/blastcannon.ogg', 'sound/weapons/blaster.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/weapons/circsawhit.ogg', 'sound/weapons/cqchit2.ogg', 'sound/weapons/drill.ogg', 'sound/weapons/genhit1.ogg', 'sound/weapons/gunshots/gunshot_silenced.ogg', 'sound/weapons/gunshots/gunshot.ogg', 'sound/weapons/handcuffs.ogg', 'sound/weapons/homerun.ogg', 'sound/weapons/kenetic_accel.ogg', 'sound/machines/fryer/deep_fryer_emerge.ogg', 'sound/machines/airlock_alien_prying.ogg', 'sound/machines/airlock_close.ogg', 'sound/machines/airlockforced.ogg', 'sound/machines/airlock_open.ogg', 'sound/machines/alarm.ogg', 'sound/machines/blender.ogg', 'sound/machines/boltsdown.ogg', 'sound/machines/boltsup.ogg', 'sound/machines/buzz-sigh.ogg', 'sound/machines/buzz-two.ogg', 'sound/machines/chime.ogg', 'sound/machines/defib_charge.ogg', 'sound/machines/defib_failed.ogg', 'sound/machines/defib_ready.ogg', 'sound/machines/defib_zap.ogg', 'sound/machines/deniedbeep.ogg', 'sound/machines/ding.ogg', 'sound/machines/disposalflush.ogg', 'sound/machines/door_close.ogg', 'sound/machines/door_open.ogg', 'sound/machines/engine_alert1.ogg', 'sound/machines/engine_alert2.ogg', 'sound/machines/hiss.ogg', 'sound/machines/honkbot_evil_laugh.ogg', 'sound/machines/juicer.ogg', 'sound/machines/ping.ogg', 'sound/ambience/signal.ogg', 'sound/machines/synth_no.ogg', 'sound/machines/synth_yes.ogg', 'sound/machines/terminal_alert.ogg', 'sound/machines/twobeep.ogg', 'sound/machines/ventcrawl.ogg', 'sound/machines/warning-buzzer.ogg', 'sound/ai/outbreak5.ogg', 'sound/ai/outbreak7.ogg', 'sound/ai/alert.ogg', 'sound/ai/radiation.ogg', 'sound/ai/eshuttle_call.ogg', 'sound/ai/eshuttle_dock.ogg', 'sound/ai/eshuttle_recall.ogg', 'sound/ai/aimalf.ogg', 'sound/ambience/ambigen1.ogg', 'sound/ambience/ambigen3.ogg', 'sound/ambience/ambigen4.ogg', 'sound/ambience/ambigen5.ogg', 'sound/ambience/ambigen6.ogg', 'sound/ambience/ambigen10.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg') //hahahaha fuck you code divers /mob/living/simple_animal/hostile/netherworld/migo/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) ..() diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm index d3d4be7dff9..c9bf85eaac4 100644 --- a/code/modules/security_levels/security_levels.dm +++ b/code/modules/security_levels/security_levels.dm @@ -33,7 +33,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur switch(level) if(SEC_LEVEL_GREEN) - GLOB.security_announcement_down.Announce("All threats to the station have passed. All weapons need to be holstered and privacy laws are once again fully enforced.","Attention! Security level lowered to green.") + GLOB.security_announcement_down.Announce("All threats to the station have passed. All weapons need to be holstered and privacy laws are once again fully enforced.","Attention! Security level lowered to green.", 'sound/AI/green.ogg') GLOB.security_level = SEC_LEVEL_GREEN post_status("alert", "outline") @@ -45,9 +45,9 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur if(SEC_LEVEL_BLUE) if(GLOB.security_level < SEC_LEVEL_BLUE) - GLOB.security_announcement_up.Announce("The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible and random searches are permitted.","Attention! Security level elevated to blue.") + GLOB.security_announcement_up.Announce("The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible and random searches are permitted.","Attention! Security level elevated to blue.", 'sound/AI/blue.ogg') else - GLOB.security_announcement_down.Announce("The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed.","Attention! Security level lowered to blue.") + GLOB.security_announcement_down.Announce("The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed.","Attention! Security level lowered to blue.", 'sound/AI/blue.ogg') GLOB.security_level = SEC_LEVEL_BLUE post_status("alert", "outline") @@ -59,9 +59,9 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur if(SEC_LEVEL_RED) if(GLOB.security_level < SEC_LEVEL_RED) - GLOB.security_announcement_up.Announce("There is an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!") + GLOB.security_announcement_up.Announce("There is an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!", 'sound/AI/red.ogg') else - GLOB.security_announcement_down.Announce("The station's self-destruct mechanism has been deactivated, but there is still an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!") + GLOB.security_announcement_down.Announce("The station's self-destruct mechanism has been deactivated, but there is still an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!", 'sound/AI/red.ogg') GLOB.security_level = SEC_LEVEL_RED var/obj/machinery/door/airlock/highsecurity/red/R = locate(/obj/machinery/door/airlock/highsecurity/red) in GLOB.airlocks @@ -77,7 +77,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur FA.overlays += image('icons/obj/monitors.dmi', "overlay_red") if(SEC_LEVEL_GAMMA) - GLOB.security_announcement_up.Announce("Central Command has ordered the Gamma security level on the station. Security is to have weapons equipped at all times, and all civilians are to immediately seek their nearest head for transportation to a secure location.", "Attention! Gamma security level activated!", sound('sound/effects/new_siren.ogg')) + GLOB.security_announcement_up.Announce("Central Command has ordered the Gamma security level on the station. Security is to have weapons equipped at all times, and all civilians are to immediately seek their nearest head for transportation to a secure location.", "Attention! Gamma security level activated!", 'sound/effects/new_siren.ogg', new_sound2 = 'sound/AI/gamma.ogg') GLOB.security_level = SEC_LEVEL_GAMMA if(GLOB.security_level < SEC_LEVEL_RED) @@ -95,7 +95,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur FA.update_icon() if(SEC_LEVEL_EPSILON) - GLOB.security_announcement_up.Announce("Central Command has ordered the Epsilon security level on the station. Consider all contracts terminated.","Attention! Epsilon security level activated!", new_sound = sound('sound/effects/purge_siren.ogg')) + GLOB.security_announcement_up.Announce("Central Command has ordered the Epsilon security level on the station. Consider all contracts terminated.","Attention! Epsilon security level activated!", 'sound/effects/purge_siren.ogg', new_sound2 = 'sound/AI/epsilon.ogg') GLOB.security_level = SEC_LEVEL_EPSILON post_status("alert", "epsilonalert") @@ -106,7 +106,7 @@ GLOBAL_DATUM_INIT(security_announcement_down, /datum/announcement/priority/secur FA.overlays += image('icons/obj/monitors.dmi', "overlay_epsilon") if(SEC_LEVEL_DELTA) - GLOB.security_announcement_up.Announce("The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill.","Attention! Delta security level reached!", new_sound = sound('sound/effects/deltaalarm.ogg')) + GLOB.security_announcement_up.Announce("The station's self-destruct mechanism has been engaged. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill.","Attention! Delta security level reached!", 'sound/effects/deltaalarm.ogg', new_sound2 = 'sound/AI/delta.ogg') GLOB.security_level = SEC_LEVEL_DELTA post_status("alert", "deltaalert") diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 8a5c2118794..f9c3edf437c 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -86,12 +86,15 @@ travelDir = 0 var/sound_played = 0 //If the launch sound has been sent to all players on the shuttle itself - var/datum/announcement/priority/emergency_shuttle_docked = new(0, new_sound = sound('sound/AI/shuttledock.ogg')) - var/datum/announcement/priority/emergency_shuttle_called = new(0, new_sound = sound('sound/AI/shuttlecalled.ogg')) - var/datum/announcement/priority/emergency_shuttle_recalled = new(0, new_sound = sound('sound/AI/shuttlerecalled.ogg')) + var/datum/announcement/priority/emergency_shuttle_docked = new(0, new_sound = sound('sound/AI/eshuttle_dock.ogg')) + var/datum/announcement/priority/emergency_shuttle_called = new(0, new_sound = sound('sound/AI/eshuttle_call.ogg')) + var/datum/announcement/priority/emergency_shuttle_recalled = new(0, new_sound = sound('sound/AI/eshuttle_recall.ogg')) var/canRecall = TRUE //no bad condom, do not recall the crew transfer shuttle! + var/datum/announcement/priority/crew_shuttle_called = new(0, new_sound = sound('sound/AI/cshuttle.ogg')) + var/datum/announcement/priority/crew_shuttle_docked = new(0, new_sound = sound('sound/AI/cshuttle_dock.ogg')) + /obj/docking_port/mobile/emergency/register() if(!..()) @@ -146,9 +149,10 @@ SSshuttle.emergencyLastCallLoc = signalOrigin else SSshuttle.emergencyLastCallLoc = null - - emergency_shuttle_called.Announce("The emergency shuttle has been called. [redAlert ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [timeLeft(600)] minutes.[reason][SSshuttle.emergencyLastCallLoc ? "\n\nCall signal traced. Results can be viewed on any communications console." : "" ]") - + if(canRecall) + emergency_shuttle_called.Announce("The emergency shuttle has been called. [redAlert ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [timeLeft(600)] minutes.[reason][SSshuttle.emergencyLastCallLoc ? "\n\nCall signal traced. Results can be viewed on any communications console." : "" ]") + else + crew_shuttle_called.Announce("The crew transfer shuttle has been called. [redAlert ? "Red Alert state confirmed: Dispatching priority shuttle. " : "" ]It will arrive in [timeLeft(600)] minutes.[reason]") /obj/docking_port/mobile/emergency/cancel(area/signalOrigin) if(!canRecall) @@ -230,7 +234,10 @@ return mode = SHUTTLE_DOCKED timer = world.time - emergency_shuttle_docked.Announce("The Emergency Shuttle has docked with the station. You have [timeLeft(600)] minutes to board the Emergency Shuttle.") + if(canRecall) + emergency_shuttle_docked.Announce("The emergency shuttle has docked with the station. You have [timeLeft(600)] minutes to board the emergency shuttle.") + else + crew_shuttle_docked.Announce("The crew transfer shuttle has docked with the station. You have [timeLeft(600)] minutes to board the crew transfer shuttle.") /* //Gangs only have one attempt left if the shuttle has docked with the station to prevent suffering from dominator delays diff --git a/code/modules/station_goals/bluespace_tap.dm b/code/modules/station_goals/bluespace_tap.dm index 6e6898bde1f..9bdf10d9407 100644 --- a/code/modules/station_goals/bluespace_tap.dm +++ b/code/modules/station_goals/bluespace_tap.dm @@ -326,7 +326,7 @@ else if(input_level > desired_level) input_level-- if(prob(input_level - safe_levels + (emagged * 5))) //at dangerous levels, start doing freaky shit. prob with values less than 0 treat it as 0 - GLOB.event_announcement.Announce("Unexpected power spike during Bluespace Harvester Operation. Extra-dimensional intruder alert. Expected location: [get_area(src).name]. [emagged ? "DANGER: Emergency shutdown failed! Please proceed with manual shutdown." : "Emergency shutdown initiated."]", "Bluespace Harvester Malfunction") + GLOB.event_announcement.Announce("Unexpected power spike during Bluespace Harvester Operation. Extra-dimensional intruder alert. Expected location: [get_area(src).name]. [emagged ? "DANGER: Emergency shutdown failed! Please proceed with manual shutdown." : "Emergency shutdown initiated."]", "Bluespace Harvester Malfunction", 'sound/AI/harvester.ogg') if(!emagged) input_level = 0 //emergency shutdown unless we're sabotaged desired_level = 0 diff --git a/sound/AI/alert.ogg b/sound/AI/alert.ogg new file mode 100644 index 00000000000..66218bb12a4 Binary files /dev/null and b/sound/AI/alert.ogg differ diff --git a/sound/AI/aliens.ogg b/sound/AI/aliens.ogg index f7d1746247f..998cc724357 100644 Binary files a/sound/AI/aliens.ogg and b/sound/AI/aliens.ogg differ diff --git a/sound/AI/animes.ogg b/sound/AI/animes.ogg index a46a207edc4..0e393fbb29f 100644 Binary files a/sound/AI/animes.ogg and b/sound/AI/animes.ogg differ diff --git a/sound/AI/anomaly.ogg b/sound/AI/anomaly.ogg new file mode 100644 index 00000000000..78a6b48c169 Binary files /dev/null and b/sound/AI/anomaly.ogg differ diff --git a/sound/AI/attention.ogg b/sound/AI/attention.ogg index 912be4425eb..d8a0b98a4aa 100644 Binary files a/sound/AI/attention.ogg and b/sound/AI/attention.ogg differ diff --git a/sound/AI/blue.ogg b/sound/AI/blue.ogg new file mode 100644 index 00000000000..bfbd0a50b93 Binary files /dev/null and b/sound/AI/blue.ogg differ diff --git a/sound/AI/brand_intelligence.ogg b/sound/AI/brand_intelligence.ogg new file mode 100644 index 00000000000..bd35a794bab Binary files /dev/null and b/sound/AI/brand_intelligence.ogg differ diff --git a/sound/AI/commandreport.ogg b/sound/AI/commandreport.ogg index 82e4ca425de..91569bf738a 100644 Binary files a/sound/AI/commandreport.ogg and b/sound/AI/commandreport.ogg differ diff --git a/sound/AI/cshuttle.ogg b/sound/AI/cshuttle.ogg new file mode 100644 index 00000000000..bc6dfbe2d56 Binary files /dev/null and b/sound/AI/cshuttle.ogg differ diff --git a/sound/AI/cshuttle_dock.ogg b/sound/AI/cshuttle_dock.ogg new file mode 100644 index 00000000000..7018743fab4 Binary files /dev/null and b/sound/AI/cshuttle_dock.ogg differ diff --git a/sound/AI/delam.ogg b/sound/AI/delam.ogg new file mode 100644 index 00000000000..b1822b5a69f Binary files /dev/null and b/sound/AI/delam.ogg differ diff --git a/sound/AI/delta.ogg b/sound/AI/delta.ogg new file mode 100644 index 00000000000..5ed127bc694 Binary files /dev/null and b/sound/AI/delta.ogg differ diff --git a/sound/AI/door_runtimes.ogg b/sound/AI/door_runtimes.ogg new file mode 100644 index 00000000000..d67b6568b3b Binary files /dev/null and b/sound/AI/door_runtimes.ogg differ diff --git a/sound/AI/door_runtimes_fix.ogg b/sound/AI/door_runtimes_fix.ogg new file mode 100644 index 00000000000..1508ff9d027 Binary files /dev/null and b/sound/AI/door_runtimes_fix.ogg differ diff --git a/sound/AI/elec_storm.ogg b/sound/AI/elec_storm.ogg new file mode 100644 index 00000000000..b4a417eacd4 Binary files /dev/null and b/sound/AI/elec_storm.ogg differ diff --git a/sound/AI/epsilon.ogg b/sound/AI/epsilon.ogg new file mode 100644 index 00000000000..0ef61026881 Binary files /dev/null and b/sound/AI/epsilon.ogg differ diff --git a/sound/AI/eshuttle_call.ogg b/sound/AI/eshuttle_call.ogg new file mode 100644 index 00000000000..b7fcc6f4213 Binary files /dev/null and b/sound/AI/eshuttle_call.ogg differ diff --git a/sound/AI/eshuttle_dock.ogg b/sound/AI/eshuttle_dock.ogg new file mode 100644 index 00000000000..246a0a603a4 Binary files /dev/null and b/sound/AI/eshuttle_dock.ogg differ diff --git a/sound/AI/eshuttle_recall.ogg b/sound/AI/eshuttle_recall.ogg new file mode 100644 index 00000000000..07d665f1052 Binary files /dev/null and b/sound/AI/eshuttle_recall.ogg differ diff --git a/sound/AI/flare.ogg b/sound/AI/flare.ogg new file mode 100644 index 00000000000..7eafb3f832b Binary files /dev/null and b/sound/AI/flare.ogg differ diff --git a/sound/AI/gamma.ogg b/sound/AI/gamma.ogg new file mode 100644 index 00000000000..4738f1c8959 Binary files /dev/null and b/sound/AI/gamma.ogg differ diff --git a/sound/AI/granomalies.ogg b/sound/AI/granomalies.ogg deleted file mode 100644 index 89b368d596a..00000000000 Binary files a/sound/AI/granomalies.ogg and /dev/null differ diff --git a/sound/AI/green.ogg b/sound/AI/green.ogg new file mode 100644 index 00000000000..44cb4108976 Binary files /dev/null and b/sound/AI/green.ogg differ diff --git a/sound/AI/harvester.ogg b/sound/AI/harvester.ogg new file mode 100644 index 00000000000..a10b308ed09 Binary files /dev/null and b/sound/AI/harvester.ogg differ diff --git a/sound/AI/intercept.ogg b/sound/AI/intercept.ogg index 3569a07d401..30dba660681 100644 Binary files a/sound/AI/intercept.ogg and b/sound/AI/intercept.ogg differ diff --git a/sound/AI/intercept2.ogg b/sound/AI/intercept2.ogg deleted file mode 100644 index ab106a7295a..00000000000 Binary files a/sound/AI/intercept2.ogg and /dev/null differ diff --git a/sound/AI/ions.ogg b/sound/AI/ions.ogg new file mode 100644 index 00000000000..f92c8b0b050 Binary files /dev/null and b/sound/AI/ions.ogg differ diff --git a/sound/AI/ionstorm.ogg b/sound/AI/ionstorm.ogg deleted file mode 100644 index 9f39713de6e..00000000000 Binary files a/sound/AI/ionstorm.ogg and /dev/null differ diff --git a/sound/AI/meteors.ogg b/sound/AI/meteors.ogg index 8f1c3aeacbb..e49b92065e6 100644 Binary files a/sound/AI/meteors.ogg and b/sound/AI/meteors.ogg differ diff --git a/sound/AI/newai.ogg b/sound/AI/newai.ogg deleted file mode 100644 index 35aba34564f..00000000000 Binary files a/sound/AI/newai.ogg and /dev/null differ diff --git a/sound/AI/newroundsexy.ogg b/sound/AI/newroundsexy.ogg index afe5630f04d..1e7242dbff2 100644 Binary files a/sound/AI/newroundsexy.ogg and b/sound/AI/newroundsexy.ogg differ diff --git a/sound/AI/newroundsexy2.ogg b/sound/AI/newroundsexy2.ogg deleted file mode 100644 index 531bba10014..00000000000 Binary files a/sound/AI/newroundsexy2.ogg and /dev/null differ diff --git a/sound/AI/outbreak3.ogg b/sound/AI/outbreak3.ogg new file mode 100644 index 00000000000..0874464750b Binary files /dev/null and b/sound/AI/outbreak3.ogg differ diff --git a/sound/AI/outbreak5.ogg b/sound/AI/outbreak5.ogg index 39c79c920fd..51869a19fcd 100644 Binary files a/sound/AI/outbreak5.ogg and b/sound/AI/outbreak5.ogg differ diff --git a/sound/AI/outbreak7.ogg b/sound/AI/outbreak7.ogg index f21d4fca443..edf21efd502 100644 Binary files a/sound/AI/outbreak7.ogg and b/sound/AI/outbreak7.ogg differ diff --git a/sound/AI/power_overload.ogg b/sound/AI/power_overload.ogg new file mode 100644 index 00000000000..913cae054a3 Binary files /dev/null and b/sound/AI/power_overload.ogg differ diff --git a/sound/AI/poweroff.ogg b/sound/AI/poweroff.ogg deleted file mode 100644 index 1c6377c9d8d..00000000000 Binary files a/sound/AI/poweroff.ogg and /dev/null differ diff --git a/sound/AI/poweron.ogg b/sound/AI/poweron.ogg deleted file mode 100644 index 9d18797d6ea..00000000000 Binary files a/sound/AI/poweron.ogg and /dev/null differ diff --git a/sound/AI/radiation.ogg b/sound/AI/radiation.ogg index ef395af3101..d60bec74b05 100644 Binary files a/sound/AI/radiation.ogg and b/sound/AI/radiation.ogg differ diff --git a/sound/AI/red.ogg b/sound/AI/red.ogg new file mode 100644 index 00000000000..3f7ad4ce9e3 Binary files /dev/null and b/sound/AI/red.ogg differ diff --git a/sound/AI/scrubbers.ogg b/sound/AI/scrubbers.ogg new file mode 100644 index 00000000000..ccdb40949c3 Binary files /dev/null and b/sound/AI/scrubbers.ogg differ diff --git a/sound/AI/shuttlecalled.ogg b/sound/AI/shuttlecalled.ogg deleted file mode 100644 index 716bf824654..00000000000 Binary files a/sound/AI/shuttlecalled.ogg and /dev/null differ diff --git a/sound/AI/shuttledock.ogg b/sound/AI/shuttledock.ogg deleted file mode 100644 index 0f70bebc751..00000000000 Binary files a/sound/AI/shuttledock.ogg and /dev/null differ diff --git a/sound/AI/shuttlerecalled.ogg b/sound/AI/shuttlerecalled.ogg deleted file mode 100644 index 5f6db404b87..00000000000 Binary files a/sound/AI/shuttlerecalled.ogg and /dev/null differ diff --git a/sound/AI/spanomalies.ogg b/sound/AI/spanomalies.ogg index 7680726f153..44f249c24ab 100644 Binary files a/sound/AI/spanomalies.ogg and b/sound/AI/spanomalies.ogg differ diff --git a/sound/AI/welcome.ogg b/sound/AI/welcome.ogg index c7013dcbd5f..87354bf38e8 100644 Binary files a/sound/AI/welcome.ogg and b/sound/AI/welcome.ogg differ diff --git a/tools/announcement_voice_filter/.bitwig-project b/tools/announcement_voice_filter/.bitwig-project new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tools/announcement_voice_filter/README.md b/tools/announcement_voice_filter/README.md new file mode 100644 index 00000000000..db389ad1183 --- /dev/null +++ b/tools/announcement_voice_filter/README.md @@ -0,0 +1,17 @@ +# AI Announcement Voice Effects Template +This template file helps apply the correct sound effects to generate further Station AI announcement messages. + +--- + +### Requirements +You need a copy (full or trial) of Bitwig Studio 3.x, and access to Amazon Polly's free tier. If you are using a trial version of Bitwig Studio, you also require a free audio editor such as Audacity. + + +### Amazon Polly +Plain text, Standard engine, Englush US, Joanna - Female. + + +### Bitwig studio +All you need to do is drag your generated polly voice into the project. +Ensure the tempo is 114.4 for your track. +Record or export the output directly to OGG (if you own a license) or to a free editor such as Audacity via loopback recording diff --git a/tools/announcement_voice_filter/StationAI.bwproject b/tools/announcement_voice_filter/StationAI.bwproject new file mode 100644 index 00000000000..a7fc00a20b9 Binary files /dev/null and b/tools/announcement_voice_filter/StationAI.bwproject differ