diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index f216b025f8..4cd317318f 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -62,6 +62,8 @@ /datum/config_entry/flag/allow_ai // allow ai job +/datum/config_entry/flag/allow_ai_multicam //whether the AI can use their multicam + /datum/config_entry/flag/disable_human_mood /datum/config_entry/flag/disable_secborg // disallow secborg module to be chosen. diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 76cc17b791..1a398f56fc 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -605,6 +605,24 @@ world.update_status() SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle AI", "[!alai ? "Disabled" : "Enabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! +/datum/admins/proc/toggleMulticam() + set category = "Server" + set desc="Turns mutlicam on and off." + set name="Toggle Multicam" + var/almcam = CONFIG_GET(flag/allow_ai_multicam) + CONFIG_SET(flag/allow_ai_multicam, !almcam) + if (almcam) + to_chat(world, "The AI no longer has multicam.") + for(var/i in GLOB.ai_list) + var/mob/living/silicon/ai/aiPlayer = i + if(aiPlayer.multicam_on) + aiPlayer.end_multicam() + else + to_chat(world, "The AI now has multicam.") + log_admin("[key_name(usr)] toggled AI multicam.") + world.update_status() + SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle Multicam", "[!almcam ? "Disabled" : "Enabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /datum/admins/proc/toggleaban() set category = "Server" set desc="Respawn basically" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 9311adfbea..47ddd0aef3 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -118,6 +118,7 @@ GLOBAL_LIST_INIT(admin_verbs_server, world.AVerbsServer()) /datum/admins/proc/toggleaban, /client/proc/everyone_random, /datum/admins/proc/toggleAI, + /datum/admins/proc/toggleMulticam, /client/proc/cmd_admin_delete, /*delete an instance/object/mob/etc*/ /client/proc/cmd_debug_del_all, /client/proc/toggle_random_events, diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 3dbb454655..b4524a54e6 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -86,7 +86,7 @@ var/datum/action/innate/deploy_last_shell/redeploy_action = new var/chnotify = 0 - var/multicam_allowed = FALSE + var/multicam_on = FALSE var/obj/screen/movable/pic_in_pic/ai/master_multicam var/list/multicam_screens = list() diff --git a/code/modules/mob/living/silicon/ai/multicam.dm b/code/modules/mob/living/silicon/ai/multicam.dm index 20b5f96242..fcc068b7fe 100644 --- a/code/modules/mob/living/silicon/ai/multicam.dm +++ b/code/modules/mob/living/silicon/ai/multicam.dm @@ -194,7 +194,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) //AI procs /mob/living/silicon/ai/proc/drop_new_multicam(silent = FALSE) - if(!multicam_allowed) + if(!CONFIG_GET(flag/allow_ai_multicam)) if(!silent) to_chat(src, "This action is currently disabled. Contact an administrator to enable this feature.") return @@ -213,7 +213,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) return C /mob/living/silicon/ai/proc/toggle_multicam() - if(!multicam_allowed) + if(!CONFIG_GET(flag/allow_ai_multicam)) to_chat(src, "This action is currently disabled. Contact an administrator to enable this feature.") return if(multicam_on)