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 display_name = holder.fakekey
if(source.stat != DEAD)
display_name = source.name
// Handle non-admins var/prefix
for(var/mob/M in heard) var/admin_stuff
if(!M.client) for(var/client/target in clients)
continue if(target.prefs.toggles & CHAT_LOOC)
var/client/C = M.client admin_stuff = ""
if (C in admins) if(target in admins)
continue //they are handled after that prefix = "(R)LOOC"
admin_stuff += "/([source.key])"
if(C.prefs.toggles & CHAT_LOOC) if(target != source.client)
if(holder) admin_stuff += "(<A HREF='?src=\ref[target.holder];adminplayerobservejump=\ref[mob]'>JMP</A>)"
if(holder.fakekey) if(target.mob in heard)
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)
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;}