diff --git a/code/WorkInProgress/computer3/NTOS.dm b/code/WorkInProgress/computer3/NTOS.dm
index f6dc2697a8..86157dcc1c 100644
--- a/code/WorkInProgress/computer3/NTOS.dm
+++ b/code/WorkInProgress/computer3/NTOS.dm
@@ -165,6 +165,8 @@
"}
+
+ dat += generate_status_bar()
var/list/files = list_files()
if(current)
dat +=window(current.name,buttonbar(),filegrid(files))
@@ -176,6 +178,32 @@
usr << browse(dat, "window=\ref[computer];size=670x510")
onclose(usr, "\ref[computer]")
+ // STATUS BAR
+ // Small 16x16 icons representing status of components, etc.
+ // Currently only used by battery icon
+ // TODO: Add more icons!
+/datum/file/program/ntos/proc/generate_status_bar()
+ var/dat = ""
+
+ // Battery level icon
+ switch(computer.check_battery_status())
+ if(-1)
+ dat += "

"
+ if(0 to 5)
+ dat += "

"
+ if(6 to 20)
+ dat += "

"
+ if(21 to 40)
+ dat += "

"
+ if(41 to 60)
+ dat += "

"
+ if(61 to 80)
+ dat += "

"
+ if(81 to 100)
+ dat += "

"
+ dat += "
"
+ return dat
+
/datum/file/program/ntos/Topic(href, list/href_list)
if(!interactable() || ..(href,href_list))
return
diff --git a/code/WorkInProgress/computer3/computer.dm b/code/WorkInProgress/computer3/computer.dm
index 093f7b5ed7..456bdf3d71 100644
--- a/code/WorkInProgress/computer3/computer.dm
+++ b/code/WorkInProgress/computer3/computer.dm
@@ -449,6 +449,16 @@
overlays += kb
name = initial(name) + " (orange screen of death)"
+ //Returns percentage of battery charge remaining. Returns -1 if no battery is installed.
+ proc/check_battery_status()
+ if (battery)
+ var/obj/item/weapon/cell/B = battery
+ return round(B.charge / (B.maxcharge / 100))
+ else
+ return -1
+
+
+
/obj/machinery/computer3/wall_comp
name = "terminal"
icon = 'icons/obj/computer3.dmi'
diff --git a/icons/NTOS/battery_icons/batt_100.gif b/icons/NTOS/battery_icons/batt_100.gif
new file mode 100644
index 0000000000..72f04cff01
Binary files /dev/null and b/icons/NTOS/battery_icons/batt_100.gif differ
diff --git a/icons/NTOS/battery_icons/batt_20.gif b/icons/NTOS/battery_icons/batt_20.gif
new file mode 100644
index 0000000000..cc56e28214
Binary files /dev/null and b/icons/NTOS/battery_icons/batt_20.gif differ
diff --git a/icons/NTOS/battery_icons/batt_40.gif b/icons/NTOS/battery_icons/batt_40.gif
new file mode 100644
index 0000000000..5d03a30c18
Binary files /dev/null and b/icons/NTOS/battery_icons/batt_40.gif differ
diff --git a/icons/NTOS/battery_icons/batt_5.gif b/icons/NTOS/battery_icons/batt_5.gif
new file mode 100644
index 0000000000..eddcc6ae82
Binary files /dev/null and b/icons/NTOS/battery_icons/batt_5.gif differ
diff --git a/icons/NTOS/battery_icons/batt_60.gif b/icons/NTOS/battery_icons/batt_60.gif
new file mode 100644
index 0000000000..2a159b8e3c
Binary files /dev/null and b/icons/NTOS/battery_icons/batt_60.gif differ
diff --git a/icons/NTOS/battery_icons/batt_80.gif b/icons/NTOS/battery_icons/batt_80.gif
new file mode 100644
index 0000000000..59efcb225e
Binary files /dev/null and b/icons/NTOS/battery_icons/batt_80.gif differ
diff --git a/icons/NTOS/battery_icons/batt_none.gif b/icons/NTOS/battery_icons/batt_none.gif
new file mode 100644
index 0000000000..64aa24516b
Binary files /dev/null and b/icons/NTOS/battery_icons/batt_none.gif differ