mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
@@ -2,7 +2,7 @@
|
||||
name = "Power monitor"
|
||||
var/select_monitor = 0
|
||||
var/obj/machinery/computer/monitor/powermonitor
|
||||
|
||||
|
||||
/datum/nano_module/power_monitor/silicon
|
||||
select_monitor = 1
|
||||
|
||||
@@ -10,33 +10,33 @@
|
||||
..()
|
||||
if(!select_monitor)
|
||||
powermonitor = nano_host()
|
||||
|
||||
|
||||
/datum/nano_module/power_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state)
|
||||
var/data[0]
|
||||
|
||||
|
||||
data["powermonitor"] = powermonitor
|
||||
if(select_monitor)
|
||||
data["select_monitor"] = 1
|
||||
data["powermonitors"] = powermonitor_repository.powermonitor_data()
|
||||
|
||||
if (powermonitor && !isnull(powermonitor.powernet))
|
||||
|
||||
if (powermonitor && !isnull(powermonitor.powernet))
|
||||
if(select_monitor && (powermonitor.stat & (NOPOWER|BROKEN)))
|
||||
powermonitor = null
|
||||
return
|
||||
data["poweravail"] = powermonitor.powernet.avail
|
||||
data["powerload"] = num2text(powermonitor.powernet.viewload,10)
|
||||
data["powerload"] = powermonitor.powernet.viewload
|
||||
data["powerdemand"] = powermonitor.powernet.load
|
||||
data["apcs"] = apc_repository.apc_data(powermonitor)
|
||||
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "power_monitor.tmpl", "Power Monitoring Console", 800, 700, state = state)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(1)
|
||||
|
||||
|
||||
/datum/nano_module/power_monitor/Topic(href, href_list)
|
||||
if(..())
|
||||
if(..())
|
||||
return 1
|
||||
|
||||
if(href_list["selectmonitor"])
|
||||
@@ -44,9 +44,8 @@
|
||||
powermonitor = locate(href_list["selectmonitor"])
|
||||
powermonitor.powernet = powermonitor.find_powernet() // Refresh the powernet of the monitor
|
||||
return 1
|
||||
|
||||
|
||||
if(href_list["return"])
|
||||
if(issilicon(usr))
|
||||
powermonitor = null
|
||||
return 1
|
||||
|
||||
@@ -97,15 +97,15 @@
|
||||
var/co2_level = environment.carbon_dioxide/total_moles
|
||||
var/plasma_level = environment.toxins/total_moles
|
||||
var/unknown_level = 1-(o2_level+n2_level+co2_level+plasma_level)
|
||||
data["aircontents"] = list(\
|
||||
"pressure" = "[round(pressure,0.1)]",\
|
||||
"nitrogen" = "[round(n2_level*100,0.1)]",\
|
||||
"oxygen" = "[round(o2_level*100,0.1)]",\
|
||||
"carbon_dioxide" = "[round(co2_level*100,0.1)]",\
|
||||
"plasma" = "[round(plasma_level*100,0.01)]",\
|
||||
"other" = "[round(unknown_level, 0.01)]",\
|
||||
"temp" = "[round(environment.temperature-T0C,0.1)]",\
|
||||
"reading" = 1\
|
||||
data["aircontents"] = list(
|
||||
"pressure" = pressure,
|
||||
"nitrogen" = n2_level*100,
|
||||
"oxygen" = o2_level*100,
|
||||
"carbon_dioxide" = co2_level*100,
|
||||
"plasma" = plasma_level*100,
|
||||
"other" = unknown_level,
|
||||
"temp" = environment.temperature-T0C,
|
||||
"reading" = 1
|
||||
)
|
||||
if(isnull(data["aircontents"]))
|
||||
data["aircontents"] = list("reading" = 0)
|
||||
@@ -815,16 +815,12 @@
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
// the ui does not exist, so we'll create a new one
|
||||
ui = new(user, src, ui_key, "apc.tmpl", "[area.name] - APC", 510, data["siliconUser"] ? 465 : 390)
|
||||
ui = new(user, src, ui_key, "apc.tmpl", "[area.name] - APC", 510, data["siliconUser"] ? 535 : 460)
|
||||
// When the UI is first opened this is the data it will use
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
// Auto update every Master Controller tick
|
||||
ui.set_auto_update(1)
|
||||
else
|
||||
// The UI is already open so push the new data to it
|
||||
ui.push_data(data)
|
||||
return
|
||||
|
||||
/obj/machinery/power/apc/proc/report()
|
||||
return "[area.name] : [equipment]/[lighting]/[environ] ([lastused_equip+lastused_light+lastused_environ]) : [cell? cell.percent() : "N/C"] ([charging])"
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
var/autostart = 0 // Automatically search for connected devices
|
||||
var/obj/machinery/power/tracker/connected_tracker = null
|
||||
var/list/connected_panels = list()
|
||||
|
||||
|
||||
// Used for mapping in solar array which automatically starts itself (telecomms, for example)
|
||||
/obj/machinery/power/solar_control/autostart
|
||||
track = 2 // Auto tracking mode
|
||||
@@ -301,7 +301,7 @@
|
||||
|
||||
/obj/machinery/power/solar_control/initialize()
|
||||
..()
|
||||
if(!powernet)
|
||||
if(!powernet)
|
||||
return
|
||||
connect_to_network()
|
||||
set_panels(cdir)
|
||||
@@ -375,17 +375,17 @@
|
||||
/obj/machinery/power/solar_control/attack_ai(mob/user as mob)
|
||||
src.add_hiddenprint(user)
|
||||
ui_interact(user)
|
||||
|
||||
|
||||
/obj/machinery/power/solar_control/attack_ghost(mob/user as mob)
|
||||
ui_interact(user)
|
||||
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/power/solar_control/attack_hand(mob/user)
|
||||
if(..(user))
|
||||
return 1
|
||||
|
||||
|
||||
if(stat & BROKEN)
|
||||
return
|
||||
|
||||
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/power/solar_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
|
||||
@@ -409,9 +409,6 @@
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(1)
|
||||
else
|
||||
ui.push_data(data)
|
||||
return
|
||||
|
||||
/obj/machinery/power/solar_control/attackby(I as obj, user as mob, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
|
||||
Reference in New Issue
Block a user