|
7 | 7 | // may be used in PDAs or similar applications. Second proc, return_reading_data will return list containing needed data. |
8 | 8 | // This is used in NanoUI, for example. |
9 | 9 |
|
10 | | -/obj/machinery/power/sensor |
| 10 | +/obj/machinery/power_sensor |
11 | 11 | name = "powernet sensor" |
12 | 12 | desc = "A sensor that records and transmits data about its connected power network." |
13 | 13 | anchored = TRUE |
|
24 | 24 | // Proc: New() |
25 | 25 | // Parameters: None |
26 | 26 | // Description: Automatically assigns name according to ID tag. |
27 | | -/obj/machinery/power/sensor/Initialize() |
| 27 | +/obj/machinery/power_sensor/Initialize() |
28 | 28 | . = ..() |
29 | 29 | auto_set_name() |
30 | 30 |
|
31 | 31 | // Proc: auto_set_name() |
32 | 32 | // Parameters: None |
33 | 33 | // Description: Sets name of this sensor according to the ID tag. |
34 | | -/obj/machinery/power/sensor/proc/auto_set_name() |
| 34 | +/obj/machinery/power_sensor/proc/auto_set_name() |
35 | 35 | if(!id_tag) |
36 | 36 | var/area/A = get_area(src) |
37 | 37 | if(!A) |
|
42 | 42 | id_tag = "[A.proper_name][suffix ? " #[suffix]" : null]" |
43 | 43 | name = "[id_tag] - powernet sensor" |
44 | 44 |
|
45 | | -// Proc: check_grid_warning() |
| 45 | +// Proc: has_grid_warning() |
46 | 46 | // Parameters: None |
47 | | -// Description: Checks connected powernet for warnings. If warning is found returns 1 |
48 | | -/obj/machinery/power/sensor/proc/check_grid_warning() |
49 | | - connect_to_network() |
50 | | - if(powernet) |
51 | | - if(powernet.problem) |
52 | | - return 1 |
53 | | - return 0 |
| 47 | +// Description: Checks connected powernet for warnings. If warning is found returns TRUE |
| 48 | +/obj/machinery/power_sensor/proc/has_grid_warning() |
| 49 | + var/datum/powernet/net_to_check = get_powernet() |
| 50 | + return net_to_check?.problem ? TRUE : FALSE |
54 | 51 |
|
55 | 52 | // Proc: reading_to_text() |
56 | 53 | // Parameters: 1 (amount - Power in Watts to be converted to W, kW or MW) |
57 | 54 | // Description: Helper proc that converts reading in Watts to kW or MW (returns string version of amount parameter) |
58 | | -/obj/machinery/power/sensor/proc/reading_to_text(var/amount = 0) |
| 55 | +/obj/machinery/power_sensor/proc/reading_to_text(var/amount = 0) |
59 | 56 | var/units = "" |
60 | 57 | // 10kW and less - Watts |
61 | 58 | if(amount < 10000) |
|
76 | 73 | // Proc: find_apcs() |
77 | 74 | // Parameters: None |
78 | 75 | // Description: Searches powernet for APCs and returns them in a list. |
79 | | -/obj/machinery/power/sensor/proc/find_apcs() |
80 | | - if(!powernet) |
| 76 | +/obj/machinery/power_sensor/proc/find_apcs() |
| 77 | + var/datum/powernet/net_to_check = get_powernet() |
| 78 | + if(!net_to_check) |
81 | 79 | return |
82 | 80 |
|
83 | 81 | var/list/L = list() |
84 | | - for(var/obj/machinery/power/terminal/term in powernet.nodes) |
| 82 | + for(var/obj/machinery/power/terminal/term in net_to_check.nodes) |
85 | 83 | var/obj/machinery/apc/A = term.master_machine() |
86 | 84 | if(istype(A)) |
87 | 85 | L += A |
|
91 | 89 | // Proc: return_reading_data() |
92 | 90 | // Parameters: None |
93 | 91 | // Description: Generates list containing all powernet data. Optimised for usage with NanoUI |
94 | | -/obj/machinery/power/sensor/proc/return_reading_data() |
95 | | - // No powernet. Try to connect to one first. |
96 | | - if(!powernet) |
97 | | - connect_to_network() |
| 92 | +/obj/machinery/power_sensor/proc/return_reading_data() |
| 93 | + var/datum/powernet/net_to_check = get_powernet() |
98 | 94 | var/list/data = list() |
99 | 95 | data["name"] = id_tag |
100 | | - if(!powernet) |
| 96 | + if(!net_to_check) |
101 | 97 | data["error"] = "# SYSTEM ERROR - NO POWERNET #" |
102 | 98 | data["alarm"] = 0 // Runtime Prevention |
103 | 99 | return data |
|
137 | 133 | // Add load of this APC to total APC load calculation |
138 | 134 | total_apc_load += A.lastused_total |
139 | 135 | data["apc_data"] = APC_data |
140 | | - data["total_avail"] = reading_to_text(max(powernet.avail, 0)) |
| 136 | + data["total_avail"] = reading_to_text(max(net_to_check.avail, 0)) |
141 | 137 | data["total_used_apc"] = reading_to_text(max(total_apc_load, 0)) |
142 | | - data["total_used_other"] = reading_to_text(max(powernet.viewload - total_apc_load, 0)) |
143 | | - data["total_used_all"] = reading_to_text(max(powernet.viewload, 0)) |
| 138 | + data["total_used_other"] = reading_to_text(max(net_to_check.viewload - total_apc_load, 0)) |
| 139 | + data["total_used_all"] = reading_to_text(max(net_to_check.viewload, 0)) |
144 | 140 | // Prevents runtimes when avail is 0 (division by zero) |
145 | | - if(powernet.avail) |
146 | | - data["load_percentage"] = round((powernet.viewload / powernet.avail) * 100) |
| 141 | + if(net_to_check.avail) |
| 142 | + data["load_percentage"] = round((net_to_check.viewload / net_to_check.avail) * 100) |
147 | 143 | else |
148 | 144 | data["load_percentage"] = 100 |
149 | | - data["alarm"] = powernet.problem ? 1 : 0 |
| 145 | + data["alarm"] = net_to_check.problem ? 1 : 0 |
150 | 146 | return data |
151 | 147 |
|
152 | 148 |
|
|
0 commit comments