diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index f383e2fa5ec..2883ec12d3d 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -1,8 +1,6 @@
-var/global/normal_ooc_colour = "#002eb8"
-
/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 name = "OOC"
set category = "OOC"
if(say_disabled) //This is here to try to identify lag problems
@@ -41,55 +39,32 @@ var/global/normal_ooc_colour = "#002eb8"
log_ooc("[mob.name]/[key] : [msg]")
- var/display_colour = normal_ooc_colour
+ var/ooc_style = "everyone"
if(holder && !holder.fakekey)
- display_colour = "#2e78d9" //light blue
- if(holder.rights & R_MOD && !(holder.rights & R_ADMIN))
- display_colour = "#184880" //dark blue
- if(holder.rights & R_DEBUG && !(holder.rights & R_ADMIN))
- display_colour = "#1b521f" //dark green
- else if(holder.rights & R_ADMIN)
- if(config.allow_admin_ooccolor)
- display_colour = src.prefs.ooccolor
- else
- display_colour = "#b82e00" //orange
+ ooc_style = "elevated"
+ if(holder.rights & R_MOD)
+ ooc_style = "moderator"
+ if(holder.rights & R_DEBUG)
+ ooc_style = "developer"
+ if(holder.rights & R_ADMIN)
+ ooc_style = "admin"
- for(var/client/C in clients)
- if(C.prefs.toggles & CHAT_OOC)
+ for(var/client/target in clients)
+ if(target.prefs.toggles & CHAT_OOC)
var/display_name = src.key
if(holder)
if(holder.fakekey)
- if(C.holder)
+ if(target.holder)
display_name = "[holder.fakekey]/([src.key])"
else
display_name = holder.fakekey
- C << "OOC: [display_name]: [msg]"
-
- /*
- if(holder)
- if(!holder.fakekey || C.holder)
- if(holder.rights & R_ADMIN)
- C << "OOC: [key][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]"
- else if(holder.rights & R_MOD)
- C << "OOC: [src.key][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]"
- else
- C << "OOC: [src.key]: [msg]"
-
- else
- C << "OOC: [holder.fakekey ? holder.fakekey : src.key]: [msg]"
+ if(holder && !holder.fakekey && (holder.rights & R_ADMIN) && config.allow_admin_ooccolor && (src.prefs.ooccolor != initial(src.prefs.ooccolor))) // keeping this for the badmins
+ target << "OOC: [display_name]: [msg]"
else
- C << "OOC: [src.key]: [msg]"
- */
-
-/client/proc/set_ooc(newColor as color)
- set name = "Set Player OOC Colour"
- set desc = "Set to yellow for eye burning goodness."
- set category = "Fun"
- normal_ooc_colour = newColor
-
+ target << "OOC: [display_name]: [msg]"
/client/verb/looc(msg as text)
- set name = "LOOC" //Gave this shit a shorter name so you only have to time out "ooc" rather than "ooc message" to use it --NeoFite
+ set name = "LOOC"
set desc = "Local OOC, seen only by those in view."
set category = "OOC"
@@ -129,38 +104,26 @@ var/global/normal_ooc_colour = "#002eb8"
log_ooc("(LOCAL) [mob.name]/[key] : [msg]")
- var/list/heard = get_mobs_in_view(7, src.mob)
- var/mob/S = src.mob
+ var/mob/source = src.mob
+ var/list/heard = get_mobs_in_view(7, source)
- var/display_name = S.key
- if(S.stat != DEAD)
- display_name = S.name
-
- // Handle non-admins
- for(var/mob/M in heard)
- if(!M.client)
- continue
- var/client/C = M.client
- if (C in admins)
- continue //they are handled after that
+ var/display_name = source.key
+ if(holder && holder.fakekey)
+ display_name = holder.fakekey
+ if(source.stat != DEAD)
+ display_name = source.name
- if(C.prefs.toggles & CHAT_LOOC)
- if(holder)
- if(holder.fakekey)
- if(C.holder)
- display_name = "[holder.fakekey]/([src.key])"
- else
- display_name = holder.fakekey
- C << "LOOC: [display_name]: [msg]"
-
- // Now handle admins
- display_name = S.key
- if(S.stat != DEAD)
- display_name = "[S.name]/([S.key])"
-
- for(var/client/C in admins)
- if(C.prefs.toggles & CHAT_LOOC)
- var/prefix = "(R)LOOC"
- if (C.mob in heard)
+ var/prefix
+ var/admin_stuff
+ for(var/client/target in clients)
+ if(target.prefs.toggles & CHAT_LOOC)
+ admin_stuff = ""
+ if(target in admins)
+ prefix = "(R)LOOC"
+ admin_stuff += "/([source.key])"
+ if(target != source.client)
+ admin_stuff += "(JMP)"
+ if(target.mob in heard)
prefix = "LOOC"
- C << "[prefix]: [display_name]: [msg]"
+ if((target.mob in heard) || (target in admins))
+ target << "[prefix]: [display_name][admin_stuff]: [msg]"
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 65b4eefc805..0920bdb1f4f 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -102,7 +102,6 @@ var/list/admin_verbs_fun = list(
/client/proc/cmd_admin_add_random_ai_law,
/client/proc/make_sound,
/client/proc/toggle_random_events,
- /client/proc/set_ooc,
/client/proc/editappear
)
var/list/admin_verbs_spawn = list(
@@ -170,7 +169,6 @@ var/list/admin_verbs_rejuv = list(
//verbs which can be hidden - needs work
var/list/admin_verbs_hideable = list(
- /client/proc/set_ooc,
/client/proc/deadmin_self,
// /client/proc/deadchat,
/client/proc/toggleprayers,
@@ -467,10 +465,13 @@ var/list/admin_verbs_mentor = list(
set category = "Fun"
set name = "OOC Text Color"
if(!holder) return
- var/new_ooccolor = input(src, "Please select your OOC colour.", "OOC colour") as color|null
- if(new_ooccolor)
- prefs.ooccolor = new_ooccolor
- prefs.save_preferences()
+ var/response = alert(src, "Please choose a distinct color that is easy to read and doesn't mix with all the other chat and radio frequency colors.", "Change own OOC color", "Pick new color", "Reset to default", "Cancel")
+ if(response == "Pick new color")
+ prefs.ooccolor = input(src, "Please select your OOC colour.", "OOC colour") as color
+ else if(response == "Reset to default")
+ prefs.ooccolor = initial(prefs.ooccolor)
+ prefs.save_preferences()
+
feedback_add_details("admin_verb","OC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 2ea000de150..a126d862b77 100755
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -39,7 +39,7 @@ datum/preferences
//game-preferences
var/lastchangelog = "" //Saved changlog filesize to detect if there was a change
- var/ooccolor = "#b82e00"
+ var/ooccolor = "#010000" //Whatever this is set to acts as 'reset' color and is thus unusable as an actual custom color
var/be_special = 0 //Special role selection
var/UI_style = "Midnight"
var/toggles = TOGGLES_DEFAULT
diff --git a/code/stylesheet.dm b/code/stylesheet.dm
index 2e7427c3439..201a5799987 100644
--- a/code/stylesheet.dm
+++ b/code/stylesheet.dm
@@ -7,17 +7,23 @@ em {font-style: normal; font-weight: bold;}
.motd {color: #638500; font-family: Verdana, sans-serif;}
.motd h1, .motd h2, .motd h3, .motd h4, .motd h5, .motd h6
- {color: #638500; text-decoration: underline;}
+ {color: #638500; text-decoration: underline;}
.motd a, .motd a:link, .motd a:visited, .motd a:active, .motd a:hover
- {color: #638500;}
+ {color: #638500;}
.prefix { font-weight: bold;}
.ooc { font-weight: bold;}
-.adminobserverooc {color: #0099cc; font-weight: bold;}
-.adminooc {color: #b82e00; font-weight: bold;}
+.ooc .everyone {color: #002eb8;}
+.ooc .looc {color: #6699cc;}
+.ooc .elevated {color: #2e78d9;}
+.ooc .moderator {color: #184880;}
+.ooc .developer {color: #1b521f;}
+.ooc .admin {color: #b82e00;}
+
+.mod {color: #735638; font-weight: bold;}
+.adminmod {color: #402A14; font-weight: bold;}
-.adminobserver {color: #996600; font-weight: bold;}
.admin {color: #386aff; font-weight: bold;}
.adminsay {color: #9611D4; font-weight: bold;}
.headminsay {color: #5A0A7F; font-weight: bold;}
@@ -28,6 +34,8 @@ em {font-style: normal; font-weight: bold;}
.deadsay {color: #5c00e6;}
.radio {color: #008000;}
.deptradio {color: #993399;}
+.newscaster {color: #800000;}
+
.comradio {color: #193A7A;}
.syndradio {color: #6D3F40;}
.centradio {color: #5C5C8A;}
@@ -44,7 +52,6 @@ em {font-style: normal; font-weight: bold;}
h1.alert, h2.alert {color: #000000;}
.emote { font-style: italic;}
-.selecteddna {color: #FFFFFF; background-color: #001B1B}
.attack {color: #ff0000;}
.moderate {color: #CC0000;}
@@ -58,11 +65,6 @@ h1.alert, h2.alert {color: #000000;}
.notice {color: #000099;}
.alien {color: #543354;}
-.newscaster {color: #800000;}
-
-.mod {color: #735638; font-weight: bold;}
-.modooc {color: #184880; font-weight: bold;}
-.adminmod {color: #402A14; font-weight: bold;}
.tajaran {color: #803B56;}
.tajaran_signlang {color: #941C1C;}
.skrell {color: #00CED1;}