mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-20 18:47:53 +01:00
Merge pull request #7141 from Amunak/chat-shenanigans
OOC and LOOC colors now use stylesheet; also LOOC rewrite
This commit is contained in:
+36
-73
@@ -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 << "<font color='[display_colour]'><span class='ooc'><span class='prefix'>OOC:</span> <EM>[display_name]:</EM> <span class='message'>[msg]</span></span></font>"
|
||||
|
||||
/*
|
||||
if(holder)
|
||||
if(!holder.fakekey || C.holder)
|
||||
if(holder.rights & R_ADMIN)
|
||||
C << "<font color=[config.allow_admin_ooccolor ? src.prefs.ooccolor :"#b82e00" ]><b><span class='prefix'>OOC:</span> <EM>[key][holder.fakekey ? "/([holder.fakekey])" : ""]:</EM> <span class='message'>[msg]</span></b></font>"
|
||||
else if(holder.rights & R_MOD)
|
||||
C << "<font color=#184880><b><span class='prefix'>OOC:</span> <EM>[src.key][holder.fakekey ? "/([holder.fakekey])" : ""]:</EM> <span class='message'>[msg]</span></b></font>"
|
||||
else
|
||||
C << "<font color='[normal_ooc_colour]'><span class='ooc'><span class='prefix'>OOC:</span> <EM>[src.key]:</EM> <span class='message'>[msg]</span></span></font>"
|
||||
|
||||
else
|
||||
C << "<font color='[normal_ooc_colour]'><span class='ooc'><span class='prefix'>OOC:</span> <EM>[holder.fakekey ? holder.fakekey : src.key]:</EM> <span class='message'>[msg]</span></span></font>"
|
||||
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 << "<font color='[src.prefs.ooccolor]'><span class='ooc'><span class='prefix'>OOC:</span> <EM>[display_name]:</EM> <span class='message'>[msg]</span></span></font>"
|
||||
else
|
||||
C << "<font color='[normal_ooc_colour]'><span class='ooc'><span class='prefix'>OOC:</span> <EM>[src.key]:</EM> <span class='message'>[msg]</span></span></font>"
|
||||
*/
|
||||
|
||||
/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 << "<span class='ooc'><span class='[ooc_style]'><span class='prefix'>OOC:</span> <EM>[display_name]:</EM> <span class='message'>[msg]</span></span></span>"
|
||||
|
||||
/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 << "<font color='#6699CC'><span class='ooc'><span class='prefix'>LOOC:</span> <EM>[display_name]:</EM> <span class='message'>[msg]</span></span></font>"
|
||||
|
||||
// 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 += "(<A HREF='?src=\ref[target.holder];adminplayerobservejump=\ref[mob]'>JMP</A>)"
|
||||
if(target.mob in heard)
|
||||
prefix = "LOOC"
|
||||
C << "<font color='#6699CC'><span class='ooc'><span class='prefix'>[prefix]:</span> <EM>[display_name]:</EM> <span class='message'>[msg]</span></span></font>"
|
||||
if((target.mob in heard) || (target in admins))
|
||||
target << "<span class='ooc'><span class='looc'><span class='prefix'>[prefix]:</span> <EM>[display_name][admin_stuff]:</EM> <span class='message'>[msg]</span></span></span>"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
+13
-11
@@ -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;}
|
||||
|
||||
Reference in New Issue
Block a user