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