diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 040232d7baa..c33ecb81ac9 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -17,6 +17,7 @@ var/datum/subsystem/ticker/ticker var/event = 0 var/login_music //music played in pregame lobby + var/round_end_sound //music/jingle played when the world reboots var/list/datum/mind/minds = list() //The characters in the game. Used for objective tracking. @@ -50,6 +51,8 @@ var/datum/subsystem/ticker/ticker if(SSevent.holidays && SSevent.holidays[APRIL_FOOLS]) login_music = 'sound/ambience/clown.ogg' + round_end_sound = pick('sound/AI/newroundsexy.ogg','sound/misc/apcdestroyed.ogg','sound/misc/bangindonk.ogg','sound/misc/leavingtg.ogg') + /datum/subsystem/ticker/Initialize() if(!syndicate_code_phrase) syndicate_code_phrase = generate_code_phrase() if(!syndicate_code_response) syndicate_code_response = generate_code_phrase() diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 106becf41c8..ce9bc361b99 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -69,6 +69,7 @@ var/list/admin_verbs_ban = list( var/list/admin_verbs_sounds = list( /client/proc/play_local_sound, /client/proc/play_sound, + /client/proc/set_round_end_sound, ) var/list/admin_verbs_fun = list( /client/proc/cmd_admin_dress, @@ -158,6 +159,7 @@ var/list/admin_verbs_hideable = list( /client/proc/check_words, /client/proc/play_local_sound, /client/proc/play_sound, + /client/proc/set_round_end_sound, /client/proc/cmd_admin_dress, /client/proc/cmd_admin_gib_self, /client/proc/drop_bomb, diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 22f77f0e643..82e183bf91f 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -36,6 +36,20 @@ var/sound/admin_sound playsound(get_turf(src.mob), S, 50, 0, 0) feedback_add_details("admin_verb","PLS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/proc/set_round_end_sound(S as sound) + set category = "Fun" + set name = "Set Round End Sound" + if(!check_rights(R_SOUNDS)) return + + if(ticker) + ticker.round_end_sound = S + else + return + + log_admin("[key_name(src)] set the round end sound to [S]") + message_admins("[key_name_admin(src)] set the round end sound to [S]") + feedback_add_details("admin_verb","SRES") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/stop_sounds() set category = "Debug" set name = "Stop Sounds" diff --git a/code/world.dm b/code/world.dm index 182130a4ce2..de98ae35678 100644 --- a/code/world.dm +++ b/code/world.dm @@ -146,7 +146,10 @@ log << "#[count]\t[index]" #endif spawn(0) - world << sound(pick('sound/AI/newroundsexy.ogg','sound/misc/apcdestroyed.ogg','sound/misc/bangindonk.ogg','sound/misc/leavingtg.ogg')) // random end sounds!! - LastyBatsy + if(ticker && ticker.round_end_sound) + world << sound(ticker.round_end_sound) + else + world << sound(pick('sound/AI/newroundsexy.ogg','sound/misc/apcdestroyed.ogg','sound/misc/bangindonk.ogg','sound/misc/leavingtg.ogg')) // random end sounds!! - LastyBatsy for(var/client/C in clients) if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite diff --git a/html/changelogs/Incoming5643-roundsounds.yml b/html/changelogs/Incoming5643-roundsounds.yml new file mode 100644 index 00000000000..1385fb04122 --- /dev/null +++ b/html/changelogs/Incoming5643-roundsounds.yml @@ -0,0 +1,6 @@ +author: Incoming5643 + +delete-after: True + +changes: + - rscadd: "Adds a new fun button for admins: "Set Round End Sound". You can use the set round end sound button to set the round end sound. Glad we cleared that up! \ No newline at end of file