diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 275d4b7dbf..7a76a2c968 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -84,3 +84,65 @@ var/global/normal_ooc_colour = "#002eb8" set desc = "Set to yellow for eye burning goodness." set category = "Fun" normal_ooc_colour = newColor + + +/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 desc = "Local OOC, seen only by those in view." + set category = "OOC" + + if(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(!ooc_allowed) + src << "\red OOC is globally muted" + return + if(!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 << "Advertising other servers is not allowed." + log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]") + message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") + return + + log_ooc("(LOCAL) [mob.name]/[key] : [msg]") + + for(var/mob/M in hearers()) + if(!M.client) + continue + var/client/C = M.client + if (C in admins) + continue //they are handled after that + + 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 << "LOOC: [display_name]: [msg]" + for(var/client/C in admins) + if(C.prefs.toggles & CHAT_OOC) + C << "LOOC: [src.key]: [msg]" \ No newline at end of file