From ad450f76e8cb168661850b0cd9240cf6a8efe944 Mon Sep 17 00:00:00 2001
From: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Date: Wed, 20 May 2026 13:13:42 -0400
Subject: [PATCH] Re-attempt at vv editing lobby music (#96093)
## About The Pull Request
Previous attempt was in
https://github.com/tgstation/tgstation/pull/95870 but I got 0 feedback
and it just staled and closed.
Instead of adding it as a secret button I am simply making it so vv
editing the ticker's lobby music will properly update it for everyone.
## Why It's Good For The Game
QoL for admins.
## Changelog
:cl:
admin: Changing lobby music now updates for people in the lobby.
/:cl:
---
code/controllers/subsystem/ticker.dm | 9 +++++++++
code/modules/holiday/holidays.dm | 4 ----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 9c5f67ec601..06a13b68b82 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -203,6 +203,11 @@ SUBSYSTEM_DEF(ticker)
else
reboot_hud.maptext = MAPTEXT_PIXELLARI("
Server rebooting in:\n\ [DisplayTimeText(timeleft(SSticker.reboot_timer), 1)]")
+/datum/controller/subsystem/ticker/vv_edit_var(var_name, var_value)
+ if(var_name == NAMEOF(src, login_music))
+ set_lobby_music(var_value, override = TRUE)
+ return ..()
+
/// Checks if the round should be ending, called every ticker tick
/datum/controller/subsystem/ticker/proc/check_finished()
if(!setup_done)
@@ -887,6 +892,10 @@ SUBSYSTEM_DEF(ticker)
return
login_music = new_music
+ //we just overrode the song, let's update everyone.
+ if(override)
+ for(var/mob/dead/new_player/new_player as anything in GLOB.new_player_list)
+ new_player?.client.playtitlemusic()
#undef ROUND_START_MUSIC_LIST
#undef SS_TICKER_TRAIT
diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm
index a39855ce114..3e6d68cbffd 100644
--- a/code/modules/holiday/holidays.dm
+++ b/code/modules/holiday/holidays.dm
@@ -298,10 +298,6 @@ GLOBAL_LIST_INIT(holiday_mail, list())
. = ..()
SSjob.set_overflow_role(/datum/job/clown)
SSticker.set_lobby_music('sound/music/lobby_music/clown.ogg', override = TRUE)
- for(var/i in GLOB.new_player_list)
- var/mob/dead/new_player/P = i
- if(P.client)
- P.client.playtitlemusic()
/datum/holiday/april_fools/get_holiday_colors(atom/thing_to_color)
return "#[random_short_color()]"