From 2ddef00a5d56265cc69b1efbae7973f6ff01a27f Mon Sep 17 00:00:00 2001 From: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Date: Tue, 30 Apr 2024 16:56:31 +0000 Subject: [PATCH 1/2] Human AI camera consoles can now be repackaged (#82629) ## About The Pull Request Human AI's advanced camera console currently uses the base console which has no circuit, meaning it's impossible to unscrew it. Instead of giving it their own circuit, I thought it would be better to rework it into something that gets packed and unpacked, similar to the bible w/ Altar of the Gods. I thought this would be the best way to handle it in case the human AI wants to move their board over, while still keeping that limit of remaining in the AI sat, and making it still make sense (if it was a board, there's no reason for it to NOT work outside of the SAT). ## Why It's Good For The Game The advanced camera console can be moved without compromise on the intended restrictions. ## Changelog :cl: qol: The Human AI's advanced security console can be repackaged with a screwdriver if you wish to move it. /:cl: --------- Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com> --- code/game/machinery/computer/camera_advanced.dm | 9 +++++++++ .../jobs/job_types/station_trait/human_ai.dm | 14 +++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index f5695dd6284..45bfeb9fcef 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -339,3 +339,12 @@ to_chat(owner, span_notice("You move downwards.")) else to_chat(owner, span_notice("You couldn't move downwards!")) + +/obj/machinery/computer/camera_advanced/human_ai/screwdriver_act(mob/living/user, obj/item/tool) + balloon_alert(user, "repackaging...") + if(!do_after(user, 5 SECONDS, src)) + return ITEM_INTERACT_BLOCKING + tool.play_tool_sound(src, 40) + new /obj/item/secure_camera_console_pod(get_turf(src)) + qdel(src) + return ITEM_INTERACT_SUCCESS diff --git a/code/modules/jobs/job_types/station_trait/human_ai.dm b/code/modules/jobs/job_types/station_trait/human_ai.dm index 285479a6912..af80df69fe8 100644 --- a/code/modules/jobs/job_types/station_trait/human_ai.dm +++ b/code/modules/jobs/job_types/station_trait/human_ai.dm @@ -148,8 +148,8 @@ return ..() /obj/item/secure_camera_console_pod - name = "advanced camera control pod" - desc = "Calls down a secure camera console to use for all your AI stuff, may only be activated in the SAT." + name = "pre-packaged advanced camera control" + desc = "A pre-packaged camera console used for all your AI stuff, programmed to only active in the SAT." icon = 'icons/obj/devices/remote.dmi' icon_state = "botpad_controller" inhand_icon_state = "radio" @@ -163,9 +163,9 @@ if(!is_type_in_typecache(current_area, allowed_areas)) user.balloon_alert(user, "not in the sat!") return - podspawn(list( - "target" = get_turf(src), - "style" = STYLE_BLUESPACE, - "spawn" = /obj/machinery/computer/camera_advanced, - )) + user.balloon_alert(user, "unpacking...") + if(!do_after(user, 5 SECONDS, src)) + return + playsound(src, 'sound/items/drill_use.ogg', 40, TRUE) + new /obj/machinery/computer/camera_advanced/human_ai(get_turf(src)) qdel(src)