diff --git a/code/ATMOSPHERICS/components/omni_devices/filter.dm b/code/ATMOSPHERICS/components/omni_devices/filter.dm
index ff558a13e9..49d6cd0d53 100644
--- a/code/ATMOSPHERICS/components/omni_devices/filter.dm
+++ b/code/ATMOSPHERICS/components/omni_devices/filter.dm
@@ -2,15 +2,10 @@
// Gas filter - omni variant
//--------------------------------------------
/obj/machinery/atmospherics/omni/filter
- name = "Omni gas filter"
+ name = "omni gas filter"
icon = 'icons/obj/atmospherics/omni_devices.dmi'
icon_state = ""
- tag_north = ATM_OUTPUT
- tag_south = ATM_INPUT
- tag_east = ATM_O2
- tag_west = ATM_N2
-
var/list/filters = new()
var/datum/omni_port/input
var/datum/omni_port/output
@@ -128,7 +123,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data)
if (!ui)
- ui = new(user, src, ui_key, "omni_filter.tmpl", name, 330, 330)
+ ui = new(user, src, ui_key, "omni_filter.tmpl", "Omni Filter Control", 330, 330)
ui.set_initial_data(data)
ui.open()
diff --git a/code/ATMOSPHERICS/components/omni_devices/mixer.dm b/code/ATMOSPHERICS/components/omni_devices/mixer.dm
index 45d208fbb1..4c3fb13561 100644
--- a/code/ATMOSPHERICS/components/omni_devices/mixer.dm
+++ b/code/ATMOSPHERICS/components/omni_devices/mixer.dm
@@ -2,14 +2,9 @@
// Gas mixer - omni variant
//--------------------------------------------
/obj/machinery/atmospherics/omni/mixer
- name = "Omni gas mixer"
+ name = "omni gas mixer"
icon = 'icons/obj/atmospherics/omni_devices.dmi'
- tag_north = ATM_OUTPUT
- tag_south = ATM_INPUT
- tag_east = ATM_INPUT
- tag_west = ATM_INPUT
-
var/list/inputs = new()
var/datum/omni_port/output
@@ -112,7 +107,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data)
if (!ui)
- ui = new(user, src, ui_key, "omni_mixer.tmpl", name, 360, 330)
+ ui = new(user, src, ui_key, "omni_mixer.tmpl", "Omni Mixer Control", 360, 330)
ui.set_initial_data(data)
ui.open()
diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm
index 2fe89e72ad..79056c1ed5 100644
--- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm
+++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm
@@ -2,6 +2,7 @@
// Base omni device
//--------------------------------------------
/obj/machinery/atmospherics/omni
+ name = "omni device"
icon_state = ""
dir = SOUTH
use_power = 1
@@ -81,23 +82,14 @@
if(!istype(W, /obj/item/weapon/wrench))
return ..()
- var/turf/T = src.loc
- if(level==1 && isturf(T) && T.intact)
- user << "\red You must remove the plating first."
- return 1
- var/datum/gas_mixture/int_air = return_air()
- var/datum/gas_mixture/env_air = loc.return_air()
- if((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
- user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
- add_fingerprint(user)
- return 1
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
+
user << "\blue You begin to unfasten \the [src]..."
+ playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
- "You hear ratchet.")
+ "You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
del(src)
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index 6c38715796..864e893dc9 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -30,6 +30,8 @@ Buildable meters
#define PIPE_GAS_FILTER_M 23
#define PIPE_GAS_MIXER_T 24
#define PIPE_GAS_MIXER_M 25
+#define PIPE_OMNI_MIXER 26
+#define PIPE_OMNI_FILTER 27
/obj/item/pipe
name = "pipe"
@@ -98,6 +100,10 @@ Buildable meters
src.pipe_type = PIPE_MANIFOLD4W
else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap))
src.pipe_type = PIPE_CAP
+ else if(istype(make_from, /obj/machinery/atmospherics/omni/mixer))
+ src.pipe_type = PIPE_OMNI_MIXER
+ else if(istype(make_from, /obj/machinery/atmospherics/omni/filter))
+ src.pipe_type = PIPE_OMNI_FILTER
///// Z-Level stuff
else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/up))
src.pipe_type = PIPE_UP
@@ -144,6 +150,8 @@ Buildable meters
"gas filter m", \
"gas mixer t", \
"gas mixer m", \
+ "omni mixer", \
+ "omni filter"
)
name = nlist[pipe_type+1] + " fitting"
var/list/islist = list( \
@@ -175,6 +183,8 @@ Buildable meters
"m_filter", \
"t_mixer", \
"m_mixer", \
+ "omni_mixer", \
+ "omni_filter"
)
icon_state = islist[pipe_type + 1]
@@ -239,7 +249,7 @@ Buildable meters
return dir //dir|acw
if(PIPE_CONNECTOR,PIPE_UVENT,PIPE_SCRUBBER,PIPE_HEAT_EXCHANGE)
return dir
- if(PIPE_MANIFOLD4W)
+ if(PIPE_MANIFOLD4W, PIPE_OMNI_MIXER, PIPE_OMNI_FILTER)
return dir|flip|cw|acw
if(PIPE_MANIFOLD)
return flip|cw|acw
@@ -304,7 +314,7 @@ Buildable meters
dir = 1
else if(dir==8)
dir = 4
- else if (pipe_type == PIPE_MANIFOLD4W)
+ else if (pipe_type in list(PIPE_MANIFOLD4W, PIPE_OMNI_MIXER, PIPE_OMNI_FILTER))
dir = 2
var/pipe_dir = get_pipe_dir()
@@ -732,6 +742,18 @@ Buildable meters
P.node2.initialize()
P.node2.build_network()
///// Z-Level stuff
+ if(PIPE_OMNI_MIXER)
+ var/obj/machinery/atmospherics/omni/mixer/P = new(loc)
+ var/turf/T = P.loc
+ P.level = T.intact ? 2 : 1
+ P.initialize()
+ P.build_network()
+ if(PIPE_OMNI_FILTER)
+ var/obj/machinery/atmospherics/omni/filter/P = new(loc)
+ var/turf/T = P.loc
+ P.level = T.intact ? 2 : 1
+ P.initialize()
+ P.build_network()
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user.visible_message( \
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index 558f54118c..c8b6962458 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -38,6 +38,8 @@
Gas Mixer
Gas Mixer-Mirrored
Gas Mixer-T
+Omni Gas Mixer
+Omni Gas Filter
Heat exchange:
Pipe
Bent Pipe
diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi
index 65a10a3055..b364598bee 100644
Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