diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
index ceecee64a01..dada5293e87 100644
--- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
@@ -97,7 +97,7 @@ Passive gate is similar to the regular pump except:
if(stat & (BROKEN|NOPOWER)) return
ui_interact(user)
-/obj/machinery/atmospherics/components/binary/passive_gate/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/atmospherics/components/binary/passive_gate/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "atmos_gas_pump.tmpl", name, 400, 120)
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index 0d1de20304e..802a129e069 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -105,7 +105,7 @@ Thus, the two variables affect pump operation are set in New():
return
ui_interact(user)
-/obj/machinery/atmospherics/components/binary/pump/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/atmospherics/components/binary/pump/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "atmos_gas_pump.tmpl", name, 400, 120)
diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
index 26960d40c03..299f27e0b65 100644
--- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm
@@ -101,7 +101,7 @@ Thus, the two variables affect pump operation are set in New():
return
ui_interact(user)
-/obj/machinery/atmospherics/components/binary/volume_pump/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/atmospherics/components/binary/volume_pump/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "atmos_gas_pump.tmpl", name, 400, 120)
diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm
index a5437886bd8..e3c21462bcd 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm
@@ -167,7 +167,7 @@ Filter types:
return
ui_interact(user)
-/obj/machinery/atmospherics/components/trinary/filter/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/atmospherics/components/trinary/filter/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "atmos_gas_pump.tmpl", name, 400, 320)
diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
index fa774a21cb2..7c468679bc5 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
@@ -130,7 +130,7 @@
return
ui_interact(user)
-/obj/machinery/atmospherics/components/trinary/mixer/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/atmospherics/components/trinary/mixer/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "atmos_gas_pump.tmpl", name, 400, 320)
diff --git a/code/ATMOSPHERICS/components/unary_devices/cryo.dm b/code/ATMOSPHERICS/components/unary_devices/cryo.dm
index a265b6af912..c70f160d3e1 100644
--- a/code/ATMOSPHERICS/components/unary_devices/cryo.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/cryo.dm
@@ -127,7 +127,7 @@
if(user == occupant || user.stat || panel_open) return
ui_interact(user)
-/obj/machinery/atmospherics/components/unary/cryo_cell/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/atmospherics/components/unary/cryo_cell/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "cryo.tmpl", name, 520, 410)
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 6507d271361..23d7ed07dac 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -183,7 +183,7 @@
if(panel_open && !istype(user, /mob/living/silicon/ai)) wires.Interact(user)
else if (!shorted) ui_interact(user)
-/obj/machinery/alarm/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/alarm/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "air_alarm.tmpl", name, 460, 625)
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index 331019831c3..e420bfbaba7 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -1,3 +1,7 @@
+#define CAN_MAX_RELEASE_PRESSURE (ONE_ATMOSPHERE*10)
+#define CAN_MIN_RELEASE_PRESSURE (ONE_ATMOSPHERE/10)
+#define CAN_DEFAULT_RELEASE_PRESSURE (ONE_ATMOSPHERE)
+
/obj/machinery/portable_atmospherics/canister
name = "canister"
desc = "A canister for the storage of gas."
@@ -268,26 +272,29 @@ update_flag
add_fingerprint(user)
ui_interact(user)
-/obj/machinery/portable_atmospherics/canister/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/portable_atmospherics/canister/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
- ui = new(user, src, ui_key, "canister.tmpl", name, 480, 400)
+ ui = new(user, src, ui_key, "canister.tmpl", name, 470, 400)
ui.open()
/obj/machinery/portable_atmospherics/canister/get_ui_data()
var/data = list()
- data["name"] = src.name
- data["canLabel"] = src.can_label ? 1 : 0
- data["portConnected"] = src.connected_port ? 1 : 0
- data["tankPressure"] = round(src.air_contents.return_pressure() ? src.air_contents.return_pressure() : 0)
- data["releasePressure"] = round(src.release_pressure ? src.release_pressure : 0)
- data["minReleasePressure"] = round(ONE_ATMOSPHERE/10)
- data["maxReleasePressure"] = round(10*ONE_ATMOSPHERE)
- data["valveOpen"] = src.valve_open ? 1 : 0
+ data["name"] = name
+ data["canLabel"] = can_label ? 1 : 0
+ data["portConnected"] = connected_port ? 1 : 0
+ data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0)
+ data["releasePressure"] = round(release_pressure ? release_pressure : 0)
+ data["defaultReleasePressure"] = round(CAN_DEFAULT_RELEASE_PRESSURE)
+ data["minReleasePressure"] = round(CAN_MIN_RELEASE_PRESSURE)
+ data["maxReleasePressure"] = round(CAN_MAX_RELEASE_PRESSURE)
+ data["valveOpen"] = valve_open ? 1 : 0
- data["hasHoldingTank"] = src.holding ? 1 : 0
+ data["hasHoldingTank"] = holding ? 1 : 0
if (holding)
- data["holdingTank"] = list("name" = src.holding.name, "tankPressure" = round(src.holding.air_contents.return_pressure()))
+ data["holdingTank"] = list()
+ data["holdingTank"]["name"] = holding.name
+ data["holdingTank"]["tankPressure"] = round(holding.air_contents.return_pressure())
return data
/obj/machinery/portable_atmospherics/canister/Topic(href, href_list)
@@ -320,14 +327,21 @@ update_flag
investigate_log("[key_name(usr)] removed the [holding], leaving the valve open and transfering into the air
", "atmos")
holding.loc = loc
holding = null
-
- if (href_list["pressure_adj"])
- var/diff = text2num(href_list["pressure_adj"])
- if(diff > 0)
- release_pressure = min(10*ONE_ATMOSPHERE, release_pressure+diff)
+ if (href_list["release_p"])
+ if (href_list["release_p"] == "custom")
+ var/custom = input(usr, "What rate do you set the regulator to? The dial reads from [CAN_MIN_RELEASE_PRESSURE] to [CAN_MAX_RELEASE_PRESSURE].") as null|num
+ if(isnum(custom))
+ href_list["release_p"] = custom
+ .()
+ else if (href_list["release_p"] == "reset")
+ release_pressure = CAN_DEFAULT_RELEASE_PRESSURE
+ else if (href_list["release_p"] == "min")
+ release_pressure = CAN_MIN_RELEASE_PRESSURE
+ else if (href_list["release_p"] == "max")
+ release_pressure = CAN_MAX_RELEASE_PRESSURE
else
- release_pressure = max(ONE_ATMOSPHERE/10, release_pressure+diff)
-
+ release_pressure = text2num(href_list["release_p"])
+ release_pressure = min(max(round(release_pressure), CAN_MIN_RELEASE_PRESSURE), CAN_MAX_RELEASE_PRESSURE)
if (href_list["relabel"])
if (can_label)
var/list/colors = list(\
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 52f7d830f89..da3e73dd395 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -1,4 +1,5 @@
-#define TANK_MAX_RELEASE_PRESSURE (3*ONE_ATMOSPHERE)
+#define TANK_MAX_RELEASE_PRESSURE (ONE_ATMOSPHERE*3)
+#define TANK_MIN_RELEASE_PRESSURE 0
#define TANK_DEFAULT_RELEASE_PRESSURE (ONE_ATMOSPHERE*O2STANDARD)
/obj/item/weapon/tank
@@ -114,13 +115,13 @@
interact(user)
/obj/item/weapon/tank/interact(mob/user)
- if (!(src.air_contents)) return
+ add_fingerprint(user)
ui_interact(user)
-/obj/item/weapon/tank/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, force_open = 1)
+/obj/item/weapon/tank/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
- ui = new(user, src, ui_key, "tanks.tmpl", name, 500, 300)
+ ui = new(user, src, ui_key, "tanks.tmpl", name, 525, 175, state = inventory_state)
ui.open()
/obj/item/weapon/tank/get_ui_data()
@@ -135,6 +136,7 @@
data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0)
data["releasePressure"] = round(distribute_pressure ? distribute_pressure : 0)
data["defaultReleasePressure"] = round(TANK_DEFAULT_RELEASE_PRESSURE)
+ data["minReleasePressure"] = round(TANK_MIN_RELEASE_PRESSURE)
data["maxReleasePressure"] = round(TANK_MAX_RELEASE_PRESSURE)
data["valveOpen"] = 0
data["maskConnected"] = 0
@@ -158,47 +160,38 @@
if (..()) return
if (usr.stat|| usr.restrained()) return
- if (src.loc == usr)
- if (href_list["dist_p"])
- if (href_list["dist_p"] == "reset")
- src.distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
- else if (href_list["dist_p"] == "max")
- src.distribute_pressure = TANK_MAX_RELEASE_PRESSURE
- else
- var/cp = text2num(href_list["dist_p"])
- src.distribute_pressure += cp
- src.distribute_pressure = min(max(round(src.distribute_pressure), 0), 3*ONE_ATMOSPHERE)
- if (href_list["stat"])
- if(istype(loc,/mob/living/carbon))
- var/mob/living/carbon/location = loc
- if(location.internal == src)
- location.internal = null
+ if (href_list["dist_p"])
+ if (href_list["dist_p"] == "custom")
+ var/custom = input(usr, "What rate do you set the regulator to? The dial reads from 0 to [TANK_MAX_RELEASE_PRESSURE].") as null|num
+ if(isnum(custom))
+ href_list["dist_p"] = custom
+ .()
+ else if (href_list["dist_p"] == "reset")
+ distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
+ else if (href_list["dist_p"] == "min")
+ distribute_pressure = TANK_MIN_RELEASE_PRESSURE
+ else if (href_list["dist_p"] == "max")
+ distribute_pressure = TANK_MAX_RELEASE_PRESSURE
+ else
+ distribute_pressure = text2num(href_list["dist_p"])
+ distribute_pressure = min(max(round(distribute_pressure), TANK_MIN_RELEASE_PRESSURE), TANK_MAX_RELEASE_PRESSURE)
+ if (href_list["stat"])
+ if(istype(loc,/mob/living/carbon))
+ var/mob/living/carbon/location = loc
+ if(location.internal == src)
+ location.internal = null
+ location.internals.icon_state = "internal0"
+ usr << "You close the tank release valve."
+ if (location.internals)
location.internals.icon_state = "internal0"
- usr << "You close the tank release valve."
+ else
+ if(location.wear_mask && (location.wear_mask.flags & MASKINTERNALS))
+ location.internal = src
+ usr << "You open \the [src] valve."
if (location.internals)
- location.internals.icon_state = "internal0"
+ location.internals.icon_state = "internal1"
else
- if(location.wear_mask && (location.wear_mask.flags & MASKINTERNALS))
- location.internal = src
- usr << "You open \the [src] valve."
- if (location.internals)
- location.internals.icon_state = "internal1"
- else
- usr << "You need something to connect to \the [src]!"
-
- src.add_fingerprint(usr)
-/*
- * the following is needed for a tank lying on the floor. But currently we restrict players to use not weared tanks as intrals. --rastaf
- for(var/mob/M in viewers(1, src.loc))
- if ((M.client && M.machine == src))
- src.attack_self(M)
-*/
- src.attack_self(usr)
- else
- usr << browse(null, "window=tank")
- return
- return
-
+ usr << "You need something to connect to \the [src]!"
/obj/item/weapon/tank/remove_air(amount)
return air_contents.remove(amount)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 3e31edfbff9..bf39d7dc76d 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -630,7 +630,7 @@
if(wiresexposed && !istype(user, /mob/living/silicon/ai)) wires.Interact(user)
else ui_interact(user)
-/obj/machinery/power/apc/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/power/apc/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "apc.tmpl", name, 515, 550)
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index c55ad9d5139..a5f2c779a01 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -322,7 +322,7 @@
if (stat & BROKEN) return
ui_interact(user)
-/obj/machinery/power/smes/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/power/smes/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "smes.tmpl", name, 500, 400)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 3edb8d760f9..d7a58ac043f 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -365,10 +365,10 @@
if (stat & BROKEN) return
ui_interact(user)
-/obj/machinery/power/solar_control/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/power/solar_control/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
- ui = new(user, src, ui_key, "solar_control.tmpl", name, 490, 420)
+ ui = new(user, src, ui_key, "solar_control.tmpl", name, 490, 395)
ui.open()
/obj/machinery/power/solar_control/get_ui_data()
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index b701d77aaca..6dc4ded5c2a 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -64,7 +64,7 @@
if(stat & BROKEN) return
ui_interact(user)
-/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "chem_dispenser.tmpl", name, 490, 710)
@@ -1486,7 +1486,7 @@
if(stat & BROKEN) return
ui_interact(user)
-/obj/machinery/chem_heater/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1)
+/obj/machinery/chem_heater/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0)
SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
if (!ui)
ui = new(user, src, ui_key, "chem_heater.tmpl", name, 350, 270)
diff --git a/nano/css/shared.css b/nano/css/shared.css
index f7e282ab0cf..3fef6b12e06 100644
--- a/nano/css/shared.css
+++ b/nano/css/shared.css
@@ -9,7 +9,7 @@ body {
}
#uiNoScript {
- margin: 33% auto;
+ margin: 33% auto;
width: 50%;
height: 33%;
background: #ffffff;
@@ -309,6 +309,10 @@ div.notice {
margin: 3px 0;
}
+.statusDisplay .itemLabelNarrow, .statusDisplay .itemLabel, .statusDisplay .itemLabelWide, .statusDisplay .itemLabelWider, .statusDisplay .itemLabelWidest {
+ color: #98B0C3;
+}
+
.statusDisplayRecords {
background: #000000;
color: #ffffff;
@@ -319,17 +323,6 @@ div.notice {
overflow-y: auto;
}
-.statusLabel {
- width: 138px;
- float: left;
- overflow: hidden;
- color: #98B0C3;
-}
-
-.statusValue {
- float: left;
-}
-
.block {
padding: 8px;
margin: 10px 4px 4px 4px;
diff --git a/nano/templates/apc.tmpl b/nano/templates/apc.tmpl
index 14221779b05..83d2490e866 100644
--- a/nano/templates/apc.tmpl
+++ b/nano/templates/apc.tmpl
@@ -141,7 +141,7 @@