Merge pull request #7534 from Kyep/ssd_button

Admin 'List SSDs' verb & cryo option
This commit is contained in:
Fox McCloud
2017-08-16 19:58:52 -04:00
committed by GitHub
7 changed files with 113 additions and 54 deletions
+5 -1
View File
@@ -1,4 +1,3 @@
var/global/BSACooldown = 0
var/global/nologevent = 0
@@ -103,9 +102,14 @@ var/global/nologevent = 0
<A href='?_src_=holder;narrateto=\ref[M]'>Narrate to</A> |
<A href='?_src_=holder;subtlemessage=\ref[M]'>Subtle message</A>
"}
if(check_rights(R_EVENT, 0))
body += {" | <A href='?_src_=holder;Bless=[M.UID()]'>Bless</A> | <A href='?_src_=holder;Smite=[M.UID()]'>Smite</A>"}
if(isLivingSSD(M))
if(!istype(M.loc, /obj/machinery/cryopod))
body += {" | <A href='?_src_=holder;cryossd=[M.UID()]'>Cryo</A> "}
if(M.client)
if(!istype(M, /mob/new_player))
body += "<br><br>"
+1
View File
@@ -79,6 +79,7 @@ var/list/admin_verbs_admin = list(
/client/proc/reset_all_tcs, /*resets all telecomms scripts*/
/client/proc/toggle_mentor_chat,
/client/proc/toggle_advanced_interaction, /*toggle admin ability to interact with not only machines, but also atoms such as buttons and doors*/
/client/proc/list_ssds,
)
var/list/admin_verbs_ban = list(
/client/proc/unban_panel,
+14
View File
@@ -1950,6 +1950,20 @@
if(logmsg)
log_admin("[key_name(owner)] answered [key_name(M)]'s prayer with a smiting: [logmsg]")
message_admins("[key_name_admin(owner)] answered [key_name_admin(M)]'s prayer with a smiting: [logmsg]")
else if(href_list["cryossd"])
if(!check_rights(R_ADMIN))
return
var/mob/living/carbon/human/H = locateUID(href_list["cryossd"])
if(!istype(H))
to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
return
if(!isLivingSSD(H))
to_chat(usr, "This can only be used on living, SSD players.")
return
var/success = cryo_ssd(H)
if(success)
log_admin("[key_name(usr)] sent [H.job] [H] to cryo.")
message_admins("[key_name_admin(usr)] sent [H.job] [H] to cryo.")
else if(href_list["FaxReplyTemplate"])
if(!check_rights(R_ADMIN))
return
+42
View File
@@ -882,6 +882,48 @@ Traitors and the like can also be revived with the previous role mostly intact.
message_admins("[key_name_admin(usr)] blanked all telecomms scripts.")
feedback_add_details("admin_verb","RAT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/list_ssds()
set category = "Admin"
set name = "List SSDs"
set desc = "Lists SSD players"
if(!check_rights(R_ADMIN))
return
var/msg = "<html><head><title>SSD Report</title></head><body>"
msg += "SSD Players:<BR><TABLE border='1'>"
msg += "<TR><TD><B>Key</B></TD><TD><B>Real Name</B></TD><TD><B>Job</B></TD><TD><B>Mins SSD</B></TD><TD><B>Special Role</B></TD><TD><B>Area</B></TD><TD><B>PPN</B></TD><TD><B>Cryo</B></TD></TR>"
var/mins_ssd
var/job_string
var/key_string
var/role_string
for(var/mob/living/carbon/human/H in living_mob_list)
if(!isLivingSSD(H))
continue
mins_ssd = round((world.time - H.last_logout) / 600)
if(H.job)
job_string = H.job
else
job_string = "-"
key_string = H.key
if(job_string in command_positions)
job_string = "<U>" + job_string + "</U>"
role_string = "-"
if(H.mind)
if(H.mind.special_role)
role_string = "<U>[H.mind.special_role]</U>"
if(!H.key && H.mind.key)
key_string = H.mind.key
msg += "<TR><TD>[key_string]</TD><TD>[H.real_name]</TD><TD>[job_string]</TD><TD>[mins_ssd]</TD><TD>[role_string]</TD>"
msg += "<TD>[get_area(H)]</TD><TD><A HREF='?_src_=holder;adminplayeropts=\ref[H]'>PP</A></TD>"
if(istype(H.loc, /obj/machinery/cryopod))
msg += "<TD>In Cryo</TD>"
else
msg += "<TD><A href='?_src_=holder;cryossd=[H.UID()]'>Cryo</A></TD>"
msg += "</TR>"
msg += "</TABLE></BODY></HTML>"
src << browse(msg, "window=Player_ssd_check")
/client/proc/toggle_ert_calling()
set category = "Event"
set name = "Toggle ERT"