From e2ce3d1e010bad511f53ddb9394b86d04cf11d97 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 26 Apr 2015 17:34:56 +0200 Subject: [PATCH 1/5] Scrubber NanoUI interface. Ports https://github.com/d3athrow/vgstation13/pull/4142 with added Bay-flavor. To operate once must be adjacent to the scrubber. Silicons can view the status panel from any distance they are able to access the scrubber from. This preserves the current behavior. --- baystation12.dme | 1 + code/game/machinery/atmoalter/scrubber.dm | 99 +++++++++++------------ code/modules/nano/interaction/default.dm | 8 +- code/modules/nano/interaction/physical.dm | 18 +++++ nano/templates/portscrubber.tmpl | 73 +++++++++++++++++ 5 files changed, 145 insertions(+), 54 deletions(-) create mode 100644 code/modules/nano/interaction/physical.dm create mode 100644 nano/templates/portscrubber.tmpl diff --git a/baystation12.dme b/baystation12.dme index d70e35eb20b..1929265debf 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1297,6 +1297,7 @@ #include "code\modules\nano\interaction\contained.dm" #include "code\modules\nano\interaction\default.dm" #include "code\modules\nano\interaction\inventory.dm" +#include "code\modules\nano\interaction\physical.dm" #include "code\modules\nano\interaction\zlevel.dm" #include "code\modules\nano\modules\alarm_monitor.dm" #include "code\modules\nano\modules\crew_monitor.dm" diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index d8c23cc5f0d..0092ab92d1f 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -13,12 +13,19 @@ power_rating = 7500 //7500 W ~ 10 HP power_losses = 150 + var/minrate = 0 + var/maxrate = 10 * ONE_ATMOSPHERE + var/list/scrubbing_gas = list("phoron", "carbon_dioxide", "sleeping_agent", "oxygen_agent_b") /obj/machinery/portable_atmospherics/powered/scrubber/New() ..() cell = new/obj/item/weapon/cell(src) +/obj/machinery/portable_atmospherics/powered/scrubber/Destroy() + qdel(holding) + ..() + /obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity) if(stat & (BROKEN|NOPOWER)) ..(severity) @@ -82,63 +89,55 @@ /obj/machinery/portable_atmospherics/powered/scrubber/return_air() return air_contents -/obj/machinery/portable_atmospherics/powered/scrubber/attack_ai(var/mob/user as mob) +/obj/machinery/portable_atmospherics/powered/scrubber/attack_ai(var/mob/user) + src.add_hiddenprint(user) return src.attack_hand(user) -/obj/machinery/portable_atmospherics/powered/scrubber/attack_hand(var/mob/user as mob) +/obj/machinery/portable_atmospherics/powered/scrubber/attack_ghost(var/mob/user) + return src.attack_hand(user) - user.set_machine(src) - var/holding_text - - if(holding) - holding_text = {"
Tank Pressure: [round(holding.air_contents.return_pressure(), 0.01)] kPa
-Remove Tank -"} - var/output_text = {"[name]
-Pressure: [round(air_contents.return_pressure(), 0.01)] kPa
-Flow Rate: [round(last_flow_rate, 0.1)] L/s
-Port Status: [(connected_port)?("Connected"):("Disconnected")] -[holding_text]
-
-Cell Charge: [cell? "[round(cell.percent())]%" : "N/A"] | Load: [round(last_power_draw)] W
-Power Switch: [on?("On"):("Off")]
-Flow Rate Regulator: - - - - [volume_rate] L/s + + + +
- -
-Close
-"} - - user << browse(output_text, "window=scrubber;size=600x300") - onclose(user, "scrubber") +/obj/machinery/portable_atmospherics/powered/scrubber/attack_hand(var/mob/user) + ui_interact(user) return +/obj/machinery/portable_atmospherics/powered/scrubber/ui_interact(mob/user, ui_key = "rcon", datum/nanoui/ui=null, force_open=1) + var/list/data[0] + data["portConnected"] = connected_port ? 1 : 0 + data["tankPressure"] = round(air_contents.return_pressure() > 0 ? air_contents.return_pressure() : 0) + data["rate"] = round(volume_rate) + data["minrate"] = round(minrate) + data["maxrate"] = round(maxrate) + data["on"] = on ? 1 : 0 + + data["hasHoldingTank"] = holding ? 1 : 0 + if (holding) + data["holdingTank"] = list("name" = holding.name, "tankPressure" = round(holding.air_contents.return_pressure() > 0 ? holding.air_contents.return_pressure() : 0)) + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "portscrubber.tmpl", "Portable Scrubber", 480, 400, state = physical_state) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + + /obj/machinery/portable_atmospherics/powered/scrubber/Topic(href, href_list) - ..() - if (usr.stat || usr.restrained()) - return + if(..()) + return 1 - if (((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) - usr.set_machine(src) - - if(href_list["power"]) - on = !on - - if (href_list["remove_tank"]) - if(holding) - holding.loc = loc - holding = null - - if (href_list["volume_adj"]) - var/diff = text2num(href_list["volume_adj"]) - volume_rate = min(initial(volume_rate), max(0, volume_rate+diff)) - - src.updateUsrDialog() - src.add_fingerprint(usr) - update_icon() - else - usr << browse(null, "window=scrubber") - return - return + if(href_list["power"]) + on = !on + . = 1 + if (href_list["remove_tank"]) + if(holding) + holding.loc = loc + holding = null + . = 1 + if (href_list["volume_adj"]) + var/diff = text2num(href_list["volume_adj"]) + volume_rate = Clamp(volume_rate+diff, minrate, maxrate) + . = 1 + update_icon() //Huge scrubber diff --git a/code/modules/nano/interaction/default.dm b/code/modules/nano/interaction/default.dm index 6fd931160d7..742f672eb08 100644 --- a/code/modules/nano/interaction/default.dm +++ b/code/modules/nano/interaction/default.dm @@ -89,15 +89,15 @@ /mob/living/default_can_use_topic(var/src_object) . = shared_nano_interaction(src_object) - if(. == STATUS_INTERACTIVE) + if(. != STATUS_CLOSE) if(loc) - . = loc.contents_nano_distance(src_object, src) + . = min(., loc.contents_nano_distance(src_object, src)) if(STATUS_INTERACTIVE) return STATUS_UPDATE /mob/living/carbon/human/default_can_use_topic(var/src_object) . = shared_nano_interaction(src_object) - if(. == STATUS_INTERACTIVE) - . = shared_living_nano_distance(src_object) + if(. != STATUS_CLOSE) + . = min(., shared_living_nano_distance(src_object)) if(. == STATUS_UPDATE && (TK in mutations)) // If we have telekinesis and remain close enough, allow interaction. return STATUS_INTERACTIVE diff --git a/code/modules/nano/interaction/physical.dm b/code/modules/nano/interaction/physical.dm new file mode 100644 index 00000000000..36f9a209712 --- /dev/null +++ b/code/modules/nano/interaction/physical.dm @@ -0,0 +1,18 @@ +/var/global/datum/topic_state/physical/physical_state = new() + +/datum/topic_state/physical/can_use_topic(var/src_object, var/mob/user) + . = user.shared_nano_interaction(src_object) + if(. > STATUS_CLOSE) + return min(., user.check_physical_distance(src_object)) + +/mob/proc/check_physical_distance(var/src_object) + return STATUS_CLOSE + +/mob/dead/observer/check_physical_distance(var/src_object) + return default_can_use_topic(src_object) + +/mob/living/check_physical_distance(var/src_object) + return shared_living_nano_distance(src_object) + +/mob/living/silicon/check_physical_distance(var/src_object) + return max(STATUS_UPDATE, shared_living_nano_distance(src_object)) diff --git a/nano/templates/portscrubber.tmpl b/nano/templates/portscrubber.tmpl new file mode 100644 index 00000000000..c012898e6fc --- /dev/null +++ b/nano/templates/portscrubber.tmpl @@ -0,0 +1,73 @@ +

