From 8a3e9ab88525abc82ed068448b2e9730ab61d073 Mon Sep 17 00:00:00 2001 From: "elly1989@rocketmail.com" Date: Thu, 8 Nov 2012 17:08:18 +0000 Subject: [PATCH] Secrets panel is now available to all admin-datum holders. Each subsection is restricted to specific permissions however. Adminhelp now loops through all clients in var/list/admins rather than every client in the world. Both SERVER and FUN can toggle random events on/off. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5029 316c924e-a436-60f5-8080-3fe189b3f50e --- code/controllers/voting.dm | 2 +- code/modules/admin/admin.dm | 44 +++++++++++----------- code/modules/admin/admin_verbs.dm | 10 ++--- code/modules/admin/verbs/adminhelp.dm | 53 ++++++++++++--------------- 4 files changed, 53 insertions(+), 56 deletions(-) diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm index eb7af94aab1..2f7cef88f07 100644 --- a/code/controllers/voting.dm +++ b/code/controllers/voting.dm @@ -170,7 +170,7 @@ datum/controller/vote var/trialmin = 0 if(C.holder) admin = 1 - if (C.holder.rights & R_ADMIN) + if(C.holder.rights & R_ADMIN) trialmin = 1 voting |= C diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index e92e5a397ff..214a5e58ce5 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -386,31 +386,33 @@ var/global/floorIsLava = 0 /datum/admins/proc/Secrets() if(!check_rights(0)) return - var/dat = {" - Choose a secret, any secret at all.
- Admin Secrets
-
- Remove all bombs currently in existence
- Bombing List
- Show current traitors and objectives
- Show last [length(lastsignalers)] signalers
- Show last [length(lawchanges)] law changes
- Show AI Laws
- Show Game Mode
- Show Crew Manifest
- List DNA (Blood)
- List Fingerprints

-
- "} + var/dat = "The first rule of adminbuse is: you don't talk about the adminbuse.
" + + if(check_rights(R_ADMIN,0)) + dat += {" + Admin Secrets
+
+ Remove all bombs currently in existence
+ Bombing List
+ Show current traitors and objectives
+ Show last [length(lastsignalers)] signalers
+ Show last [length(lawchanges)] law changes
+ Show AI Laws
+ Show Game Mode
+ Show Crew Manifest
+ List DNA (Blood)
+ List Fingerprints

+
+ "} if(check_rights(R_FUN,0)) dat += {" 'Random' Events

- Spawn a wave of meteors
- Spawn a gravitational anomaly (Untested)
- Spawn wormholes (Untested)
- Spawn blob(Untested)
+ Spawn a wave of meteors (aka lagocolyptic shower)
+ Spawn a gravitational anomaly (aka lagitational anomolag)
+ Spawn wormholes
+ Spawn blob
Trigger an Alien infestation
Send in a space ninja
Trigger an Carp migration
@@ -449,7 +451,7 @@ var/global/floorIsLava = 0 Break all lights
Fix all lights
Best Friend AI
- The floor is lava! (DANGEROUS)
+ The floor is lava! (DANGEROUS: extremely lame)
"} if(check_rights(R_SERVER,0)) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 961897cd72e..482a028572d 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -14,7 +14,8 @@ var/list/admin_verbs_default = list( /client/proc/toggleprayers, /*toggles prayers on/off*/ /client/proc/toggle_hear_deadcast, /*toggles whether we hear deadchat*/ /client/proc/toggle_hear_radio, /*toggles whether we hear the radio*/ - /client/proc/investigate_show /*various admintools for investigation. Such as a singulo grief-log*/ + /client/proc/investigate_show, /*various admintools for investigation. Such as a singulo grief-log*/ + /client/proc/secrets ) var/list/admin_verbs_admin = list( /client/proc/game_panel, /*game panel, allows to change game-mode etc*/ @@ -70,7 +71,6 @@ var/list/admin_verbs_fun = list( /client/proc/drop_bomb, /client/proc/toggle_gravity_on, /client/proc/toggle_gravity_off, - /client/proc/secrets, /client/proc/strike_team, /client/proc/cinematic, /client/proc/triple_ai, @@ -84,8 +84,7 @@ var/list/admin_verbs_fun = list( /client/proc/cmd_admin_add_random_ai_law, /client/proc/cmd_admin_create_centcom_report, /client/proc/make_sound, - /client/proc/toggle_random_events, - /client/proc/cmd_admin_add_random_ai_law + /client/proc/toggle_random_events ) var/list/admin_verbs_server = list( /client/proc/Set_Holiday, @@ -102,7 +101,8 @@ var/list/admin_verbs_server = list( /datum/admins/proc/toggleoocdead, /datum/admins/proc/adrev, /datum/admins/proc/adspawn, - /datum/admins/proc/adjump + /datum/admins/proc/adjump, + /client/proc/toggle_random_events ) var/list/admin_verbs_debug = list( /client/proc/restart_controller, diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index d295944a322..5d6fa6ae2c0 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -87,43 +87,38 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali j++ msg = dd_list2text(msglist, " ") - var/admin_number = 0 var/admin_number_afk = 0 if(mob) var/ref_mob = "\ref[src.mob]" - for (var/client/X) - if (X.holder) - admin_number++ - if( X.inactivity > AFK_THRESHOLD ) //When I made this, the AFK_THRESHOLD was 3000ds = 300s = 5m, see setup.dm for the new one. - admin_number_afk++ - if(X.holder.sound_adminhelp) - X << 'sound/effects/adminhelp.ogg' - var/check_laws_text = "" - if(ai_found) - check_laws_text = (" (CL)") + for(var/client/X in admins) + if( X.inactivity > AFK_THRESHOLD ) //When I made this, the AFK_THRESHOLD was 3000ds = 300s = 5m, see setup.dm for the new one. + admin_number_afk++ + if(X.holder.sound_adminhelp) + X << 'sound/effects/adminhelp.ogg' + var/check_laws_text = "" + if(ai_found) + check_laws_text = (" (CL)") - var/msg_to_send = "\blue HELP: [key_name(src, X)] (?) (PP) (VV) (SM) (JMP) (CA) [check_laws_text]: [msg]" - msg_to_send = replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]") - msg_to_send = replacetext(msg_to_send, "ADMINREF", "\ref[X]") - X << msg_to_send + var/msg_to_send = "\blue HELP: [key_name(src, X)] (?) (PP) (VV) (SM) (JMP) (CA) [check_laws_text]: [msg]" + msg_to_send = replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]") + msg_to_send = replacetext(msg_to_send, "ADMINREF", "\ref[X]") + X << msg_to_send else var/ref_client = "\ref[src]" - for (var/client/X) - if (X.holder) - admin_number++ - if( X.inactivity > AFK_THRESHOLD ) //When I made this, the AFK_THRESHOLD was 3000ds = 300s = 5m, see setup.dm for the new one. - admin_number_afk++ - if(X.holder.sound_adminhelp) - X << 'sound/effects/adminhelp.ogg' - var/msg_to_send = "\blue HELP: [key_name(src, X)] (VV) (CA): [msg]" - msg_to_send = replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]") - msg_to_send = replacetext(msg_to_send, "ADMINREF", "\ref[X]") - X << msg_to_send - + for(var/client/X in admins) + if( X.inactivity > AFK_THRESHOLD ) //When I made this, the AFK_THRESHOLD was 3000ds = 300s = 5m, see setup.dm for the new one. + admin_number_afk++ + if(X.holder.sound_adminhelp) + X << 'sound/effects/adminhelp.ogg' + var/msg_to_send = "\blue HELP: [key_name(src, X)] (VV) (CA): [msg]" + msg_to_send = replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]") + msg_to_send = replacetext(msg_to_send, "ADMINREF", "\ref[X]") + X << msg_to_send + var/admin_number_present = admins.len - admin_number_afk src << "PM to-Admins: [original_msg]" - log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number] non-AFK admins.") - if((admin_number - admin_number_afk) <= 0) + log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.") + if(admin_number_present <= 0) if(!admin_number_afk) send2irc(ckey, "[original_msg] - No admins online") else