diff --git a/baystation12.dme b/baystation12.dme index 3ace13aaa7d..3dfee0ae2da 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1868,10 +1868,10 @@ #include "code\modules\wireless\interfaces.dm" #include "code\modules\xgm\xgm_gas_data.dm" #include "code\modules\xgm\xgm_gas_mixture.dm" +#include "code\unit_tests\equipment_tests.dm" #include "code\unit_tests\mob_tests.dm" #include "code\unit_tests\unit_test.dm" #include "code\unit_tests\zas_tests.dm" -#include "code\unit_tests\equipment_tests.dm" #include "code\unit_tests\map_tests.dm" #include "code\ZAS\_docs.dm" #include "code\ZAS\Airflow.dm" diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 91bf3ff1a7f..43bc5db188f 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -219,6 +219,7 @@ var/list/gamemode_cache = list() var/list/language_prefixes = list(",","#","-")//Default language prefixes var/ghosts_can_possess_animals = 0 + var/delist_when_no_admins = FALSE /datum/configuration/New() var/list/L = typesof(/datum/game_mode) - /datum/game_mode @@ -707,6 +708,9 @@ var/list/gamemode_cache = list() if ("lobby_screens") config.lobby_screens = text2list(value, ";") + if("delist_when_no_admins") + config.delist_when_no_admins = TRUE + else log_misc("Unknown setting in configuration: '[name]'") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 6ad8b95058a..b1e98c8773e 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -725,6 +725,22 @@ proc/admin_notice(var/message, var/rights) message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1) feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/datum/admins/proc/togglehubvisibility() + set category = "Server" + set desc="Globally Toggles Hub Visibility" + set name="Toggle Hub Visibility" + + if(!check_rights(R_ADMIN)) + return + + world.visibility = !(world.visibility) + var/long_message = " toggled hub visibility. The server is now [world.visibility ? "visible" : "invisible"] ([world.visibility])." + + send2adminirc("[key_name(src)]" + long_message) + message_admins("[key_name_admin(usr)]" + long_message, 1) + log_admin("[key_name(usr)] toggled hub visibility.") + feedback_add_details("admin_verb","THUB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc + /datum/admins/proc/toggletraitorscaling() set category = "Server" set desc="Toggle traitor scaling" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index cea4700069b..f32ab90f539 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -65,6 +65,7 @@ var/list/admin_verbs_admin = list( /datum/admins/proc/toggledsay, //toggles dsay on/off for everyone, /client/proc/game_panel, //game panel, allows to change game-mode etc, /client/proc/cmd_admin_say, //admin-only ooc chat, + /datum/admins/proc/togglehubvisibility, //toggles visibility on the BYOND Hub, /datum/admins/proc/PlayerNotes, /client/proc/cmd_mod_say, /datum/admins/proc/show_player_info, diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index bb01c846caf..dec82697067 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -9,6 +9,9 @@ message_admins("Admin logout: [key_name(src)]") 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. send2adminirc("[key_name(src)] logged out - no more admins online.") - ..() + if(config.delist_when_no_admins && world.visibility) + world.visibility = FALSE + send2adminirc("Toggled hub visibility. The server is now invisible ([world.visibility]).") - return 1 \ No newline at end of file + ..() + return 1