Scrubber Status

+
+
+ Tank Pressure: +
+
+ {{:data.tankPressure}} kPa +
+
+ +
+
+ Port Status: +
+
+ {{:data.portConnected ? 'Connected' : 'Disconnected'}} +
+
+ +

Holding Tank Status

+{{if data.hasHoldingTank}} +
+
+ Tank Label: +
+
+
{{:data.holdingTank.name}}
{{:helper.link('Eject', 'eject', {'remove_tank' : 1})}} +
+
q + +
+
+ Tank Pressure: +
+
+ {{:data.holdingTank.tankPressure}} kPa +
+
+{{else}} +
No holding tank inserted.
+
 
+{{/if}} + + +

Power Regulator Status

+
+
+ Volume Rate: +
+
+ {{:helper.displayBar(data.rate, data.minrate, data.maxrate)}} +
+ {{:helper.link('-', null, {'volume_adj' : -1000}, (data.rate > data.minrate) ? null : 'disabled')}} + {{:helper.link('-', null, {'volume_adj' : -100}, (data.rate > data.minrate) ? null : 'disabled')}} + {{:helper.link('-', null, {'volume_adj' : -10}, (data.rate > data.minrate) ? null : 'disabled')}} + {{:helper.link('-', null, {'volume_adj' : -1}, (data.rate > data.minrate) ? null : 'disabled')}} +
 {{:data.rate}} kPa 
