diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index f383e2fa5e..fe516f90fd 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,52 +39,29 @@ 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
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 65b4eefc80..0920bdb1f4 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 2ea000de15..e96ab21cf6 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" //When set to #010000 it counts as unset and stylesheet colors are used
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 9c882e9f4a..8dc2296bf2 100644
--- a/code/stylesheet.dm
+++ b/code/stylesheet.dm
@@ -14,6 +14,12 @@ em {font-style: normal; font-weight: bold;}
.prefix { font-weight: bold;}
.ooc { font-weight: bold;}
+.ooc .everyone {color: #002eb8;}
+.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;}