Files
VOREStation/code/modules/power/sensors/sensor_monitoring.dm
T
Will 14e23e07f0 upports syndicate pai pet from chomp and emag behaviors (#19249)
* upporting syndicate pai pet

* tgui data

* don't emag cards without a pai

* aaugghh

* allow bingle pai, pai counts for lonely

* modular computers

* fix that

* .

* emag

* that'S fine

* pai card as antag tools

* .

* trashcatch

* that

* .

* only show emag chassis if we have a toolkit too

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2026-03-05 21:53:36 +01:00

65 lines
2.1 KiB
Plaintext

// POWERNET SENSOR MONITORING CONSOLE
// Connects to powernet sensors and loads data from them. Shows this data to the user.
// Newly supports NanoUI.
/obj/machinery/computer/power_monitor
name = "Power Monitoring Console"
desc = "Computer designed to remotely monitor power levels around the station"
icon_keyboard = "power_key"
icon_screen = "power_monitor"
light_color = "#ffcc33"
//computer stuff
density = TRUE
anchored = TRUE
circuit = /obj/item/circuitboard/powermonitor
var/alerting = 0
use_power = USE_POWER_IDLE
idle_power_usage = 300
active_power_usage = 300
var/datum/tgui_module/power_monitor/power_monitor
// Checks the sensors for alerts. If change (alerts cleared or detected) occurs, calls for icon update.
/obj/machinery/computer/power_monitor/process()
var/alert = check_warnings()
if(alert != alerting)
alerting = !alerting
update_icon()
/* VOREStation Move - Moved to VR File
// Updates icon of this computer according to current status.
/obj/machinery/computer/power_monitor/update_icon()
if(!(stat & (NOPOWER|BROKEN)))
if(alerting)
icon_screen = "[initial(icon_screen)]"
else
icon_screen = "[initial(icon_screen)]_warn"
..()
*/
// On creation automatically connects to active sensors. This is delayed to ensure sensors already exist.
/obj/machinery/computer/power_monitor/Initialize(mapload)
. = ..()
power_monitor = new(src)
// On user click opens the UI of this computer.
/obj/machinery/computer/power_monitor/attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
tgui_interact(user)
/obj/machinery/computer/power_monitor/allow_pai_interaction(mob/living/silicon/pai/user, proximity_flag)
return proximity_flag
// Uses dark magic to operate the NanoUI of this computer.
/obj/machinery/computer/power_monitor/tgui_interact(mob/user, var/datum/tgui/ui = null)
power_monitor.tgui_interact(user, ui)
// Verifies if any warnings were registered by connected sensors.
/obj/machinery/computer/power_monitor/proc/check_warnings()
for(var/obj/machinery/power/sensor/S in power_monitor.grid_sensors)
if(S.check_grid_warning())
return 1
return 0