Power Control Computer can now remote toggle APC main circuit breakers!

Codegift from Newt.
This commit is contained in:
Hawk-v3
2012-01-28 02:40:38 +00:00
parent c5d7f97c98
commit 6bf4e70727
2 changed files with 37 additions and 11 deletions
+13 -10
View File
@@ -373,16 +373,19 @@
var/lastgen = 0
var/lastgenlev = -1
/obj/machinery/power/monitor
name = "Power Monitoring Computer"
desc = "Used to monitor the power."
icon = 'computer.dmi'
icon_state = "power"
density = 1
anchored = 1
use_power = 2
idle_power_usage = 20
active_power_usage = 80
name = "Power Monitoring Computer"
desc = "Used to monitor the power, and remotely toggle main breakers."
icon = 'computer.dmi'
icon_state = "power"
density = 1
anchored = 1
use_power = 2
idle_power_usage = 20
active_power_usage = 80
var/control = 0
req_access = list(access_engine_equip)
/obj/machinery/cell_charger
name = "cell charger"
@@ -460,4 +463,4 @@
density = 1
anchored = 1.0
var/obj/item/clothing/suit/storage/det_suit/coat
var/obj/item/clothing/head/det_hat/hat
var/obj/item/clothing/head/det_hat/hat
+24 -1
View File
@@ -1,5 +1,9 @@
// the power monitoring computer
// for the moment, just report the status of all APCs in the same powernet
//Now Supports remote access -- Newt
/obj/machinery/power/monitor/attack_ai(mob/user)
add_fingerprint(user)
@@ -41,6 +45,15 @@
A.icon_state = "4"
A.anchored = 1
del(src)
if(istype(I, /obj/item/weapon/card/id)||istype(I, /obj/item/device/pda))
//var/obj/item/weapon/card/id/W = I
if(src.allowed(user))
src.control = !src.control
user << "You [ control ? "enable" : "disable"] remote APC control."
else
user << "\red Access denied."
else
src.attack_hand(user)
return
@@ -84,6 +97,10 @@
for(var/obj/machinery/power/apc/A in L)
t += copytext(add_tspace(A.area.name, 30), 1, 30)
if(control)
t += " (<A href='?src=\ref[src];apc=\ref[A];breaker=1'>[A.operating? " On" : "Off"]</A>)"
else
t += " ([A.operating? "On " : "Off"])"
t += " [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"]<BR>"
t += "</FONT></PRE></TT>"
@@ -101,6 +118,13 @@
if( href_list["update"] )
src.updateDialog()
return
if( href_list["breaker"])
var/obj/machinery/power/apc/APC = locate(href_list["apc"])
APC.operating = !APC.operating
APC.update()
APC.updateicon()
src.updateDialog()
return
/obj/machinery/power/monitor/process()
@@ -119,4 +143,3 @@
spawn(rand(0, 15))
src.icon_state = "c_unpowered"
stat |= NOPOWER