/obj/machinery/computer3/powermonitor default_prog = /datum/file/program/powermon spawn_parts = list(/obj/item/part/computer/storage/hdd,/obj/item/part/computer/networking/cable) icon_state = "frame-eng" /datum/file/program/powermon name = "power monitoring console" desc = "It monitors APC status." active_state = "power" proc/format(var/obj/machinery/power/apc/A) var/static/list/S = list(" Off","AOff"," On", " AOn") var/static/list/chg = list("N","C","F") return "[copytext(add_tspace("\The [A.area]", 30), 1, 30)] [S[A.equipment+1]] [S[A.lighting+1]] [S[A.environ+1]] [add_lspace(A.lastused_total, 6)] [A.cell ? "[add_lspace(round(A.cell.percent()), 3)]% [chg[A.charging+1]]" : " N/C"]
" interact() if(!interactable()) return if(!computer.net) computer.Crash(MISSING_PERIPHERAL) return var/list/L = computer.net.get_machines(/obj/machinery/power/apc) var/t = "" t += "Refresh

" if(!L || !L.len) t += "\red No connection" else var/datum/powernet/powernet = computer.net.connect_to(/datum/powernet,null) if(powernet) t += "
Total power: [powernet.avail] W
Total load: [num2text(powernet.viewload,10)] W
" else t += "
Power statistics unavailable
" t += "" if(L.len > 0) t += "Area Eqp./Lgt./Env. Load Cell
" for(var/obj/machinery/power/apc/A in L) t += src.format(A) t += "
" popup.set_content(t) popup.open() Topic(var/href, var/list/href_list) if(!interactable() || ..(href,href_list)) return interact()