diff --git a/code/defines/global.dm b/code/defines/global.dm index 9aa15f3bcf0..7c735b1f6b3 100644 --- a/code/defines/global.dm +++ b/code/defines/global.dm @@ -12,11 +12,6 @@ var/global defer_powernet_rebuild = 0 // true if net rebuild will be called manually after an event - powerreport = null //muskets 250810 these four are needed for the new engineering pda to work - powerreportnodes = null //might be a better way to do it but w/e - powerreportavail = null - powerreportviewload = null - list/global_map = null //list/global_map = list(list(1,5),list(4,3))//an array of map Z levels. //Resulting sector map looks like diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm index 5604841becf..7566e0a6de0 100644 --- a/code/game/machinery/computer/power.dm +++ b/code/game/machinery/computer/power.dm @@ -1,9 +1,5 @@ // the power monitoring computer // for the moment, just report the status of all APCs in the same powernet - - -var/reportingpower = 0 //this tracks whether this power monitoring computer is the one reporting to engi PDAs - muskets - /obj/machinery/power/monitor/attack_ai(mob/user) add_fingerprint(user) @@ -111,32 +107,10 @@ var/reportingpower = 0 //this tracks whether this power monitoring computer is if(!(stat & (NOPOWER|BROKEN)) ) use_power(250) - //muskets 250810 - //this handles updating the remote power monitoring globals - - if(!powerreport) //if no computer is updating the PDA power monitor - reportingpower = 1 //take over updating them - - if(reportingpower) //if this computer is updating the PDA power monitor - if(!powernet) //if it's not connected to a powernet, don't do anything - return - else - powerreport = powernet //update the globals from the current powernet - this is a bit of a hack, might need improving - powerreportnodes = powernet.nodes - powerreportavail = powernet.avail - powerreportviewload = powernet.viewload - - /obj/machinery/power/monitor/power_change() if(stat & BROKEN) icon_state = "broken" - // the following four lines reset the pda power monitoring globals if the computer breaks - // this is to stop PDAs reporting incorrect information and to allow another computer to easily take over -- muskets - powerreport = null - powerreportnodes = null - powerreportavail = null - powerreportviewload = null else if( powered() ) icon_state = initial(icon_state) diff --git a/code/game/objects/devices/PDA/cart.dm b/code/game/objects/devices/PDA/cart.dm index a6a01ec6974..6da5ef7da7d 100644 --- a/code/game/objects/devices/PDA/cart.dm +++ b/code/game/objects/devices/PDA/cart.dm @@ -25,6 +25,8 @@ var/datum/data/record/active1 = null //General var/datum/data/record/active2 = null //Medical var/datum/data/record/active3 = null //Security + var/obj/machinery/power/monitor/powmonitor = null // Power Monitor + var/list/powermonitors = list() var/message1 // used for status_displays var/message2 @@ -258,19 +260,45 @@ Code: menu += " Lockdown |" menu += " Biohazard \]
" - if (43) //Muskets' power monitor - menu = "

Power Monitor

" + if (43) //Muskets' and Rockdtben's power monitor :D + menu = "

Power Monitors - Please select one


" + powmonitor = null + powermonitors = null + powermonitors = list() + var/powercount = 0 - if(!powerreport) - menu += "\red No connection" + + + for(var/obj/machinery/power/monitor/pMon in world) + if(!(pMon.stat & (NOPOWER|BROKEN)) ) + powercount++ + powermonitors += pMon + + + if(!powercount) + menu += "\red No connection
" + else + + menu += "" + var/count = 0 + for(var/obj/machinery/power/monitor/pMon in powermonitors) + count++ + menu += " [pMon]
" + + menu += "
" + + if (433) //Muskets' and Rockdtben's power monitor :D + menu = "

Power Monitor


" + if(!powmonitor) + menu += "\red No connection
" else var/list/L = list() - for(var/obj/machinery/power/terminal/term in powerreportnodes) + for(var/obj/machinery/power/terminal/term in powmonitor.powernet.nodes) if(istype(term.master, /obj/machinery/power/apc)) var/obj/machinery/power/apc/A = term.master L += A - menu += "
Total power: [powerreportavail] W
Total load: [num2text(powerreportviewload,10)] W
" + menu += "
Total power: [powmonitor.powernet.avail] W
Total load: [num2text(powmonitor.powernet.viewload,10)] W
" menu += "" @@ -613,6 +641,11 @@ Code: updateSelfDialog() else post_status(href_list["statdisp"]) + if("Power Select") + var/pnum = text2num(href_list["target"]) + powmonitor = powermonitors[pnum] + loc:mode = 433 + mode = 433 generate_menu() print_to_host(menu)