diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 5b0d47027ae..5d288c18f0c 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/robotics name = "robotics control console" - desc = "Used to remotely lockdown or detonate linked Cyborgs and Drones." + desc = "Used to remotely lockdown linked Cyborgs and Drones." icon_screen = "robot" icon_keyboard = "rd_key" req_access = list(ACCESS_ROBOTICS) @@ -77,24 +77,23 @@ return switch(action) - if("killbot") - if(allowed(usr)) - var/mob/living/silicon/robot/R = locate(params["ref"]) in GLOB.silicon_mobs - if(can_control(usr, R) && !..()) - R.self_destruct(usr) - else - to_chat(usr, span_danger("Access Denied.")) if("stopbot") if(allowed(usr)) var/mob/living/silicon/robot/R = locate(params["ref"]) in GLOB.silicon_mobs if(can_control(usr, R) && !..()) - message_admins(span_notice("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!")) - log_silicon("[key_name(usr)] [!R.lockcharge ? "locked down" : "released"] [key_name(R)]!") - log_combat(usr, R, "[!R.lockcharge ? "locked down" : "released"] cyborg") - R.SetLockdown(!R.lockcharge) - to_chat(R, !R.lockcharge ? span_notice("Your lockdown has been lifted!") : span_alert("You have been locked down!")) - if(R.connected_ai) - to_chat(R.connected_ai, "[!R.lockcharge ? span_notice("NOTICE - Cyborg lockdown lifted") : span_alert("ALERT - Cyborg lockdown detected")]: [R.name]
") + if(isAI(usr) && (R.ai_lockdown && R.lockcharge || !R.lockcharge) || !isAI(usr)) + R.ai_lockdown = FALSE + if(isAI(usr)&&!R.lockcharge) + R.ai_lockdown = TRUE + message_admins(span_notice("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!")) + log_silicon("[key_name(usr)] [!R.lockcharge ? "locked down" : "released"] [key_name(R)]!") + log_combat(usr, R, "[!R.lockcharge ? "locked down" : "released"] cyborg") + R.SetLockdown(!R.lockcharge) + to_chat(R, !R.lockcharge ? span_notice("Your lockdown has been lifted!") : span_alert("You have been locked down!")) + if(R.connected_ai) + to_chat(R.connected_ai, "[!R.lockcharge ? span_notice("NOTICE - Cyborg lockdown lifted") : span_alert("ALERT - Cyborg lockdown detected")]: [R.name]
") + else + to_chat(usr, span_danger("Cyborg locked by an user with superior permissions.")) else to_chat(usr, span_danger("Access Denied.")) if("magbot") diff --git a/code/modules/mob/living/silicon/robot/robot_defines.dm b/code/modules/mob/living/silicon/robot/robot_defines.dm index f8cee801b3d..8334ad36c51 100644 --- a/code/modules/mob/living/silicon/robot/robot_defines.dm +++ b/code/modules/mob/living/silicon/robot/robot_defines.dm @@ -94,7 +94,8 @@ var/scrambledcodes = FALSE ///Boolean of whether the borg is locked down or not var/lockcharge = FALSE - + ///Boolean of whether the borg was locked by its AI or nothing + var/ai_lockdown = FALSE ///Random serial number generated for each cyborg upon its initialization var/ident = 0 var/locked = TRUE diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 3d1d0b998fa..259655ae867 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -141,6 +141,7 @@ name = "Computer Design (Robotics Control Console)" desc = "Allows for the construction of circuit boards used to build a Robotics Control console." id = "robocontrol" + materials = list(/datum/material/glass = 1000, /datum/material/gold = 1000, /datum/material/silver = 1000, /datum/material/bluespace = 2000) build_path = /obj/item/circuitboard/computer/robotics category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/tgui/packages/tgui/interfaces/RoboticsControlConsole.js b/tgui/packages/tgui/interfaces/RoboticsControlConsole.js index 256e32a8fdc..569721fa30e 100644 --- a/tgui/packages/tgui/interfaces/RoboticsControlConsole.js +++ b/tgui/packages/tgui/interfaces/RoboticsControlConsole.js @@ -75,13 +75,6 @@ const Cyborgs = (props, context) => { onClick={() => act('stopbot', { ref: cyborg.ref, })} /> - act('killbot', { - ref: cyborg.ref, - })} /> )}>