+ {{:helper.link('+', null, {'volume_adj' : 1}, (data.rate < data.maxrate) ? null : 'disabled')}} + {{:helper.link('+', null, {'volume_adj' : 10}, (data.rate < data.maxrate) ? null : 'disabled')}} + {{:helper.link('+', null, {'volume_adj' : 100}, (data.rate < data.maxrate) ? null : 'disabled')}} + {{:helper.link('+', null, {'volume_adj' : 1000}, (data.rate < data.maxrate) ? null : 'disabled')}} +
+
+
+ +
+
+ Power Switch: +
+
+ {{:helper.link('On', 'unlocked', {'power' : 1}, data.on ? 'selected' : null)}}{{:helper.link('Off', 'locked', {'power' : 1}, data.on ? null : 'selected')}} +
+
From c07ffeab53d8125674cb9955313317d4a2952564 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 26 Apr 2015 17:44:28 +0200 Subject: [PATCH 2/5] Portable Pump NanoUI interface. Ports https://github.com/d3athrow/vgstation13/pull/4142 with added Bay-flavor. To operate once must be adjacent to the PAP. Silicons can view the status panel from any distance they are able to access the PAP from. This preserves the current behavior. --- .../atmoalter/portable_atmospherics.dm | 3 +- code/game/machinery/atmoalter/pump.dm | 95 +++++++++---------- code/game/machinery/atmoalter/scrubber.dm | 4 - nano/templates/portpump.tmpl | 82 ++++++++++++++++ 4 files changed, 129 insertions(+), 55 deletions(-) create mode 100644 nano/templates/portpump.tmpl diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index bb9d399cb8b..5e8817359f4 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -21,7 +21,8 @@ return 1 /obj/machinery/portable_atmospherics/Destroy() - del(air_contents) + qdel(air_contents) + qdel(holding) ..() /obj/machinery/portable_atmospherics/initialize() diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm index 9f2c4023b2f..34de1f9fe56 100644 --- a/code/game/machinery/atmoalter/pump.dm +++ b/code/game/machinery/atmoalter/pump.dm @@ -9,6 +9,9 @@ var/direction_out = 0 //0 = siphoning, 1 = releasing var/target_pressure = 100 + var/pressuremin = 0 + var/pressuremax = 10 * ONE_ATMOSPHERE + volume = 1000 power_rating = 7500 //7500 W ~ 10 HP @@ -106,64 +109,56 @@ /obj/machinery/portable_atmospherics/powered/pump/return_air() return air_contents -/obj/machinery/portable_atmospherics/powered/pump/attack_ai(var/mob/user as mob) +/obj/machinery/portable_atmospherics/powered/pump/attack_ai(var/mob/user) + src.add_hiddenprint(user) return src.attack_hand(user) -/obj/machinery/portable_atmospherics/powered/pump/attack_hand(var/mob/user as mob) +/obj/machinery/portable_atmospherics/powered/pump/attack_ghost(var/mob/user) + return src.attack_hand(user) - user.set_machine(src) - var/holding_text +/obj/machinery/portable_atmospherics/powered/pump/attack_hand(var/mob/user) + ui_interact(user) - if(holding) - holding_text = {"
Tank Pressure: [round(holding.air_contents.return_pressure(), 0.01)] kPa
-Remove Tank -"} - var/output_text = {"[capitalize(name)]
-Pressure: [round(air_contents.return_pressure(), 0.01)] kPa
-Flow Rate: [round(last_flow_rate, 0.1)] L/s
-Port Status: [(connected_port)?("Connected"):("Disconnected")] -[holding_text]
-
-Cell Charge: [cell? "[round(cell.percent())]%" : "N/A"] | Load: [round(last_power_draw)] W
-Power Switch: [on?("On"):("Off")]
-Pump Direction: [direction_out?("Out"):("In")]
-Target Pressure: - - - - [target_pressure] kPa+ + + +
-
-Close
-"} +/obj/machinery/portable_atmospherics/powered/pump/ui_interact(mob/user, ui_key = "rcon", datum/nanoui/ui=null, force_open=1) + var/list/data[0] + data["portConnected"] = connected_port ? 1 : 0 + data["tankPressure"] = round(air_contents.return_pressure() > 0 ? air_contents.return_pressure() : 0) + data["targetpressure"] = round(target_pressure) + data["pump_dir"] = direction_out + data["minpressure"] = round(pressuremin) + data["maxpressure"] = round(pressuremax) + data["on"] = on ? 1 : 0 - user << browse(output_text, "window=pump;size=600x300") - onclose(user, "pump") + data["hasHoldingTank"] = holding ? 1 : 0 + if (holding) + data["holdingTank"] = list("name" = holding.name, "tankPressure" = round(holding.air_contents.return_pressure() > 0 ? holding.air_contents.return_pressure() : 0)) - return + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "portpump.tmpl", "Portable Pump", 480, 400, state = physical_state) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) /obj/machinery/portable_atmospherics/powered/pump/Topic(href, href_list) - ..() - if (usr.stat || usr.restrained()) - return + if(..()) + return 1 - if (((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) - usr.set_machine(src) + if(href_list["power"]) + on = !on + . = 1 + if(href_list["direction"]) + direction_out = !direction_out + . = 1 + if (href_list["remove_tank"]) + if(holding) + holding.loc = loc + holding = null + . = 1 + if (href_list["pressure_adj"]) + var/diff = text2num(href_list["pressure_adj"]) + target_pressure = min(10*ONE_ATMOSPHERE, max(0, target_pressure+diff)) + . = 1 - if(href_list["power"]) - on = !on - - if(href_list["direction"]) - direction_out = !direction_out - - if (href_list["remove_tank"]) - if(holding) - holding.loc = loc - holding = null - - if (href_list["pressure_adj"]) - var/diff = text2num(href_list["pressure_adj"]) - target_pressure = min(10*ONE_ATMOSPHERE, max(0, target_pressure+diff)) - - src.updateUsrDialog() - src.add_fingerprint(usr) + if(.) update_icon() - else - usr << browse(null, "window=pump") - return - return \ No newline at end of file diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 0092ab92d1f..c2cd45c15de 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -22,10 +22,6 @@ ..() cell = new/obj/item/weapon/cell(src) -/obj/machinery/portable_atmospherics/powered/scrubber/Destroy() - qdel(holding) - ..() - /obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity) if(stat & (BROKEN|NOPOWER)) ..(severity) diff --git a/nano/templates/portpump.tmpl b/nano/templates/portpump.tmpl new file mode 100644 index 00000000000..c65af4f0202 --- /dev/null +++ b/nano/templates/portpump.tmpl @@ -0,0 +1,82 @@ +

