diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index bb05efc975ab..65084617ba1a 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -10,6 +10,7 @@ #define SOUND_INSTRUMENTS 128 #define SOUND_SHIP_AMBIENCE 256 #define SOUND_PRAYERS 512 +#define ANNOUNCE_LOGIN 1024 #define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS) @@ -43,4 +44,4 @@ #define BE_GANG 4096 #define BE_SHADOWLING 8192 #define BE_ABDUCTOR 16384 -#define BE_REVENANT 32768 +#define BE_REVENANT 32768 diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 623225d68c3e..cb111d7c0637 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -165,7 +165,7 @@ var/autoconvert_notes = 0 //if all connecting player's notes should attempt to be converted to the database - var/announce_admin_logout = 1 + var/announce_admin_logout = 0 var/announce_admin_login = 0 /datum/configuration/New() diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 926468875eb1..2eb84777f6ec 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -816,7 +816,8 @@ var/global/floorIsLava = 0 if(logout && config && config.announce_admin_logout) string = pick( "Admin logout: [key_name(src)]") - else if(!logout && config && config.announce_admin_login) + else if(!logout && config && config.announce_admin_login && (prefs.toggles & ANNOUNCE_LOGIN)) string = pick( "Admin login: [key_name(src)]") - message_admins("[string]") \ No newline at end of file + if(string) + message_admins("[string]") \ No newline at end of file diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 249cd05528b1..82e0c143345a 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -1,6 +1,7 @@ //admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless var/list/admin_verbs_default = list( /client/proc/toggleadminhelpsound, /*toggles whether we hear a sound when adminhelps/PMs are used*/ + /client/proc/toggleannouncelogin, /*toggles if an admin's login is announced during a round*/ /client/proc/deadmin_self, /*destroys our own admin datum so we can play as a regular player*/ /client/proc/cmd_admin_say, /*admin-only ooc chat*/ /client/proc/hide_verbs, /*hides all our adminverbs*/ diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 865906b154c5..5ecd635021b0 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -184,6 +184,7 @@ var/next_external_rsc = 0 ////////////// /client/Del() if(holder) + adminGreet(1) holder.owner = null admins -= src directory -= ckey diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index d0119b29ec53..3c11398621f7 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -345,8 +345,8 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set if(user.client) if(user.client.holder) - dat += "Adminhelp Sound: " - dat += "[(toggles & SOUND_ADMINHELP)?"On":"Off"]
" + dat += "Adminhelp Sound: [(toggles & SOUND_ADMINHELP)?"On":"Off"]
" + dat += "Announce Login: [(toggles & ANNOUNCE_LOGIN)?"On":"Off"]
" if(unlock_content || check_rights_for(user.client, R_ADMIN)) dat += "OOC:     Change
" @@ -955,6 +955,8 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set if("hear_adminhelps") toggles ^= SOUND_ADMINHELP + if("announce_login") + toggles ^= ANNOUNCE_LOGIN if("ui") switch(UI_style) diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 99218130f576..7a44e73a182c 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -64,6 +64,16 @@ usr << "You will [(prefs.toggles & SOUND_ADMINHELP) ? "now" : "no longer"] hear a sound when adminhelps arrive." feedback_add_details("admin_verb","AHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/client/proc/toggleannouncelogin() + set name = "Do/Don't Announce Login" + set category = "Preferences" + set desc = "Toggle if you want an announcement to admins when you login during a round" + if(!holder) return + prefs.toggles ^= ANNOUNCE_LOGIN + prefs.save_preferences() + usr << "You will [(prefs.toggles & ANNOUNCE_LOGIN) ? "now" : "no longer"] have an announcement to other admins when you login." + feedback_add_details("admin_verb","TAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/deadchat() set name = "Show/Hide Deadchat" set category = "Preferences" diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index 9afd2e301445..4c7da6069be2 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -5,7 +5,6 @@ if(admin_datums[src.ckey]) if (ticker && ticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing. var/admins_number = admins.len - client.adminGreet(1) if(admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell. var/cheesy_message = pick( list( \ "I have no admins online!",\