diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm
index 53a340696a4..e5b8956ad93 100644
--- a/code/game/machinery/computer/robot.dm
+++ b/code/game/machinery/computer/robot.dm
@@ -217,6 +217,15 @@
else
robot["cell"] = 0
+ var/turf/pos = get_turf(R)
+ var/area/bot_area = get_area(R)
+ robot["xpos"] = pos.x
+ robot["ypos"] = pos.y
+ robot["zpos"] = pos.z
+ robot["area"] = format_text(bot_area.name)
+
+ robot["health"] = round(R.health * 100 / R.maxHealth,0.1)
+
robot["module"] = R.module ? R.module.name : "None"
robot["master_ai"] = R.connected_ai ? R.connected_ai.name : "None"
robot["hackable"] = 0
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index 39196db70fa..d39a8dfbc93 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -111,11 +111,13 @@
else if(issilicon(M))
if(isrobot(M))
var/mob/living/silicon/robot/R = M
- for(var/obj/item/borg/combat/shield/S in R.module.modules)
- if(R.activated(S))
- add_logs(M, user, "flashed", object="[src.name]")
- user.visible_message("[user] tries to overloads [M]'s sensors with the [src.name], but if blocked by [M]'s shield!", "You try to overload [M]'s sensors with the [src.name], but are blocked by his shield!")
- return 1
+
+ if (R.module) // Perhaps they didn't choose a module yet
+ for(var/obj/item/borg/combat/shield/S in R.module.modules)
+ if(R.activated(S))
+ add_logs(M, user, "flashed", object="[src.name]")
+ user.visible_message("[user] tries to overloads [M]'s sensors with the [src.name], but if blocked by [M]'s shield!", "You try to overload [M]'s sensors with the [src.name], but are blocked by his shield!")
+ return 1
M.Weaken(rand(5,10))
add_logs(M, user, "flashed", object="[src.name]")
user.visible_message("[user] overloads [M]'s sensors with the [src.name]!", "You overload [M]'s sensors with the [src.name]!")
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index 8bd45097fef..5732d3248ae 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -211,12 +211,12 @@
//Drones killed by damage will gib.
/mob/living/silicon/robot/drone/handle_regular_status_updates()
- if(health <= -35 && src.stat != 2)
+ if(health <= -35 && src.stat != DEAD)
timeofdeath = world.time
death() //Possibly redundant, having trouble making death() cooperate.
gib()
return
- ..()
+ return ..() // If you don't return anything here, you won't update status effects, like weakening
/mob/living/silicon/robot/drone/death(gibbed)
diff --git a/nano/templates/robot_control.tmpl b/nano/templates/robot_control.tmpl
index 2e5e892e0e8..3ee100e0de6 100644
--- a/nano/templates/robot_control.tmpl
+++ b/nano/templates/robot_control.tmpl
@@ -27,6 +27,18 @@
{{:value.status}}
+
+ System Integrity:
+
+
+ {{:value.health}} %
+
+
+ Location:
+
+
+ ({{:value.xpos}}, {{:value.ypos}}, {{:value.zpos}}): {{:value.area}}
+
Master AI: