/client/verb/mentorhelp(msg as text) set category = "Mentor" set name = "mentorhelp" //remove out adminhelp verb temporarily to prevent spamming of mentors. src.verbs -= /client/verb/mentorhelp spawn(300) src.verbs += /client/verb/mentorhelp // 30 second cool-down for mentorhelp //clean the input msg if(!msg) return msg = sanitize(copytext(msg,1,MAX_MESSAGE_LEN)) if(!msg) return if(!mob) return //this doesn't happen var/show_char = config.mentors_mobname_only var/mentor_msg = "MENTORHELP: [key_name_mentor(src, 1, 0, 0, show_char)]: [msg]" var/admin_msg = "MENTORHELP: [ADMIN_FULLMONTY(src.mob)]: [msg]" log_mentor("MENTORHELP: [key_name_mentor(src, 0, 0, 0, 0)]: [msg]") for(var/client/X in GLOB.mentors) to_chat(X, 'sound/items/bikehorn.ogg') to_chat(X, mentor_msg) for(var/client/A in GLOB.admins) to_chat(A, 'sound/items/bikehorn.ogg') to_chat(A, admin_msg) to_chat(src, "PM to-Mentors: [msg]") return /proc/get_mentor_counts() . = list("total" = 0, "afk" = 0, "present" = 0) for(var/client/X in GLOB.mentors) .["total"]++ if(X.is_afk()) .["afk"]++ else .["present"]++ /proc/key_name_mentor(var/whom, var/include_link = null, var/include_name = 0, var/include_follow = 0, var/char_name_only = 0) var/mob/M var/client/C var/key var/ckey if(!whom) return "*null*" if(istype(whom, /client)) C = whom M = C.mob key = C.key ckey = C.ckey else if(ismob(whom)) M = whom C = M.client key = M.key ckey = M.ckey else if(istext(whom)) key = whom ckey = ckey(whom) C = GLOB.directory[ckey] if(C) M = C.mob else return "*invalid*" . = "" if(!ckey) include_link = 0 if(key) if(include_link) if(config.mentors_mobname_only) . += "" else . += "" if(C && C.holder && C.holder.fakekey) . += "Administrator" else if (char_name_only && config.mentors_mobname_only) if(istype(C.mob,/mob/dead/new_player) || istype(C.mob, /mob/dead/observer)) //If they're in the lobby or observing, display their ckey . += key else if(C && C.mob) //If they're playing/in the round, only show the mob name . += C.mob.name else //If for some reason neither of those are applicable and they're mentorhelping, show ckey . += key else . += key if(!C) . += "\[DC\]" if(include_link) . += "" else . += "*no key*" if(include_follow) . += " (F)" return .