/client/verb/ooc(msg as text) set name = "OOC" //Gave this shit a shorter name so you only have to time out "ooc" rather than "ooc message" to use it --NeoFite set category = "OOC" if(GLOB.say_disabled) //This is here to try to identify lag problems to_chat(usr, "Speech is currently admin-disabled.") return if(!mob) return if(IsGuestKey(key)) to_chat(src, "Guests may not use OOC.") return msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) var/raw_msg = msg if(!msg) return msg = emoji_parse(msg) if((copytext(msg, 1, 2) in list(".",";",":","#")) || (findtext(lowertext(copytext(msg, 1, 5)), "say"))) if(alert("Your message \"[raw_msg]\" looks like it was meant for in game communication, say it in OOC?", "Meant for OOC?", "No", "Yes") != "Yes") return if(!(prefs.chat_toggles & CHAT_OOC)) to_chat(src, "You have OOC muted.") return if(!holder) if(!GLOB.ooc_allowed) to_chat(src, "OOC is globally muted.") return if(!GLOB.dooc_allowed && (mob.stat == DEAD)) to_chat(usr, "OOC for dead mobs has been turned off.") return if(prefs.muted & MUTE_OOC) to_chat(src, "You cannot use OOC (muted).") return if(src.mob) if(jobban_isbanned(src.mob, "OOC")) to_chat(src, "You have been banned from OOC.") return if(handle_spam_prevention(msg,MUTE_OOC)) return if(findtext(msg, "byond://")) to_chat(src, "Advertising other servers is not allowed.") log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return log_ooc("[mob.name]/[key] : [raw_msg]") mob.log_message("[key]: [raw_msg]", INDIVIDUAL_OOC_LOG) var/keyname = key if(prefs.unlock_content) if(prefs.toggles & MEMBER_PUBLIC) keyname = "[keyname]" for(var/client/C in GLOB.clients) if(C.prefs.chat_toggles & CHAT_OOC) if(holder) if(!holder.fakekey || C.holder) if(check_rights_for(src, R_ADMIN)) to_chat(C, "[config.allow_admin_ooccolor && prefs.ooccolor ? "" :"" ]OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]") else to_chat(C, "OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]") else to_chat(C, "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]") else if(!(key in C.prefs.ignoring)) to_chat(C, "OOC: [keyname]: [msg]") /proc/toggle_ooc(toggle = null) if(toggle != null) //if we're specifically en/disabling ooc if(toggle != GLOB.ooc_allowed) GLOB.ooc_allowed = toggle else return else //otherwise just toggle it GLOB.ooc_allowed = !GLOB.ooc_allowed to_chat(world, "The OOC channel has been globally [GLOB.ooc_allowed ? "enabled" : "disabled"].") GLOBAL_VAR_INIT(normal_ooc_colour, OOC_COLOR) /client/proc/set_ooc(newColor as color) set name = "Set Player OOC Color" set desc = "Modifies player OOC Color" set category = "Fun" GLOB.normal_ooc_colour = sanitize_ooccolor(newColor) /client/proc/reset_ooc() set name = "Reset Player OOC Color" set desc = "Returns player OOC Color to default" set category = "Fun" GLOB.normal_ooc_colour = OOC_COLOR /client/verb/colorooc() set name = "Set Your OOC Color" set category = "Preferences" if(!holder || check_rights_for(src, R_ADMIN)) if(!is_content_unlocked()) return var/new_ooccolor = input(src, "Please select your OOC color.", "OOC color", prefs.ooccolor) as color|null if(new_ooccolor) prefs.ooccolor = sanitize_ooccolor(new_ooccolor) prefs.save_preferences() feedback_add_details("admin_verb","Set OOC Color") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return /client/verb/resetcolorooc() set name = "Reset Your OOC Color" set desc = "Returns your OOC Color to default" set category = "Preferences" if(!holder || check_rights_for(src, R_ADMIN)) if(!is_content_unlocked()) return prefs.ooccolor = initial(prefs.ooccolor) prefs.save_preferences() //Checks admin notice /client/verb/admin_notice() set name = "Adminnotice" set category = "Admin" set desc ="Check the admin notice if it has been set" if(GLOB.admin_notice) to_chat(src, "Admin Notice:\n \t [GLOB.admin_notice]") else to_chat(src, "There are no admin notices at the moment.") /client/verb/motd() set name = "MOTD" set category = "OOC" set desc ="Check the Message of the Day" if(GLOB.join_motd) to_chat(src, "
[GLOB.join_motd]
") else to_chat(src, "The Message of the Day has not been set.") /client/proc/self_notes() set name = "View Admin Remarks" set category = "OOC" set desc = "View the notes that admins have written about you" if(!config.see_own_notes) to_chat(usr, "Sorry, that function is not enabled on this server.") return browse_messages(null, usr.ckey, null, 1) /client/proc/ignore_key(client) var/client/C = client if(C.key in prefs.ignoring) prefs.ignoring -= C.key else prefs.ignoring |= C.key to_chat(src, "You are [(C.key in prefs.ignoring) ? "now" : "no longer"] ignoring [C.key] on the OOC channel.") prefs.save_preferences() /client/verb/select_ignore() set name = "Ignore" set category = "OOC" set desc ="Ignore a player's messages on the OOC channel" var/selection = input("Please, select a player!", "Ignore", null, null) as null|anything in sortKey(GLOB.clients) if(!selection) return if(selection == src) to_chat(src, "You can't ignore yourself.") return ignore_key(selection)