* fixes modular receiver sprites * fixes legs rendering for taurs * fixes shoes not rendering in UI for nagas * typo fix in preferences.dm * crewsimov * Revert "fixes legs rendering for taurs" This reverts commit 8a64c0c80af8a6798639bb151d1448eeb454ac5d. * fixes looc logging * fixes gamemode voting * admin respawn bypass * thanks GitHub Desktop totally wanted to omit the very important if() * proc tweak * savefile sanitizing
81 lines
2.4 KiB
Plaintext
81 lines
2.4 KiB
Plaintext
/client/verb/looc(msg as text)
|
|
set name = "LOOC"
|
|
set desc = "Local OOC, seen only by those in view."
|
|
set category = "OOC"
|
|
|
|
if(GLOB.say_disabled) //This is here to try to identify lag problems
|
|
usr << "\red Speech is currently admin-disabled."
|
|
return
|
|
|
|
if(!mob) return
|
|
if(IsGuestKey(key))
|
|
src << "Guests may not use OOC."
|
|
return
|
|
|
|
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
|
if(!msg) return
|
|
|
|
if(!(prefs.toggles & CHAT_OOC))
|
|
src << "\red You have OOC muted."
|
|
return
|
|
|
|
if(!holder)
|
|
if(!GLOB.ooc_allowed)
|
|
src << "\red OOC is globally muted"
|
|
return
|
|
if(!GLOB.dooc_allowed && (mob.stat == DEAD))
|
|
usr << "\red OOC for dead mobs has been turned off."
|
|
return
|
|
if(prefs.muted & MUTE_OOC)
|
|
src << "\red You cannot use OOC (muted)."
|
|
return
|
|
if(handle_spam_prevention(msg,MUTE_OOC))
|
|
return
|
|
if(findtext(msg, "byond://"))
|
|
src << "<B>Advertising other servers is not allowed.</B>"
|
|
log_admin("[key_name(src)] has attempted to advertise in LOOC: [msg]")
|
|
return
|
|
|
|
log_ooc("(LOCAL) [mob.name]/[key] : [msg]")
|
|
mob.log_message("(LOCAL): [msg]", INDIVIDUAL_OOC_LOG)
|
|
|
|
var/list/heard = get_hearers_in_view(7, get_top_level_mob(src.mob))
|
|
for(var/mob/M in heard)
|
|
if(!M.client)
|
|
continue
|
|
var/client/C = M.client
|
|
if (C in GLOB.admins)
|
|
continue //they are handled after that
|
|
|
|
if (isobserver(M))
|
|
continue //Also handled later.
|
|
|
|
if(C.prefs.toggles & CHAT_OOC)
|
|
// var/display_name = src.key
|
|
// 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>[src.mob.name]:</EM> <span class='message'>[msg]</span></span></font>"
|
|
|
|
for(var/client/C in GLOB.admins)
|
|
if(C.prefs.toggles & CHAT_OOC)
|
|
var/prefix = "(R)LOOC"
|
|
if (C.mob in heard)
|
|
prefix = "LOOC"
|
|
C << "<font color='#6699CC'><span class='ooc'><span class='prefix'>[prefix]:</span> <EM>[src.key]/[src.mob.name]:</EM> <span class='message'>[msg]</span></span></font>"
|
|
|
|
for(var/mob/dead/observer/G in world)
|
|
if(!G.client)
|
|
continue
|
|
var/client/C = G.client
|
|
if (C in GLOB.admins)
|
|
continue //handled earlier.
|
|
if(C.prefs.toggles & CHAT_OOC)
|
|
var/prefix = "(G)LOOC"
|
|
if (C.mob in heard)
|
|
prefix = "LOOC"
|
|
C << "<font color='#6699CC'><span class='ooc'><span class='prefix'>[prefix]:</span> <EM>[src.key]/[src.mob.name]:</EM> <span class='message'>[msg]</span></span></font>"
|