From 82a8f32783ee1c870b2bb4f039ff9aaa9f7c45d8 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 30 Apr 2015 09:45:50 +0200 Subject: [PATCH] Admins can now toggle LOOC separately from OOC. Also includes what I image to be proper permission checks for toggling the various OOC channels. --- code/controllers/configuration.dm | 2 ++ code/game/verbs/ooc.dm | 4 +-- code/modules/admin/admin.dm | 31 ++++++++++++++++++-- code/modules/admin/admin_verbs.dm | 1 + html/changelogs/PsiOmegaDelta-LOOCToggle.yml | 5 ++++ html/changelogs/PsiOmegaDelta.yml | 3 -- 6 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 html/changelogs/PsiOmegaDelta-LOOCToggle.yml delete mode 100644 html/changelogs/PsiOmegaDelta.yml diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index e92d323062..171080fb32 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -185,6 +185,7 @@ var/list/gamemode_cache = list() var/ninjas_allowed = 0 var/abandon_allowed = 1 var/ooc_allowed = 1 + var/looc_allowed = 1 var/dooc_allowed = 1 var/dsay_allowed = 1 @@ -398,6 +399,7 @@ var/list/gamemode_cache = list() if ("disable_ooc") config.ooc_allowed = 0 + config.looc_allowed = 0 if ("disable_entry") config.enter_allowed = 0 diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 92b0638b9f..82fef02e97 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -85,8 +85,8 @@ return if(!holder) - if(!config.ooc_allowed) - src << "OOC is globally muted." + if(!config.looc_allowed) + src << "LOOC is globally muted." return if(!config.dooc_allowed && (mob.stat == DEAD)) usr << "OOC for dead mobs has been turned off." diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 7b5a4558cf..b42313261d 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -747,20 +747,43 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Globally Toggles OOC" set name="Toggle OOC" + + if(!check_rights(R_ADMIN)) + return + config.ooc_allowed = !(config.ooc_allowed) if (config.ooc_allowed) world << "The OOC channel has been globally enabled!" 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) + log_and_message_admins("toggled OOC.") 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/togglelooc() + set category = "Server" + set desc="Globally Toggles LOOC" + set name="Toggle LOOC" + + if(!check_rights(R_ADMIN)) + return + + config.looc_allowed = !(config.looc_allowed) + if (config.looc_allowed) + world << "The LOOC channel has been globally enabled!" + else + world << "The LOOC channel has been globally disabled!" + log_and_message_admins("toggled LOOC.") + 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/toggledsay() set category = "Server" set desc="Globally Toggles DSAY" set name="Toggle DSAY" + + if(!check_rights(R_ADMIN)) + return + config.dsay_allowed = !(config.dsay_allowed) if (config.dsay_allowed) world << "Deadchat has been globally enabled!" @@ -774,6 +797,10 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Toggle Dead OOC." set name="Toggle Dead OOC" + + if(!check_rights(R_ADMIN)) + return + config.dooc_allowed = !( config.dooc_allowed ) log_admin("[key_name(usr)] toggled Dead OOC.") message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index f5bf7af81d..d495bacecb 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -58,6 +58,7 @@ var/list/admin_verbs_admin = list( /client/proc/investigate_show, /*various admintools for investigation. Such as a singulo grief-log*/ /client/proc/secrets, /datum/admins/proc/toggleooc, /*toggles ooc on/off for everyone*/ + /datum/admins/proc/togglelooc, /*toggles looc on/off for everyone*/ /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*/ diff --git a/html/changelogs/PsiOmegaDelta-LOOCToggle.yml b/html/changelogs/PsiOmegaDelta-LOOCToggle.yml new file mode 100644 index 0000000000..d81a4b7fe2 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-LOOCToggle.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True +changes: + - rscadd: "Admins can now toggle OOC/LOOC separately." + \ No newline at end of file diff --git a/html/changelogs/PsiOmegaDelta.yml b/html/changelogs/PsiOmegaDelta.yml deleted file mode 100644 index 6fdea55f54..0000000000 --- a/html/changelogs/PsiOmegaDelta.yml +++ /dev/null @@ -1,3 +0,0 @@ -author: PsiOmegaDelta -changes: [] -delete-after: false