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

🆑
qol: The Human AI's advanced security console can be repackaged with a
screwdriver if you wish to move it.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
This commit is contained in:
John Willard
2024-04-30 17:16:55 +00:00
committed by SkyratBot
co-authored by MrMelbert
parent 8fc83bb351
commit 2ddef00a5d
2 changed files with 16 additions and 7 deletions
@@ -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
@@ -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)