Scrubber Status

+
+
+ Tank Pressure: +
+
+ {{:data.tankPressure}} kPa +
+
+ +
+
+ Port Status: +
+
+ {{:data.portConnected ? 'Connected' : 'Disconnected'}} +
+
+ +

Holding Tank Status

+{{if data.hasHoldingTank}} +
+
+ Tank Label: +
+
+
{{:data.holdingTank.name}}
{{:helper.link('Eject', 'eject', {'remove_tank' : 1})}} +
+
+ +
+
+ Tank Pressure: +
+
+ {{:data.holdingTank.tankPressure}} kPa +
+
+{{else}} +
No holding tank inserted.
+
 
+{{/if}} + + +

Power Regulator Status

+
+
+ Volume Rate: +
+
+ {{:helper.displayBar(data.targetpressure, data.minpressure, data.maxpressure)}} +
+ {{:helper.link('-', null, {'pressure_adj' : -1000}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} + {{:helper.link('-', null, {'pressure_adj' : -100}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} + {{:helper.link('-', null, {'pressure_adj' : -10}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} + {{:helper.link('-', null, {'pressure_adj' : -1}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} +
 {{:data.targetpressure}} kPa 
+ {{:helper.link('+', null, {'pressure_adj' : 1}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} + {{:helper.link('+', null, {'pressure_adj' : 10}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} + {{:helper.link('+', null, {'pressure_adj' : 100}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} + {{:helper.link('+', null, {'pressure_adj' : 1000}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} +
+
+
+ +
+
+ Power Switch: +
+
+ {{:helper.link('On', 'unlocked', {'power' : 1}, data.on ? 'selected' : null)}}{{:helper.link('Off', 'locked', {'power' : 1}, data.on ? null : 'selected')}} +
+
+ +
+
+ Pump Direction: +
+
+ {{:helper.link('Out', 'arrowreturn-1-e', {'direction' : 1}, data.pump_dir ? 'selected' : null)}}{{:helper.link('In', 'arrowreturn-1-w', {'direction' : 1}, data.pump_dir ? null : 'selected')}} +
+
From 85473bf3560e58c8617e6b4072c38937b0584094 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 26 Apr 2015 17:52:23 +0200 Subject: [PATCH 3/5] Changelog. --- html/changelogs/PsiOmegaDelta-PortableNanoUI.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-PortableNanoUI.yml diff --git a/html/changelogs/PsiOmegaDelta-PortableNanoUI.yml b/html/changelogs/PsiOmegaDelta-PortableNanoUI.yml new file mode 100644 index 00000000000..1c8757b19f4 --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-PortableNanoUI.yml @@ -0,0 +1,4 @@ +author: PsiOmegaDelta +changes: + - rscadd: "Portable atmospheric pumps and scrubbers now use NanoUI." +delete-after: true From 13fd1764b2dd3a1e1fd4ce23cd73429f27777fa4 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 26 Apr 2015 18:14:06 +0200 Subject: [PATCH 4/5] Adds cell charge status for the pumps and scrubbers. --- code/game/machinery/atmoalter/pump.dm | 2 ++ code/game/machinery/atmoalter/scrubber.dm | 2 ++ nano/templates/portpump.tmpl | 17 +++++++++++++---- nano/templates/portscrubber.tmpl | 13 +++++++++++-- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm index 34de1f9fe56..b8f9762e617 100644 --- a/code/game/machinery/atmoalter/pump.dm +++ b/code/game/machinery/atmoalter/pump.dm @@ -127,6 +127,8 @@ data["pump_dir"] = direction_out data["minpressure"] = round(pressuremin) data["maxpressure"] = round(pressuremax) + data["cellCharge"] = cell ? cell.charge : 0 + data["cellMaxCharge"] = cell ? cell.maxcharge : 1 data["on"] = on ? 1 : 0 data["hasHoldingTank"] = holding ? 1 : 0 diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index c2cd45c15de..026ca21dc47 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -103,6 +103,8 @@ data["rate"] = round(volume_rate) data["minrate"] = round(minrate) data["maxrate"] = round(maxrate) + data["cellCharge"] = cell ? cell.charge : 0 + data["cellMaxCharge"] = cell ? cell.maxcharge : 1 data["on"] = on ? 1 : 0 data["hasHoldingTank"] = holding ? 1 : 0 diff --git a/nano/templates/portpump.tmpl b/nano/templates/portpump.tmpl index c65af4f0202..1152c4643d6 100644 --- a/nano/templates/portpump.tmpl +++ b/nano/templates/portpump.tmpl @@ -1,4 +1,4 @@ -

Scrubber Status

+

Pump Status

Tank Pressure: @@ -17,6 +17,15 @@
+
+
+ Cell Charge: +
+
+ {{:helper.displayBar(data.cellCharge, 0, data.cellMaxCharge)}} +
+
+

Holding Tank Status

{{if data.hasHoldingTank}}
@@ -54,7 +63,7 @@ {{:helper.link('-', null, {'pressure_adj' : -100}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} {{:helper.link('-', null, {'pressure_adj' : -10}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} {{:helper.link('-', null, {'pressure_adj' : -1}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} -
 {{:data.targetpressure}} kPa 
+
 {{:data.targetpressure}} L/s 
{{:helper.link('+', null, {'pressure_adj' : 1}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} {{:helper.link('+', null, {'pressure_adj' : 10}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} {{:helper.link('+', null, {'pressure_adj' : 100}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} @@ -68,7 +77,7 @@ Power Switch:
- {{:helper.link('On', 'unlocked', {'power' : 1}, data.on ? 'selected' : null)}}{{:helper.link('Off', 'locked', {'power' : 1}, data.on ? null : 'selected')}} + {{:helper.link('On', 'unlocked', {'power' : 1}, data.on ? 'selected' : null)}} {{:helper.link('Off', 'locked', {'power' : 1}, data.on ? null : 'selected')}}
@@ -77,6 +86,6 @@ Pump Direction:
- {{:helper.link('Out', 'arrowreturn-1-e', {'direction' : 1}, data.pump_dir ? 'selected' : null)}}{{:helper.link('In', 'arrowreturn-1-w', {'direction' : 1}, data.pump_dir ? null : 'selected')}} + {{:helper.link('Out', 'arrowreturn-1-e', {'direction' : 1}, data.pump_dir ? 'selected' : null)}} {{:helper.link('In', 'arrowreturn-1-w', {'direction' : 1}, data.pump_dir ? null : 'selected')}}
diff --git a/nano/templates/portscrubber.tmpl b/nano/templates/portscrubber.tmpl index c012898e6fc..a53d7a2419d 100644 --- a/nano/templates/portscrubber.tmpl +++ b/nano/templates/portscrubber.tmpl @@ -17,6 +17,15 @@ +
+
+ Cell Charge: +
+
+ {{:helper.displayBar(data.cellCharge, 0, data.cellMaxCharge)}} +
+
+

Holding Tank Status

{{if data.hasHoldingTank}}
@@ -54,7 +63,7 @@ {{:helper.link('-', null, {'volume_adj' : -100}, (data.rate > data.minrate) ? null : 'disabled')}} {{:helper.link('-', null, {'volume_adj' : -10}, (data.rate > data.minrate) ? null : 'disabled')}} {{:helper.link('-', null, {'volume_adj' : -1}, (data.rate > data.minrate) ? null : 'disabled')}} -
 {{:data.rate}} kPa 
+
 {{:data.rate}} L/s 
{{:helper.link('+', null, {'volume_adj' : 1}, (data.rate < data.maxrate) ? null : 'disabled')}} {{:helper.link('+', null, {'volume_adj' : 10}, (data.rate < data.maxrate) ? null : 'disabled')}} {{:helper.link('+', null, {'volume_adj' : 100}, (data.rate < data.maxrate) ? null : 'disabled')}} @@ -68,6 +77,6 @@ Power Switch:
- {{:helper.link('On', 'unlocked', {'power' : 1}, data.on ? 'selected' : null)}}{{:helper.link('Off', 'locked', {'power' : 1}, data.on ? null : 'selected')}} + {{:helper.link('On', 'unlocked', {'power' : 1}, data.on ? 'selected' : null)}} {{:helper.link('Off', 'locked', {'power' : 1}, data.on ? null : 'selected')}}
From 7f1ed80b7443bc2d300a2d6829622b1a88b34949 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sun, 26 Apr 2015 21:32:42 +0200 Subject: [PATCH 5/5] Adds power draw. --- code/game/machinery/atmoalter/pump.dm | 5 +++-- code/game/machinery/atmoalter/scrubber.dm | 1 + nano/templates/portpump.tmpl | 13 +++++++++++-- nano/templates/portscrubber.tmpl | 9 +++++++++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm index b8f9762e617..659e17d4b2b 100644 --- a/code/game/machinery/atmoalter/pump.dm +++ b/code/game/machinery/atmoalter/pump.dm @@ -7,7 +7,7 @@ var/on = 0 var/direction_out = 0 //0 = siphoning, 1 = releasing - var/target_pressure = 100 + var/target_pressure = ONE_ATMOSPHERE var/pressuremin = 0 var/pressuremax = 10 * ONE_ATMOSPHERE @@ -127,6 +127,7 @@ data["pump_dir"] = direction_out data["minpressure"] = round(pressuremin) data["maxpressure"] = round(pressuremax) + data["powerDraw"] = round(last_power_draw) data["cellCharge"] = cell ? cell.charge : 0 data["cellMaxCharge"] = cell ? cell.maxcharge : 1 data["on"] = on ? 1 : 0 @@ -137,7 +138,7 @@ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) - ui = new(user, src, ui_key, "portpump.tmpl", "Portable Pump", 480, 400, state = physical_state) + ui = new(user, src, ui_key, "portpump.tmpl", "Portable Pump", 480, 410, state = physical_state) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 026ca21dc47..1977e556467 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -103,6 +103,7 @@ data["rate"] = round(volume_rate) data["minrate"] = round(minrate) data["maxrate"] = round(maxrate) + data["powerDraw"] = round(last_power_draw) data["cellCharge"] = cell ? cell.charge : 0 data["cellMaxCharge"] = cell ? cell.maxcharge : 1 data["on"] = on ? 1 : 0 diff --git a/nano/templates/portpump.tmpl b/nano/templates/portpump.tmpl index 1152c4643d6..3e14aac8f92 100644 --- a/nano/templates/portpump.tmpl +++ b/nano/templates/portpump.tmpl @@ -17,6 +17,15 @@ +
+
+ Load: +
+
+ {{:data.powerDraw}} W +
+
+
Cell Charge: @@ -54,7 +63,7 @@

Power Regulator Status

- Volume Rate: + Target Pressure:
{{:helper.displayBar(data.targetpressure, data.minpressure, data.maxpressure)}} @@ -63,7 +72,7 @@ {{:helper.link('-', null, {'pressure_adj' : -100}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} {{:helper.link('-', null, {'pressure_adj' : -10}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} {{:helper.link('-', null, {'pressure_adj' : -1}, (data.targetpressure > data.minpressure) ? null : 'disabled')}} -
 {{:data.targetpressure}} L/s 
+
 {{:data.targetpressure}} kPa 
{{:helper.link('+', null, {'pressure_adj' : 1}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} {{:helper.link('+', null, {'pressure_adj' : 10}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} {{:helper.link('+', null, {'pressure_adj' : 100}, (data.targetpressure < data.maxpressure) ? null : 'disabled')}} diff --git a/nano/templates/portscrubber.tmpl b/nano/templates/portscrubber.tmpl index a53d7a2419d..c99f53344c4 100644 --- a/nano/templates/portscrubber.tmpl +++ b/nano/templates/portscrubber.tmpl @@ -17,6 +17,15 @@
+
+
+ Load: +
+
+ {{:data.powerDraw}} W +
+
+
Cell Charge: