diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index d5349bf05fd..ef8bd903c37 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -415,13 +415,6 @@ GLOBAL_PROTECT(admin_verbs_hideable) holder.Game() SSblackbox.record_feedback("tally", "admin_verb", 1, "Game Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/client/proc/secrets() - set name = "Secrets" - set category = "Admin.Game" - if (holder) - holder.Secrets() - SSblackbox.record_feedback("tally", "admin_verb", 1, "Secrets Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - /client/proc/poll_panel() set name = "Server Poll Management" set category = "Admin" diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index bb548e460d5..9dc2f959163 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1691,9 +1691,6 @@ break return - else if(href_list["secrets"]) - Secrets_topic(href_list["secrets"],href_list) - else if(href_list["ac_view_wanted"]) //Admin newscaster Topic() stuff be here if(!check_rights(R_ADMIN)) return diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm index 40d2fb9f14d..cbee1b49dbd 100644 --- a/code/modules/admin/verbs/onlyone.dm +++ b/code/modules/admin/verbs/onlyone.dm @@ -5,6 +5,7 @@ GLOBAL_VAR_INIT(highlander, FALSE) return GLOB.highlander = TRUE + sound_to_playing_players('sound/misc/highlander.ogg') send_to_playing_players("THERE CAN BE ONLY ONE") for(var/obj/item/disk/nuclear/N in GLOB.poi_list) @@ -41,7 +42,7 @@ GLOBAL_VAR_INIT(highlander, FALSE) send_to_playing_players("Bagpipes begin to blare. You feel Scottish pride coming over you.") message_admins("[key_name_admin(usr)] used (delayed) THERE CAN BE ONLY ONE!") log_admin("[key_name(usr)] used delayed THERE CAN BE ONLY ONE.") - addtimer(CALLBACK(src, .proc/only_one), 420) + addtimer(CALLBACK(src, .proc/only_one), 42 SECONDS) /mob/living/carbon/human/proc/make_scottish() mind.add_antag_datum(/datum/antagonist/highlander) diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/verbs/secrets.dm similarity index 56% rename from code/modules/admin/secrets.dm rename to code/modules/admin/verbs/secrets.dm index 1dbab89d88e..8c319f145b3 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -1,127 +1,165 @@ -/datum/admins/proc/Secrets() - if(!check_rights(0)) + + +/client/proc/secrets() //Creates a verb for admins to open up the ui + set name = "Secrets" + set desc = "Abuse harder than you ever have before with this handy dandy semi-misc stuff menu" + set category = "Admin.Game" + SSblackbox.record_feedback("tally", "admin_verb", 1, "Secrets Panel") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + var/datum/secrets_menu/tgui = new(usr)//create the datum + tgui.ui_interact(usr)//datum has a tgui component, here we open the window + +/datum/secrets_menu + var/client/holder //client of whoever is using this datum + var/is_debugger = FALSE + var/is_funmin = FALSE + +/datum/secrets_menu/New(user)//user can either be a client or a mob due to byondcode(tm) + if (istype(user, /client)) + var/client/user_client = user + holder = user_client //if its a client, assign it to holder + else + var/mob/user_mob = user + holder = user_mob.client //if its a mob, assign the mob's client to holder + + is_debugger = check_rights(R_DEBUG) + is_funmin = check_rights(R_FUN) + +/datum/secrets_menu/ui_state(mob/user) + return GLOB.admin_state + +/datum/secrets_menu/ui_close() + qdel(src) + +/datum/secrets_menu/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "Secrets") + ui.open() + +/datum/secrets_menu/ui_data(mob/user) + var/list/data = list() + data["is_debugger"] = is_debugger + data["is_funmin"] = is_funmin + return data + +/datum/secrets_menu/ui_act(action, params) + . = ..() + if(.) + return + if((action != "admin_log" || action != "show_admins") && !check_rights(R_ADMIN)) return - - var/list/dat = list("The first rule of adminbuse is: you don't talk about the adminbuse.
| Name | Position |
|---|---|
| [t.fields["name"]] | [t.fields["rank"]] |
| Name | DNA | Blood Type |
|---|---|---|
| [H] | [H.dna.unique_enzymes] | [H.dna.blood_type] |
| Name | Fingerprints |
|---|---|
| [H] | [md5(H.dna.uni_identity)] |
| Name | Position |
|---|---|
| [t.fields["name"]] | [t.fields["rank"]] |
| Name | DNA | Blood Type |
|---|---|---|
| [H] | [H.dna.unique_enzymes] | [H.dna.blood_type] |
| Name | Fingerprints |
|---|---|
| [H] | [md5(H.dna.uni_identity)] |
'+(n?e:ee(e,!0))+"\n":""+(n?e:ee(e,!0))+"\n"}return e}(),t.blockquote=function(){function e(e){return"\n"+e+"\n"}return e}(),t.html=function(){function e(e){return e}return e}(),t.heading=function(){function e(e,t,n,r){return this.options.headerIds?"
"+e+"
\n"}return e}(),t.table=function(){function e(e,t){return t&&(t=""+t+""),""+e+""}return e}(),t.br=function(){function e(){return this.options.xhtml?""+se(c.message+"",!0)+"";throw c}}return pe.options=pe.setOptions=function(e){return ue(pe.defaults,e),fe(pe.defaults),pe},pe.getDefaults=le,pe.defaults=de,pe.use=function(e){var t=ue({},e);if(e.renderer&&function(){var n=pe.defaults.renderer||new te,r=function(){function t(t){var r=n[t];n[t]=function(){for(var o=arguments.length,i=new Array(o),a=0;a
'+(n?e:ee(e,!0))+"\n":""+(n?e:ee(e,!0))+"\n"}return e}(),t.blockquote=function(){function e(e){return"\n"+e+"\n"}return e}(),t.html=function(){function e(e){return e}return e}(),t.heading=function(){function e(e,t,n,r){return this.options.headerIds?"
"+e+"
\n"}return e}(),t.table=function(){function e(e,t){return t&&(t=""+t+""),""+e+""}return e}(),t.br=function(){function e(){return this.options.xhtml?""+se(c.message+"",!0)+"";throw c}}return pe.options=pe.setOptions=function(e){return ue(pe.defaults,e),fe(pe.defaults),pe},pe.getDefaults=le,pe.defaults=de,pe.use=function(e){var t=ue({},e);if(e.renderer&&function(){var n=pe.defaults.renderer||new te,r=function(){function t(t){var r=n[t];n[t]=function(){for(var o=arguments.length,i=new Array(o),a=0;a