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
This commit is contained in:
Amunak
2014-11-26 04:17:19 +01:00
parent 5a65c85cb0
commit caf153ca61
2 changed files with 22 additions and 33 deletions

View File

@@ -64,7 +64,7 @@
target << "<span class='ooc'><span class='[ooc_style]'><span class='prefix'>OOC:</span> <EM>[display_name]:</EM> <span class='message'>[msg]</span></span></span>" 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) /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 desc = "Local OOC, seen only by those in view."
set category = "OOC" set category = "OOC"
@@ -104,38 +104,26 @@
log_ooc("(LOCAL) [mob.name]/[key] : [msg]") log_ooc("(LOCAL) [mob.name]/[key] : [msg]")
var/list/heard = get_mobs_in_view(7, src.mob) var/mob/source = src.mob
var/mob/S = src.mob var/list/heard = get_mobs_in_view(7, source)
var/display_name = S.key var/display_name = source.key
if(S.stat != DEAD) if(holder && holder.fakekey)
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
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 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>" if(source.stat != DEAD)
display_name = source.name
// Now handle admins var/prefix
display_name = S.key var/admin_stuff
if(S.stat != DEAD) for(var/client/target in clients)
display_name = "[S.name]/([S.key])" if(target.prefs.toggles & CHAT_LOOC)
admin_stuff = ""
for(var/client/C in admins) if(target in admins)
if(C.prefs.toggles & CHAT_LOOC) prefix = "(R)LOOC"
var/prefix = "(R)LOOC" admin_stuff += "/([source.key])"
if (C.mob in heard) if(target != source.client)
admin_stuff += "(<A HREF='?src=\ref[target.holder];adminplayerobservejump=\ref[mob]'>JMP</A>)"
if(target.mob in heard)
prefix = "LOOC" 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>"

View File

@@ -15,6 +15,7 @@ em {font-style: normal; font-weight: bold;}
.ooc { font-weight: bold;} .ooc { font-weight: bold;}
.ooc .everyone {color: #002eb8;} .ooc .everyone {color: #002eb8;}
.ooc .looc {color: #6699cc;}
.ooc .elevated {color: #2e78d9;} .ooc .elevated {color: #2e78d9;}
.ooc .moderator {color: #184880;} .ooc .moderator {color: #184880;}
.ooc .developer {color: #1b521f;} .ooc .developer {color: #1b521f;}