diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm
index 41ead45327..ada4610e4b 100644
--- a/code/game/machinery/computer/robot.dm
+++ b/code/game/machinery/computer/robot.dm
@@ -1,165 +1,12 @@
-
-
-
-/obj/machinery/computer/robotics
- name = "robotics control console"
- desc = "Used to remotely lockdown or detonate linked Cyborgs."
- icon_screen = "robot"
- icon_keyboard = "rd_key"
+
+
+
+/obj/machinery/computer/robotics
+ name = "robotics control console"
+ desc = "Used to remotely lockdown or detonate linked Cyborgs."
+ icon_screen = "robot"
+ icon_keyboard = "rd_key"
req_access = list(ACCESS_ROBOTICS)
-<<<<<<< HEAD
- circuit = /obj/item/circuitboard/computer/robotics
- var/temp = null
-
- light_color = LIGHT_COLOR_PINK
-
-/obj/machinery/computer/robotics/proc/can_control(mob/user, mob/living/silicon/robot/R)
- if(!istype(R))
- return 0
- if(isAI(user))
- if (R.connected_ai != user)
- return 0
- if(iscyborg(user))
- if (R != user)
- return 0
- if(R.scrambledcodes)
- return 0
- return 1
-
-/obj/machinery/computer/robotics/attack_hand(mob/user)
- if(..())
- return
- interact(user)
-
-/obj/machinery/computer/robotics/interact(mob/user)
- if (src.z > 6)
- to_chat(user, "Unable to establish a connection: \black You're too far away from the station!")
- return
- user.set_machine(src)
- var/dat
- var/robots = 0
- for(var/mob/living/silicon/robot/R in GLOB.mob_list)
- if(!can_control(user, R))
- continue
- robots++
- dat += "[R.name] |"
- if(R.stat)
- dat += " Not Responding |"
- else if (!R.canmove)
- dat += " Locked Down |"
- else
- dat += " Operating Normally |"
- if (!R.canmove)
- else if(R.cell)
- dat += " Battery Installed ([R.cell.charge]/[R.cell.maxcharge]) |"
- else
- dat += " No Cell Installed |"
- if(R.module)
- dat += " Module Installed ([R.module.name]) |"
- else
- dat += " No Module Installed |"
- if(R.connected_ai)
- dat += " Slaved to [R.connected_ai.name] |"
- else
- dat += " Independent from AI |"
- if(issilicon(user) || IsAdminGhost(user))
- if(is_servant_of_ratvar(user) && user != R)
- dat += "(Convert) "
- else if(((issilicon(user) && is_special_character(user)) || IsAdminGhost(user)) && !R.emagged && (user != R || R.syndicate))
- dat += "(Hack) "
- dat += "([R.canmove ? "Lockdown" : "Release"]) "
- dat += "(Destroy)"
- dat += "
"
-
- if(!robots)
- dat += "No Cyborg Units detected within access parameters."
- dat += "
"
-
- var/drones = 0
- for(var/mob/living/simple_animal/drone/D in GLOB.mob_list)
- if(D.hacked)
- continue
- drones++
- dat += "[D.name] |"
- if(D.stat)
- dat += " Not Responding |"
- dat += "(Destroy)"
- dat += "
"
-
- if(!drones)
- dat += "No Drone Units detected within access parameters."
-
- var/datum/browser/popup = new(user, "computer", "Cyborg Control Console", 400, 500)
- popup.set_content(dat)
- popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
- popup.open()
- return
-
-/obj/machinery/computer/robotics/Topic(href, href_list)
- if(..())
- return
-
- if (href_list["temp"])
- src.temp = null
-
- else if (href_list["killbot"])
- if(src.allowed(usr))
- var/mob/living/silicon/robot/R = locate(href_list["killbot"]) in GLOB.silicon_mobs
- if(can_control(usr, R))
- var/choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort")
- if(choice == "Confirm" && can_control(usr, R) && !..())
- if(R.syndicate && R.emagged)
- to_chat(R, "Extreme danger. Termination codes detected. Scrambling security codes and automatic AI unlink triggered.")
- if(R.connected_ai)
- to_chat(R.connected_ai, "
ALERT - Cyborg detonation detected: [R.name]
")
- R.ResetSecurityCodes()
- else
- var/turf/T = get_turf(R)
- message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name(R, R.client)][ADMIN_JMP(T)]!")
- log_game("\[key_name(usr)] detonated [key_name(R)]!")
- if(R.connected_ai)
- to_chat(R.connected_ai, "
ALERT - Cyborg detonation detected: [R.name]
")
- R.self_destruct()
- else
- to_chat(usr, "Access Denied.")
-
- else if (href_list["stopbot"])
- if(src.allowed(usr))
- var/mob/living/silicon/robot/R = locate(href_list["stopbot"]) in GLOB.silicon_mobs
- if(can_control(usr, R))
- var/choice = input("Are you certain you wish to [R.canmove ? "lock down" : "release"] [R.name]?") in list("Confirm", "Abort")
- if(choice == "Confirm" && can_control(usr, R) && !..())
- message_admins("[ADMIN_LOOKUPFLW(usr)] [R.canmove ? "locked down" : "released"] [key_name(R, R.client)][ADMIN_LOOKUPFLW(R)]!")
- log_game("[key_name(usr)] [R.canmove ? "locked down" : "released"] [key_name(R)]!")
- R.SetLockdown(!R.lockcharge)
- to_chat(R, "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]")
- if(R.connected_ai)
- to_chat(R.connected_ai, "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
")
-
- else
- to_chat(usr, "Access Denied.")
-
- else if (href_list["magbot"])
- if((issilicon(usr) && is_special_character(usr)) || IsAdminGhost(usr))
- var/mob/living/silicon/robot/R = locate(href_list["magbot"]) in GLOB.silicon_mobs
- if(istype(R) && !R.emagged && ((R.syndicate && R == usr) || R.connected_ai == usr || IsAdminGhost(usr)) && !R.scrambledcodes && can_control(usr, R))
- log_game("[key_name(usr)] emagged [R.name] using robotic console!")
- message_admins("[key_name_admin(usr)] emagged cyborg [key_name_admin(R)] using robotic console!")
- R.SetEmagged(1)
- if(is_special_character(R))
- R.verbs += /mob/living/silicon/robot/proc/ResetSecurityCodes
-
- else if(href_list["convert"])
- if(issilicon(usr) && is_special_character(usr))
- var/mob/living/silicon/robot/R = locate(href_list["convert"]) in GLOB.silicon_mobs
- if(istype(R) && !is_servant_of_ratvar(R) && is_servant_of_ratvar(usr) && R.connected_ai == usr)
- log_game("[key_name(usr)] converted [R.name] using robotic console!")
- message_admins("[key_name_admin(usr)] converted cyborg [key_name_admin(R)] using robotic console!")
- add_servant_of_ratvar(R)
-
- else if (href_list["killdrone"])
- if(src.allowed(usr))
-=======
circuit = /obj/item/circuitboard/computer/robotics
var/temp = null
@@ -311,20 +158,19 @@
else if (href_list["killdrone"])
if(src.allowed(usr))
->>>>>>> 626302c... Merge pull request #32161 from ninjanomnom/512-experimental
var/mob/living/simple_animal/drone/D = locate(href_list["killdrone"]) in GLOB.mob_list
- if(D.hacked)
- to_chat(usr, "ERROR: [D] is not responding to external commands.")
- else
+ if(D.hacked)
+ to_chat(usr, "ERROR: [D] is not responding to external commands.")
+ else
var/turf/T = get_turf(D)
message_admins("[ADMIN_LOOKUPFLW(usr)] detonated [key_name_admin(D)][ADMIN_JMP(T)]!")
log_game("[key_name(usr)] detonated [key_name(D)]!")
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, D)
- s.start()
- D.visible_message("\the [D] self destructs!")
- D.gib()
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
+ s.set_up(3, 1, D)
+ s.start()
+ D.visible_message("\the [D] self destructs!")
+ D.gib()
-
- src.updateUsrDialog()
- return
+
+ src.updateUsrDialog()
+ return