diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index f1a4eb6db95..439c1c8b3fa 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1315,9 +1315,9 @@ proc/admin_notice(var/message, var/rights) var/ref_mob = "\ref[M]" return "[key_name(C, link, name, highlight_special)](?) (PP) (VV) (SM) (JMP) (CA)" - if(3) //Devs + if(3) //Undibbsed var/ref_mob = "\ref[M]" - return "[key_name(C, link, name, highlight_special)](VV)(JMP)" + return "[key_name(C, link, name, highlight_special)](?) (DIBS) (PP) (JMP)" if(4) //Mentors var/ref_mob = "\ref[M]" diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 452d8d17114..4f78f830b58 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2682,6 +2682,26 @@ paralyze_mob(M) + else if(href_list["admindibs"]) + if (!check_rights(R_ADMIN|R_MOD)) + return + + var/client/C = locate(href_list["admindibs"]) + + if (!istype(C) || !C) + usr << "\red Player not found!" + return + + if (C.adminhelped == 2) + log_and_message_admins("has called dibs on [key_name_admin(C)]'s adminhelp!") + usr << "You have taken over [key_name_admin(C)]'s adminhelp.'" + usr << "[get_options_bar(C, 2, 1, 1)]" + + C << "Your adminhelp will be tended [usr.client.holder.fakekey ? "shortly" : "by [key_name(usr, 0, 0)]"]. Please allow the staff member a minute or two to write up a response." + C.adminhelped = 1 + else + usr << "The adminhelp has already been claimed!" + return mob/living/proc/can_centcom_reply() diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 9f29bc621af..41b6d09eff5 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -15,7 +15,13 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," src << "Error: Admin-PM: You cannot send adminhelps (Muted)." return - adminhelped = 1 //Determines if they get the message to reply by clicking the name. + adminhelped = 2 //Determines if they get the message to reply by clicking the name. + + /*A wee bit of an update here: we're using the following table for adminhelped values: + 2 - Adminhelp has not been claimed by anyone. + 1 - Adminhelp has been claimed, initial message has not been sent. + 0 - Adminhelp has been claimed, initial message has been sent. + */ if(src.handle_spam_prevention(msg,MUTE_ADMINHELP)) return @@ -88,11 +94,11 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," if(ai_found) ai_cl = " (CL)" - //Options bar: mob, details ( admin = 2, dev = 3, mentor = 4, character name (0 = just ckey, 1 = ckey and character name), link? (0 no don't make it a link, 1 do so), + //Options bar: mob, details ( admin = 2, undibbsed admin = 3, mentor = 4, character name (0 = just ckey, 1 = ckey and character name), link? (0 no don't make it a link, 1 do so), // highlight special roles (0 = everyone has same looking name, 1 = antags / special roles get a golden name) var/mentor_msg = "\blue Request for Help: [get_options_bar(mob, 4, 1, 1, 0)][ai_cl]: [msg]" - msg = "\blue Request for Help:: [get_options_bar(mob, 2, 1, 1)][ai_cl]: [msg]" + msg = "\blue Request for Help:: [get_options_bar(mob, 3, 1, 1)][ai_cl]: [msg]" var/admin_number_afk = 0 @@ -118,4 +124,3 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)]") feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return -