From 4478769bab73f1c53c6e5829bbf5a6a7be09ae75 Mon Sep 17 00:00:00 2001 From: SoundScopes Date: Fri, 31 Oct 2014 17:12:38 +0000 Subject: [PATCH] Muting staff --- code/__HELPERS/logging.dm | 4 +- code/game/verbs/ooc.dm | 20 +++++++++ code/global.dm | 11 +++++ code/modules/admin/admin.dm | 75 ++++++++++++++++++++++++++++++- code/modules/admin/admin_verbs.dm | 4 ++ 5 files changed, 111 insertions(+), 3 deletions(-) diff --git a/code/__HELPERS/logging.dm b/code/__HELPERS/logging.dm index c2461eb2..2281a609 100644 --- a/code/__HELPERS/logging.dm +++ b/code/__HELPERS/logging.dm @@ -87,7 +87,7 @@ //SoundScopes extra stuffs //I'm sending debug messages through here for when an admin log is made at the same time. //What's the point in making 2 recorded logs for one thing. -/proc/msg_scopes(var/msg, tell_devs = 0) +/proc/msg_scopes(var/msg, tell_devs = 0, override = 0) if(tell_devs) msg = "DEBUG: [msg]" else @@ -96,7 +96,7 @@ for(var/client/C in admins) if(R_DEV & C.holder.rights) if(tell_devs) - if((C.prefs.toggles & CHAT_DEBUGLOGS) && !(R_ADMIN & C.holder.rights)) + if(((C.prefs.toggles & CHAT_DEBUGLOGS) || (override)) && !(C.holder.rights & R_ADMIN)) C << msg if(R_ADMIN & C.holder.rights) if(C.prefs.toggles & CHAT_SCOPES_DEBUG) diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 0af8f65f..10fac8f4 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -39,6 +39,16 @@ var/global/normal_ooc_colour = "#002eb8" message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return + if(holder) + if(holder.rights & R_DEV && !(holder.rights & R_ADMIN)) + if(!ooc_allowed && !ooc_dev_allowed) + src << "\red OOC is muted for developers" + return + if(holder.rights & R_MOD && !(holder.rights & R_ADMIN)) + if(!ooc_allowed && !ooc_mod_allowed) + src << "\red OOC is muted for moderators" + return + log_ooc("[mob.name]/[key] : [msg]") var/display_colour = normal_ooc_colour @@ -132,6 +142,16 @@ var/global/normal_ooc_colour = "#002eb8" message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]") return + if(holder) + if(holder.rights & R_DEV && !(holder.rights & R_ADMIN)) + if(!looc_allowed && !looc_dev_allowed) + src << "\red LOOC is muted for developers" + return + if(holder.rights & R_MOD && !(holder.rights & R_ADMIN)) + if(!looc_allowed && !looc_mod_allowed) + src << "\red LOOC is muted for moderators" + return + log_ooc("(LOCAL) [mob.name]/[key] : [msg]") var/list/heard = get_mobs_in_view(7, src.mob) diff --git a/code/global.dm b/code/global.dm index 6e696060..6499f051 100644 --- a/code/global.dm +++ b/code/global.dm @@ -91,10 +91,21 @@ var/secret_force_mode = "secret" // if this is anything but "secret", the secret var/datum/engine_eject/engine_eject_control = null var/host = null var/aliens_allowed = 0 + + var/ooc_allowed = 1 +var/ooc_mod_allowed = 1 +var/ooc_dev_allowed = 1 + var/looc_allowed = 1 +var/looc_mod_allowed = 1 +var/looc_dev_allowed = 1 + var/dsay_allowed = 1 var/dooc_allowed = 1 + + + var/traitor_scaling = 1 //var/goonsay_allowed = 0 var/dna_ident = 1 diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 68c163bc..dc6aa228 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -740,12 +740,50 @@ var/global/floorIsLava = 0 ooc_allowed = !( ooc_allowed ) if (ooc_allowed) world << "The OOC channel has been globally enabled!" + ooc_dev_allowed = 1 + ooc_mod_allowed = 1 else world << "The OOC channel has been globally disabled!" log_admin("[key_name(usr)] toggled OOC.") message_admins("[key_name_admin(usr)] toggled OOC.", 1) feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/datum/admins/proc/toggledevooc() + set category = "Server" + set desc="Toggles Developer OOC" + set name="Toggle Dev OOC" + if(ooc_allowed) + usr << "OOC needs to be muted first" + return + ooc_dev_allowed = !( ooc_dev_allowed ) + var/looc_status + if (ooc_dev_allowed) + looc_status = "Enabled" + else + looc_status = "Disabled" + log_admin("[key_name(usr)] [looc_status] Developer OOC.") + message_admins("[key_name_admin(usr)] [looc_status] Developer OOC.", 1) + msg_scopes("Developer OOC has been [looc_status]",1,1) + feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/datum/admins/proc/togglemodooc() + set category = "Server" + set desc="Toggles Moderators OOC" + set name="Toggle Mod OOC" + if(ooc_allowed) + usr << "OOC needs to be muted first" + return + ooc_mod_allowed = !( ooc_mod_allowed ) + var/looc_status + if (ooc_mod_allowed) + looc_status = "Enabled" + else + looc_status = "Disabled" + log_admin("[key_name(usr)] toggled Mod OOC.") + message_admins("[key_name_admin(usr)] [looc_status] Moderator OOC.", 1) + message_mods("Moderator OOC has been [looc_status]") + feedback_add_details("admin_verb","TMOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /datum/admins/proc/togglelooc() set category = "Server" set desc="Globally Toggles LOOC" @@ -753,14 +791,49 @@ var/global/floorIsLava = 0 looc_allowed = !( looc_allowed ) if (looc_allowed) world << "The LOOC channel has been globally enabled!" + looc_dev_allowed = 1 + looc_mod_allowed = 1 else world << "The LOOC channel has been globally disabled!" log_admin("[key_name(usr)] toggled LOOC.") message_admins("[key_name_admin(usr)] toggled LOOC.", 1) feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/datum/admins/proc/toggledevlooc() + set category = "Server" + set desc="Toggles Developer LOOC" + set name="Toggle Dev LOOC" + if(looc_allowed) + usr << "Looc needs to be muted first" + return + looc_dev_allowed = !( looc_dev_allowed ) + var/looc_status + if (looc_dev_allowed) + looc_status = "Enabled" + else + looc_status = "Disabled" + log_admin("[key_name(usr)] [looc_status] Developer LOOC.") + message_admins("[key_name_admin(usr)] [looc_status] Developer LOOC.", 1) + msg_scopes("Developer LOOC has been [looc_status]",1,1) + feedback_add_details("admin_verb","TDLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - +/datum/admins/proc/togglemodlooc() + set category = "Server" + set desc="Toggles Moderator LOOC" + set name="Toggle Mod LOOC" + if(looc_allowed) + usr << "Looc needs to be muted first" + return + looc_mod_allowed = !( looc_mod_allowed ) + var/looc_status + if (looc_mod_allowed) + looc_status = "Enabled" + else + looc_status = "Disabled" + log_admin("[key_name(usr)] [looc_status] Moderator LOOC.") + message_admins("[key_name_admin(usr)] [looc_status] Moderator LOOC.", 1) + message_mods("Moderator LOOC has been [looc_status]") + feedback_add_details("admin_verb","TMLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggledsay() set category = "Server" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 230ac0cd..efbecb0a 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -59,7 +59,11 @@ var/list/admin_verbs_admin = list( /client/proc/secrets, /client/proc/toggleprayers, /datum/admins/proc/toggleooc, /*toggles ooc on/off for everyone*/ + /datum/admins/proc/toggledevooc, + /datum/admins/proc/togglemodooc, /datum/admins/proc/togglelooc, + /datum/admins/proc/togglemodlooc, + /datum/admins/proc/toggledevlooc, /datum/admins/proc/toggleoocdead, /*toggles ooc on/off for everyone who is dead*/ /datum/admins/proc/toggledsay, /*toggles dsay on/off for everyone*/ /client/proc/game_panel, /*game panel, allows to change game-mode etc*/