GENERAL_PROTECT_DATUM(/datum/user_verb) /** * This is the user verb datum. It is used to store the verb's information and handle the verb's functionality. * All of this is setup for you, and you should not be defining this manually. * That means you reader. */ /datum/user_verb var/name //! The name of the verb. var/description //! The description of the verb. var/category //! The category of the verb. var/permissions //! The permissions required to use the verb. var/visibility_flag //! The flag that determines if the verb is visible. VAR_PROTECTED/verb_path //! The path to the verb proc. /datum/user_verb/Destroy(force) if(!force) return QDEL_HINT_LETMELIVE return ..() /// Assigns the verb to the user. /datum/user_verb/proc/assign_to_client(client/user) add_verb(user, verb_path) /// Unassigns the verb from the user. /datum/user_verb/proc/unassign_from_client(client/user) remove_verb(user, verb_path) /// Lets people be pinged inside of staff channels. /datum/user_verb/proc/do_chat_ping(client/C, message) var/display_name = C.ckey || C.key if(C.holder.fakekey && findtext(message, "@[C.holder.fakekey]")) SEND_SOUND(C, sound('sound/misc/ping.ogg')) message = replacetext(message, "@[C.holder.fakekey]", "@[C.holder.fakekey]") else if(findtext(message, "@[display_name]")) SEND_SOUND(C, sound('sound/misc/ping.ogg')) message = replacetext(message, "@[display_name]", "@[display_name]") return message