From c190a5da65c9dc47bf345b3b3034d3e33cbb6e4e Mon Sep 17 00:00:00 2001 From: Amunak Date: Wed, 26 Nov 2014 03:56:41 +0100 Subject: [PATCH 1/4] cleaned up unused stylesheet definitions, reordered logically --- code/stylesheet.dm | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 2e7427c3439..9c882e9f4a7 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -7,17 +7,16 @@ 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;} +.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 +27,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 +45,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 +58,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;} From 5a65c85cb043c14c9999c09eef503c3cab51449c Mon Sep 17 00:00:00 2001 From: Amunak Date: Wed, 26 Nov 2014 04:04:32 +0100 Subject: [PATCH 2/4] Moved OOC color definitions to stylesheet: Removes the unused (and abused) set-player-OOC-colour verb. Adds definitions for each rank to the stylesheet, moving it from the OOC file. Updates the OOC-text-color verb accordingly. Made the custom OOC text color resetable. Cleaned up hardcoded values, old code and comments. --- code/game/verbs/ooc.dm | 55 ++++++++---------------------- code/modules/admin/admin_verbs.dm | 13 +++---- code/modules/client/preferences.dm | 2 +- code/stylesheet.dm | 6 ++++ 4 files changed, 29 insertions(+), 47 deletions(-) diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index f383e2fa5ec..fe516f90fd2 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 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..e96ab21cf6b 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 9c882e9f4a7..8dc2296bf2d 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;} From caf153ca61b91f16360543a06f8169eb6c828a1d Mon Sep 17 00:00:00 2001 From: Amunak Date: Wed, 26 Nov 2014 04:17:19 +0100 Subject: [PATCH 3/4] Rewrite of LOOC code LOOC now uses stylesheet. It is less messy (there is now only one loop) Added shortcut for admins to jump to mob --- code/game/verbs/ooc.dm | 54 ++++++++++++++++-------------------------- code/stylesheet.dm | 1 + 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index fe516f90fd2..2883ec12d3d 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -64,7 +64,7 @@ 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" @@ -104,38 +104,26 @@ 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/stylesheet.dm b/code/stylesheet.dm index 8dc2296bf2d..201a5799987 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -15,6 +15,7 @@ em {font-style: normal; font-weight: bold;} .ooc { font-weight: bold;} .ooc .everyone {color: #002eb8;} +.ooc .looc {color: #6699cc;} .ooc .elevated {color: #2e78d9;} .ooc .moderator {color: #184880;} .ooc .developer {color: #1b521f;} From 24798bdc9ffb873bba1a83250637162d6ef60a57 Mon Sep 17 00:00:00 2001 From: Amunak Date: Wed, 26 Nov 2014 04:26:56 +0100 Subject: [PATCH 4/4] Updated my comment to make more sense --- code/modules/client/preferences.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index e96ab21cf6b..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 = "#010000" //When set to #010000 it counts as unset and stylesheet colors are used + 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