From 39b53e390aa31aba13bc9f1d4fb068c7ddeeb951 Mon Sep 17 00:00:00 2001 From: Jacquerel Date: Sat, 26 Jul 2025 03:13:27 +0100 Subject: [PATCH] Logging for bot sapience (#92302) ## About The Pull Request This PR adds logging for people turning bot sapience on and off This is currently logged to silicon logs, even though the mob is not a silicon, just because I figured that's where an admin would look for information related to robots. If you think that is stupid I can put it somewhere else. ## Why It's Good For The Game This is an action that can adds ghosts (and meta knowledge) into the round which didn't leave any kind of paper trail, so it should probably have one Ejecting an existing player from bot control was already logged and I didn't remove it ## Changelog :cl: admin: adds logging for turning bot sapience on and off /:cl: --- code/modules/mob/living/basic/bots/_bots.dm | 7 ++++++- code/modules/mob/living/simple_animal/bot/bot.dm | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/basic/bots/_bots.dm b/code/modules/mob/living/basic/bots/_bots.dm index db05f26c664..4cdf7f8ecf3 100644 --- a/code/modules/mob/living/basic/bots/_bots.dm +++ b/code/modules/mob/living/basic/bots/_bots.dm @@ -231,13 +231,18 @@ GLOBAL_LIST_INIT(command_strings, list( if (can_announce) COOLDOWN_START(src, offer_ghosts_cooldown, 30 SECONDS) + if (user) + log_silicon("[key_name(user)] enabled sapience for [src] ([initial(src.name)])") // Not technically a silicon but who is counting + /// Disables this bot from being possessed by ghosts /mob/living/basic/bot/proc/disable_possession(mob/user) + if (user) + log_silicon("[key_name(user)] disabled sapience for [src] ([initial(src.name)])") can_be_possessed = FALSE if(isnull(key)) return if (user) - log_combat(user, src, "ejected from [initial(src.name)] control.") + log_combat(user, src, "ejected [key_name(src)] from control of [src] ([initial(src.name)]).") to_chat(src, span_warning("You feel yourself fade as your personality matrix is reset!")) ghostize(can_reenter_corpse = FALSE) playsound(src, 'sound/machines/ping.ogg', 30, TRUE) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 77f339c7859..cb740063e55 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -233,14 +233,19 @@ if (can_announce) COOLDOWN_START(src, offer_ghosts_cooldown, 30 SECONDS) + if (user) + log_silicon("[key_name(user)] enabled sapience for [src] ([initial(src.name)])") // Not technically a silicon but who is counting + /// Disables this bot from being possessed by ghosts /mob/living/simple_animal/bot/proc/disable_possession(mob/user) + if (user) + log_silicon("[key_name(user)] disabled sapience for [src] ([initial(src.name)])") can_be_possessed = FALSE qdel(GetComponent(/datum/component/ghost_direct_control)) if (isnull(key)) return if (user) - log_combat(user, src, "ejected from [initial(src.name)] control.") + log_combat(user, src, "ejected [key_name(src)] from control of [src] ([initial(src.name)]).") to_chat(src, span_warning("You feel yourself fade as your personality matrix is reset!")) ghostize(can_reenter_corpse = FALSE) playsound(src, 'sound/machines/ping.ogg', 30, TRUE)