diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 65f445dcd8e..ed460cdf7da 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -53,21 +53,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") log_ooc(msg, src) mob.create_log(OOC_LOG, msg) - var/display_colour = GLOB.normal_ooc_colour - if(holder && !holder.fakekey) - display_colour = GLOB.mentor_ooc_colour - if(check_rights(R_MOD,0) && !check_rights(R_ADMIN,0)) - display_colour = GLOB.moderator_ooc_colour - else if(check_rights(R_ADMIN,0)) - if(GLOB.configuration.admin.allow_admin_ooc_colour) - display_colour = src.prefs.ooccolor - else - display_colour = GLOB.admin_ooc_colour - - if(prefs.unlock_content) - if(display_colour == GLOB.normal_ooc_colour) - if(prefs.toggles & PREFTOGGLE_MEMBER_PUBLIC) - display_colour = GLOB.member_ooc_colour + var/display_colour = get_ooc_color() for(var/client/C in GLOB.clients) if(C.prefs.toggles & PREFTOGGLE_CHAT_OOC) @@ -95,6 +81,19 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") to_chat(C, "OOC: [display_name]: [msg]") +/client/proc/get_ooc_color() + if(!holder || holder.fakekey) + if(prefs.unlock_content && (prefs.toggles & PREFTOGGLE_MEMBER_PUBLIC)) + return GLOB.member_ooc_colour + return GLOB.normal_ooc_colour + if(!check_rights(R_ADMIN, FALSE)) + if(check_rights(R_MOD, FALSE)) + return GLOB.moderator_ooc_colour + return GLOB.mentor_ooc_colour + if(!GLOB.configuration.admin.allow_admin_ooc_colour) + return GLOB.admin_ooc_colour + return prefs.ooccolor + /proc/toggle_ooc() GLOB.ooc_enabled = (!GLOB.ooc_enabled) if(GLOB.ooc_enabled) diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index c5c9b71b0f2..f179b9f522c 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -12,26 +12,26 @@ GLOB.asays += asay log_adminsay(msg, src) - if(check_rights(R_ADMIN,0)) - // Do this up here before it gets sent to everyone & emoji'd - if(SSredis.connected) - var/list/data = list() - data["author"] = usr.ckey - data["source"] = GLOB.configuration.system.instance_id - data["message"] = html_decode(msg) - SSredis.publish("byond.asay", json_encode(data)) + // Do this up here before it gets sent to everyone & emoji'd + if(SSredis.connected) + var/list/data = list() + data["author"] = usr.ckey + data["source"] = GLOB.configuration.system.instance_id + data["message"] = html_decode(msg) + SSredis.publish("byond.asay", json_encode(data)) - for(var/client/C in GLOB.admins) - var/temp_message = msg - if(R_ADMIN & C.holder.rights) - // Lets see if this admin was pinged in the asay message - if(findtext(temp_message, "@[C.ckey]") || findtext(temp_message, "@[C.key]")) // Check ckey and key, so you can type @AffectedArc07 or @affectedarc07 - SEND_SOUND(C, sound('sound/misc/ping.ogg')) - temp_message = replacetext(temp_message, "@[C.ckey]", "@[C.ckey]") - temp_message = replacetext(temp_message, "@[C.key]", "@[C.key]") // Same applies here. key and ckey. + var/display_color = get_staffsay_color() + for(var/client/C in GLOB.admins) + var/temp_message = msg + if(R_ADMIN & C.holder.rights) + // Lets see if this admin was pinged in the asay message + if(findtext(temp_message, "@[C.ckey]") || findtext(temp_message, "@[C.key]")) // Check ckey and key, so you can type @AffectedArc07 or @affectedarc07 + SEND_SOUND(C, sound('sound/misc/ping.ogg')) + temp_message = replacetext(temp_message, "@[C.ckey]", "@[C.ckey]") + temp_message = replacetext(temp_message, "@[C.key]", "@[C.key]") // Same applies here. key and ckey. - temp_message = "[temp_message]" - to_chat(C, "ADMIN: [key_name(usr, 1)] ([admin_jump_link(mob)]): [temp_message]", MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) + temp_message = "[temp_message]" + to_chat(C, "ADMIN: [key_name(usr, 1)] ([admin_jump_link(mob)]): [temp_message]", MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Asay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -59,6 +59,7 @@ data["message"] = html_decode(msg) SSredis.publish("byond.devsay", json_encode(data)) + var/display_color = get_staffsay_color() for(var/client/C in GLOB.admins) if(check_rights(R_ADMIN|R_MOD|R_DEV_TEAM, 0, C.mob)) var/display_name = key @@ -68,7 +69,7 @@ else display_name = holder.fakekey msg = "[msg]" - to_chat(C, "DEV: [display_name] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_DEVCHAT, confidential = TRUE) + to_chat(C, "DEV: [display_name] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_DEVCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Devsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -96,6 +97,7 @@ data["message"] = html_decode(msg) SSredis.publish("byond.staffsay", json_encode(data)) + var/display_color = get_staffsay_color() for(var/client/C in GLOB.admins) if(check_rights(0, 0, C.mob)) var/display_name = key @@ -105,7 +107,7 @@ else display_name = holder.fakekey msg = "[msg]" - to_chat(C, "STAFF: [display_name] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_STAFFCHAT, confidential = TRUE) + to_chat(C, "STAFF: [display_name] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_STAFFCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Staffsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -143,6 +145,7 @@ data["message"] = html_decode(msg) SSredis.publish("byond.msay", json_encode(data)) + var/display_color = get_staffsay_color() for(var/client/C in GLOB.admins) if(check_rights(R_ADMIN|R_MOD|R_MENTOR, 0, C.mob)) var/display_name = key @@ -152,7 +155,7 @@ else display_name = holder.fakekey msg = "[msg]" - to_chat(C, "MENTOR: [display_name] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_MENTORCHAT, confidential = TRUE) + to_chat(C, "MENTOR: [display_name] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_MENTORCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Msay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -188,3 +191,8 @@ log_and_message_admins("toggled mentor chat [enabling ? "on" : "off"].") SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Msay") + +/client/proc/get_staffsay_color() + if(!GLOB.configuration.admin.allow_admin_ooc_colour || !check_rights(R_ADMIN, FALSE)) + return client2rankcolour(src) + return prefs.ooccolor