diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm
index f2dc9439488..0261cbd891a 100644
--- a/code/modules/mob/new_player/login.dm
+++ b/code/modules/mob/new_player/login.dm
@@ -11,7 +11,7 @@
mind.active = 1
mind.current = src
- spawn() Playmusic() // git some tunes up in heeyaa~
+ //spawn() Playmusic() // git some tunes up in heeyaa~
var/starting_loc = pick(newplayer_start)
if(!starting_loc) starting_loc = locate(1,1,1)
@@ -48,6 +48,8 @@
preferences.savefile_save(src)
handle_privacy_poll()
new_player_panel()
+ if(preferences.lobby_music)
+ Playmusic()
//PDA Resource Initialisation =======================================================>
/*
Quick note: local dream daemon instances don't seem to cache images right. Might be
diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm
index 64a140c86d6..894474ea288 100644
--- a/code/modules/mob/new_player/preferences.dm
+++ b/code/modules/mob/new_player/preferences.dm
@@ -106,6 +106,7 @@ datum/preferences
var/metadata = ""
var/sound_adminhelp = 0
+ var/lobby_music = 1//Whether or not to play the lobby music(Defaults yes)
@@ -168,6 +169,7 @@ datum/preferences
dat += "
"
dat += "UI Style: [UI_style]
"
dat += "Play admin midis: [midis == 1 ? "Yes" : "No"]
"
+ dat += "Play lobby music: [lobby_music == 1 ? "Yes" : "No"]
"
dat += "Ghost ears: [ghost_ears == 0 ? "Nearest Creatures" : "All Speech"]
"
dat += "Ghost sight: [ghost_sight == 0 ? "Nearest Creatures" : "All Emotes"]
"
@@ -631,6 +633,13 @@ datum/preferences
if("hear_midis")
midis = !midis
+ if("lobby_music")
+ lobby_music = !lobby_music
+ if(lobby_music)
+ user << sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = 1)
+ else
+ user << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1)
+
if("ghost_ears")
ghost_ears = !ghost_ears
diff --git a/code/modules/mob/new_player/savefile.dm b/code/modules/mob/new_player/savefile.dm
index d636ac6d853..63defe03ba9 100644
--- a/code/modules/mob/new_player/savefile.dm
+++ b/code/modules/mob/new_player/savefile.dm
@@ -83,6 +83,7 @@ datum/preferences/proc/savefile_save(mob/user)
F["sound_adminhelp"] << src.sound_adminhelp
F["default_slot"] << src.default_slot
F["slotname"] << src.slot_name
+ F["lobby_music"] << src.lobby_music
return 1
@@ -179,6 +180,9 @@ datum/preferences/proc/savefile_load(mob/user)
if(isnull(default_slot))
default_slot = 1
F["slotname"] >> src.slot_name
+ F["lobby_music"] >> src.lobby_music
+ if(isnull(lobby_music))
+ lobby_music = 1
if(isnull(metadata))
metadata = ""