GLOBAL_VAR_INIT(AOOC_COLOR, null)//If this is null, use the CSS for OOC. Otherwise, use a custom colour. GLOBAL_VAR_INIT(normal_aooc_colour, "#ce254f") /client/verb/aooc(msg as text) set name = "AOOC" set desc = "An OOC channel exclusive to antagonists." 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(!(prefs.toggles & CHAT_OOC)) to_chat(src, " You have OOC muted.") return if(jobban_isbanned(mob, "OOC")) to_chat(src, "You have been banned from OOC.") return if(!holder) if(!GLOB.aooc_allowed) to_chat(src, "AOOC is currently muted.") return if(prefs.muted & MUTE_OOC) to_chat(src, "You cannot use AOOC (muted).") return if(!is_special_character(mob)) to_chat(usr, "You aren't an antagonist!") 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 LOOC: [msg]") return if(mob.stat) to_chat(usr, "You cannot use AOOC while unconscious or dead.") return if(isdead(mob)) to_chat(src, "You cannot use AOOC while ghosting.") return if(HAS_TRAIT(mob, TRAIT_AOOC_MUTE)) to_chat(src, "You cannot use AOOC right now.") return if(QDELETED(src)) return msg = copytext_char(sanitize(msg), 1, MAX_MESSAGE_LEN) var/raw_msg = msg if(!msg) return msg = emoji_parse(msg) if(!holder) 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 AOOC: [msg]") message_admins("[key_name_admin(src)] has attempted to advertise in AOOC: [msg]") return mob.log_talk(raw_msg,LOG_OOC, tag="(AOOC)") var/keyname = key if(prefs.unlock_content) if(prefs.toggles & MEMBER_PUBLIC) keyname = "[icon2html('icons/member_content.dmi', world, "blag")][keyname]" //The linkify span classes and linkify=TRUE below make ooc text get clickable chat href links if you pass in something resembling a url var/antaglisting = list() for(var/datum/mind/M in get_antag_minds(/datum/antagonist)) if(!M.current || !M.current.client || isnewplayer(M.current)) continue antaglisting |= M.current.client for(var/mob/M in GLOB.player_list) if(M.client && (M.stat == DEAD || M.client.holder) && !istype(M, /mob/dead/new_player)) antaglisting |= M.client for(var/client/C in antaglisting) if(!C || !istype(C)) continue if(holder) if(!holder.fakekey || C.holder) if(check_rights_for(src, R_ADMIN)) to_chat(C, "[CONFIG_GET(flag/allow_admin_ooccolor) && prefs.ooccolor ? "" :"" ]Antag OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]") else to_chat(C, "Antag OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]") else if(GLOB.AOOC_COLOR) to_chat(C, "Antag OOC: [holder.fakekey ? holder.fakekey : key]: [msg]") else to_chat(C, "Antag OOC: [holder.fakekey ? holder.fakekey : key]: [msg]") else if(!(key in C.prefs.ignoring)) if(GLOB.AOOC_COLOR) to_chat(C, "Antag OOC: [keyname]: [msg]") else to_chat(C, "Antag OOC: [keyname]: [msg]") /client/proc/set_aooc(newColor as color) set name = "Set Antag OOC Color" set desc = "Modifies antag OOC Color" set category = "Fun" GLOB.AOOC_COLOR = sanitize_ooccolor(newColor) /client/proc/reset_aooc() set name = "Reset Antag OOC Color" set desc = "Returns antag OOC Color to default" set category = "Fun" GLOB.AOOC_COLOR = null /proc/toggle_aooc(toggle = null) if(toggle != null) //if we're specifically en/disabling ooc if(toggle != GLOB.aooc_allowed) GLOB.aooc_allowed = toggle else return else //otherwise just toggle it GLOB.aooc_allowed = !GLOB.aooc_allowed var/antaglisting = list() //Only those who have access to AOOC need to know if it's enabled or not. for(var/datum/mind/M in get_antag_minds(/datum/antagonist)) if(!M.current || !M.current.client || isnewplayer(M.current)) continue antaglisting |= M.current.client for(var/mob/M in GLOB.player_list) if(M.client && (M.stat == DEAD || M.client.holder || is_special_character(M))) antaglisting |= M.client for(var/client/C in antaglisting) if(!C || !istype(C)) continue to_chat(C, "The Antagonist OOC channel has been [GLOB.aooc_allowed ? "enabled. If you're an antagonist, you can access it through the \"AOOC\" verb." : "disabled"].")